Task #18786
openTask #19100: Sprint Planning for 17/11/2025 - 28/11/2025
Displaying the Air File Reference List
72%
Description
As an Operations Officer, I need to view a sortable and filterable list of all file references so I can quickly find and access shipment details.
Acceptance Criteria:
- Display a nested table showing master and house file details.
- Include key columns: dates, file numbers, flight info, ports, status, and action options.
- Enable filtering and sorting by all table columns.
Deliverables¶
-
UI/UX Design Mockup: A visual mockup of the File Reference List page showing the layout, table structure, and nested rows. This includes the placement of search, sort, and filter controls.
-
Master Row:
Creation DateMaster File ReferenceFile Reference No.FlightETAPort of OriginPort of DestinationStatus-
Option(e.g., Select, Download Cost/Sales Report, Clone)
-
House Row (nested under each master row):
House BL No.ShipperConsigneeAirport of OriginNumber of PiecesWeight (KGS)Volume (MC)HBL State-
Options(e.g., Edit, Download and share)
-
Master Row:
-
API Specification:
-
Endpoint: A RESTful API endpoint, e.g.,
GET /api/file-references, to retrieve the list of file references. This endpoint should be paginated. -
Request Parameters:
-
sort_by: Field to sort the list (e.g.,creation_date,file_reference_no). -
sort_order:ascordesc. -
filters: JSON object for filtering by any displayed column (e.g.,status=in_progress). -
page: Page number for pagination. -
limit: Number of records per page.
-
- Response Body: A JSON payload containing an array of master file objects, with each object including a nested array of its corresponding house file objects.
-
Endpoint: A RESTful API endpoint, e.g.,
-
Front-end Components:
- File Reference Table Component: A reusable component that renders the nested table structure.
- Filter and Search Component: UI elements for searching by keywords and filtering by specific criteria like status or port.
- Sorting Logic: Implementation of client-side or server-side sorting for all relevant columns.
- Pagination Component: Controls to navigate through multiple pages of results.
-
Action Buttons/Dropdowns: Functional buttons within the
Optioncolumn for each row.
-
Back-end Logic:
- Database Query: A query to efficiently retrieve master and nested house file records from the database. The query should support the sorting and filtering parameters from the API request.
- Data Transformation: Logic to format the retrieved data into the specified JSON structure for the API response.
- Security: Ensure the endpoint requires proper authentication and authorization to access the data.
-
Performance Optimization: Index the database columns used for sorting and filtering (
creation_date,status, etc.) to ensure fast retrieval of data.
-
Technical Documentation:
- Detailed API documentation including the endpoint, parameters, and response structure.
- Instructions for setting up and running the front-end and back-end components.
GitLab Sync Log
[{"id": "30849", "author": "Al-Shad Isaac", "hours": 1.0, "created": "2025-09-24T07:07:12.947Z", "log_date": "2025-09-24", "comment": "Imported from GitLab by @Al-Shad Isaac on 2025-09-24T07:07:12.947Z: 1h-(1.0)h spend at: 2025-09-24", "status": "active", "deleted_by": "", "redmine_entry_id": 10386}, {"id": "30958", "author": "Al-Shad Isaac", "hours": 1.0, "created": "2025-09-25T12:17:48.107Z", "log_date": "2025-09-25", "comment": "Imported from GitLab by @Al-Shad Isaac on 2025-09-25T12:17:48.107Z: 1h-(1.0)h spend at: 2025-09-25", "status": "active", "deleted_by": "", "redmine_entry_id": 10403}, {"id": "31283", "author": "Ankush Sookaloo", "hours": 1.5, "created": "2025-10-02T09:32:43.160Z", "log_date": "2025-09-28", "comment": "Imported from GitLab by @Ankush Sookaloo on 2025-10-02T09:32:43.160Z: 1h 30m-(1.5)h spend at: 2025-09-28", "status": "active", "deleted_by": "", "redmine_entry_id": 10562}, {"id": "31282", "author": "Ankush Sookaloo", "hours": 6.0, "created": "2025-10-02T09:30:32.550Z", "log_date": "2025-09-25", "comment": "Imported from GitLab by @Ankush Sookaloo on 2025-10-02T09:30:32.550Z: 6h-(6.0)h spend at: 2025-09-25", "status": "active", "deleted_by": "", "redmine_entry_id": 10563}, {"id": "31279", "author": "Ankush Sookaloo", "hours": 6.0, "created": "2025-10-02T09:29:41.621Z", "log_date": "2025-09-24", "comment": "Imported from GitLab by @Ankush Sookaloo on 2025-10-02T09:29:41.621Z: 6h-(6.0)h spend at: 2025-09-24", "status": "active", "deleted_by": "", "redmine_entry_id": 10564}, {"id": "31577", "author": "Ankush Sookaloo", "hours": 3.0, "created": "2025-10-07T04:31:07.694Z", "log_date": "2025-10-05", "comment": "Imported from GitLab by @Ankush Sookaloo on 2025-10-07T04:31:07.694Z: 3h-(3.0)h spend at: 2025-10-05", "status": "active", "deleted_by": "", "redmine_entry_id": 10653}, {"id": "31754", "author": "Gilles Mahomudally", "hours": 8.0, "created": "2025-10-09T09:55:13.587Z", "log_date": "2025-10-05", "comment": "Imported from GitLab by @Gilles Mahomudally on 2025-10-09T09:55:13.587Z: 1d-(8.0)h spend at: 2025-10-05", "status": "deleted", "deleted_by": "31755", "redmine_entry_id": 10703}, {"id": "31971", "author": "Gilles Mahomudally", "hours": 8.0, "created": "2025-10-14T11:31:56.348Z", "log_date": "2025-10-13", "comment": "Imported from GitLab by @Gilles Mahomudally on 2025-10-14T11:31:56.348Z: 1d-(8.0)h spend at: 2025-10-13", "status": "deleted", "deleted_by": "", "redmine_entry_id": 10784}, {"id": "31965", "author": "Ankush Sookaloo", "hours": 4.0, "created": "2025-10-14T09:31:14.008Z", "log_date": "2025-10-13", "comment": "Imported from GitLab by @Ankush Sookaloo on 2025-10-14T09:31:14.008Z: 4h-(4.0)h spend at: 2025-10-13", "status": "active", "deleted_by": "", "redmine_entry_id": 10785}, {"id": "31964", "author": "Ankush Sookaloo", "hours": 6.0, "created": "2025-10-14T09:29:36.305Z", "log_date": "2025-10-09", "comment": "Imported from GitLab by @Ankush Sookaloo on 2025-10-14T09:29:36.305Z: 6h-(6.0)h spend at: 2025-10-09", "status": "active", "deleted_by": "", "redmine_entry_id": 10786}, {"id": "32466", "author": "Al-Shad Isaac", "hours": 0.5, "created": "2025-10-22T12:01:53.720Z", "log_date": "2025-10-22", "comment": "Imported from GitLab by @Al-Shad Isaac on 2025-10-22T12:01:53.720Z: 30m-(0.5)h spend at: 2025-10-22", "status": "active", "deleted_by": "", "redmine_entry_id": 10943}]