Project

General

Profile

Actions

Task #18786

open

Task #19100: Sprint Planning for 17/11/2025 - 28/11/2025

Displaying the Air File Reference List

Added by Redmine Admin 3 months ago. Updated about 1 hour ago.

Status:
Development Done
Priority:
Normal
Assignee:
-
Start date:
09/24/2025
Due date:
10/10/2025 (about 2 months late)
% Done:

72%

Estimated time:
40:00 h
Spent time:
GitLab ID:
3257
GitLab Milestone:
GitLab Ticket Number:
924
GitLab Time Logged:
104400
Lock Timeline Date:
No
gitlab project trace:
Sprint Planning for 17/11/2025 - 28/11/2025

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

  1. 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 Date
      • Master File Reference
      • File Reference No.
      • Flight
      • ETA
      • Port of Origin
      • Port of Destination
      • Status
      • Option (e.g., Select, Download Cost/Sales Report, Clone)
    • House Row (nested under each master row):
      • House BL No.
      • Shipper
      • Consignee
      • Airport of Origin
      • Number of Pieces
      • Weight (KGS)
      • Volume (MC)
      • HBL State
      • Options (e.g., Edit, Download and share)
  2. 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: asc or desc.
      • 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.
  3. 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 Option column for each row.
  4. 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.
  5. 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}]

Actions #1

Updated by Redmine Admin 3 months ago

  • GitLab Sync Log updated (diff)
Actions #2

Updated by Redmine Admin 3 months ago

  • Due date changed from 09/24/2025 to 10/03/2025
  • % Done changed from 0 to 2
  • Estimated time changed from 0:00 h to 40:00 h
  • Parent task set to #18731
  • GitLab Time Logged changed from 0 to 3600
  • gitlab project trace set to Sprint Planning for 22/09/2025 - 03/10/2025
Actions #3

Updated by Redmine Admin 3 months ago

  • GitLab Sync Log updated (diff)
Actions #4

Updated by Redmine Admin 3 months ago

  • % Done changed from 2 to 5
  • GitLab Time Logged changed from 3600 to 7200
Actions #5

Updated by Redmine Admin 3 months ago

  • GitLab Sync Log updated (diff)
Actions #6

Updated by Redmine Admin 2 months ago

  • % Done changed from 5 to 38
  • GitLab Time Logged changed from 7200 to 55800
Actions #7

Updated by Redmine Admin 2 months ago

  • GitLab Sync Log updated (diff)
Actions #8

Updated by Redmine Admin 2 months ago

  • Due date changed from 10/03/2025 to 10/10/2025
  • Parent task changed from #18731 to #18862
  • gitlab project trace changed from Sprint Planning for 22/09/2025 - 03/10/2025 to Sprint Planning for 06/10/2025 - 17/10/2025
Actions #9

Updated by Redmine Admin 2 months ago

  • % Done changed from 38 to 46
  • GitLab Time Logged changed from 55800 to 66600
Actions #10

Updated by Redmine Admin 2 months ago

  • GitLab Sync Log updated (diff)
Actions #11

Updated by Redmine Admin 2 months ago

  • GitLab Sync Log updated (diff)
Actions #12

Updated by Redmine Admin about 2 months ago

  • % Done changed from 46 to 91
  • GitLab Time Logged changed from 66600 to 131400
Actions #13

Updated by Redmine Admin about 2 months ago

  • GitLab Sync Log updated (diff)
Actions #14

Updated by Redmine Admin about 2 months ago

  • % Done changed from 91 to 71
  • GitLab Time Logged changed from 131400 to 102600
Actions #15

Updated by Redmine Admin about 2 months ago

  • GitLab Sync Log updated (diff)
Actions #16

Updated by Redmine Admin about 2 months ago

  • % Done changed from 71 to 72
  • GitLab Time Logged changed from 102600 to 104400
Actions #17

Updated by Redmine Admin about 2 months ago

  • GitLab Sync Log updated (diff)
Actions #18

Updated by Redmine Admin 23 days ago

  • Parent task changed from #18862 to #19100
  • gitlab project trace changed from Sprint Planning for 06/10/2025 - 17/10/2025 to Sprint Planning for 17/11/2025 - 28/11/2025
Actions #19

Updated by Redmine Admin 9 days ago

  • Status changed from New to Development Done
Actions

Also available in: Atom PDF