Django Application for TSV File Management and Display

Job ID: 38585298

Budget: $30 – $250 CAD

We are seeking an experienced Django developer to create a web application that handles the loading and display of TSV (Tab-Separated Values) files from a local directory. The application will allow users to interact with the TSV files through a dynamic web interface, providing features for sorting, filtering, tagging, and viewing detailed row information.

Key Features

Recursive File Loading:
The application should recursively scan a specified local directory and its subdirectories to list all TSV files.
Users should be able to select one or more TSV files from the list to display.

Table Display:
Display the content of the selected TSV files in a table format.
Implement headers that allow for sorting by clicking on the header title.
Implement text-based filtering with input fields below each header to filter rows dynamically.

Pagination:
Load and display rows in chunks of 2000 at a time to optimize performance and improve user experience.

Row Selection and Details Pane:
Allow users to select a row to view detailed information.
Display a "details" pane showing the data for each column of the selected row in a vertical format.

Tagging System:
Implement a right-click context menu on rows to apply or remove tags.
Tags should be selectable from a predefined list of labels and colors.
Highlight tagged rows with the corresponding color.

Tag Management:
Store tags in JSON files associated with each TSV file. This approach ensures that the original TSV files remain unmodified.
Ensure that when a TSV file is reloaded, any previously applied tags are correctly displayed.

Deliverables

Django Project Setup:
Create a new Django project with the necessary configurations.

App Development:
Develop a Django app (docview) for managing TSV files.
Implement file loading, table display, pagination, and filtering features.
Develop the row selection and details pane functionality.
Integrate the tagging system with a context menu and color highlighting.

Tag Storage and Management:
Create a system to store tags in JSON format.
Implement functionality to load and display tags from JSON files.

User Interface:
Design and implement a user-friendly web interface for interacting with TSV files.
Ensure that the interface is responsive and performs well with large datasets.

Documentation:
Provide documentation on how to set up and use the application.
Include instructions for configuring the local directory and managing tags.

Requirements
Proven experience with Django and web development.
Knowledge of handling large datasets and optimizing web performance.
Familiarity with JavaScript and front-end technologies for interactive elements.
Ability to work with file I/O and JSON data formats.

Timeline
The project is expected to be completed within 7 days. Please provide an estimated timeline and availability.

If you have the expertise to deliver this project, please provide examples of similar work, your approach to handling large datasets, and your estimated timeline and budget. We look forward to working with you!