19 KiB
Garage Management System — Feature Implementation Checklist
Generated: April 3, 2026 Dependency Order Reference: Postman API Collection (
packages/api/postman/collection.json) Status Source of Truth: Implemented API clients inpackages/api/src/clientsand implemented dashboard modules inapps/dashboard/modulesOrdered by: Dependency level (no dependencies → most complex relations)
How to Read This Checklist
- ✅ Client + UI Module = matching API client exists and a matching dashboard module exists
- 🔧 API Client Only = matching API client exists, but no dedicated dashboard module was found
- 🧩 UI Module Only = matching dashboard module exists, but no matching API client was found
- ⬜ Not Started = no matching client or module was found
- Module = a dedicated top-level form, inline form, or resource subform inside
apps/dashboard/modules - Lookup usage only (for example an async select inside another form) does not count as a module
- Depends on = other resources that must exist before this one (based on foreign keys in the Postman collection)
Level 0 — Zero Dependencies (Standalone Reference Data)
These resources have no foreign key references. They are the foundation.
| # | Resource | Status | Implementation Details |
|---|---|---|---|
| 1 | Auth (Login / Profile / Logout) | ✅ Client + UI Module | Client: AuthClient · Module: auth/login-form.tsx |
| 2 | Countries | 🔧 API Client Only | Client: GeoClient.countries() · Module: none |
| 3 | Customer Types | 🔧 API Client Only | Client: CustomersClient.listCustomerTypes() · Module: none |
| 4 | Referral Sources | 🔧 API Client Only | Client: ReferralSourcesClient · Module: none |
| 5 | Payment Terms | 🔧 API Client Only | Client: PaymentTermsClient · Module: none |
| 6 | Payment Modes | 🔧 API Client Only | Client: PaymentsClient.listModes() · Module: none |
| 7 | Shop Types | ✅ Client + UI Module | Client: ShopTypesClient · Module: settings/shop-type/shop-type-form.tsx |
| 8 | Vehicle Body Types | ✅ Client + UI Module | Client: VehicleAttributesClient.listBodyTypes() · Module: vehicles/inline-forms/body-type-inline-form.tsx |
| 9 | Vehicle Fuel Types | ✅ Client + UI Module | Client: VehicleAttributesClient.listFuelTypes() · Module: vehicles/inline-forms/fuel-type-inline-form.tsx |
| 10 | Vehicle Transmissions | ✅ Client + UI Module | Client: VehicleAttributesClient.listTransmissions() · Module: vehicles/inline-forms/transmission-inline-form.tsx |
| 11 | Vehicle Colors | ✅ Client + UI Module | Client: VehicleAttributesClient.listColors() · Module: vehicles/inline-forms/color-inline-form.tsx |
| 12 | Document Types | ✅ Client + UI Module | Client: VehicleDocumentsClient.listDocumentTypes() · Module: vehicles/inline-forms/document-type-inline-form.tsx |
| 13 | Unit Types | ✅ Client + UI Module | Client: InventoryClient.listUnitTypes() · Module: services/inline-forms/unit-type-inline-form.tsx |
| 14 | Labels | 🔧 API Client Only | Client: LabelsClient · Module: none |
| 15 | Insurance Types | 🔧 API Client Only | Client: InsuranceTypesClient · Module: none |
| 16 | Inspection Categories | ✅ Client + UI Module | Client: InspectionsClient.listCategories() · Module: inspections/inline-forms/inspection-category-inline-form.tsx |
| 17 | Check Point Labels | 🔧 API Client Only | Client: InspectionsClient.listCheckpointLabels() · Module: none |
| 18 | Quick Remarks | 🔧 API Client Only | Client: EstimatesClient.listQuickRemarks() · Module: none |
| 19 | Quick Notes | 🔧 API Client Only | Client: EstimatesClient.listQuickNotes() · Module: none |
| 20 | Reasons | ⬜ Not Started | Client: none found · Module: none |
| 21 | Task Types | 🔧 API Client Only | Client: TasksClient.listTypes() · Module: none |
| 22 | Task Sections | 🔧 API Client Only | Client: TasksClient.listSections() · Module: none |
| 23 | Invoice Labels | 🔧 API Client Only | Client: InvoicesClient.listLabels() · Module: none |
| 24 | Holiday Years | ✅ Client + UI Module | Client: HolidayYearsClient · Module: settings/holiday-year/holiday-year-form.tsx |
| 25 | Taxes | ✅ Client + UI Module | Client: TaxesClient · Module: settings/tax-rates/tax-form.tsx |
| 26 | Departments | ✅ Client + UI Module | Client: DepartmentsClient · Module: services/inline-forms/department-inline-form.tsx |
| 27 | Labor Rates | 🔧 API Client Only | Client: InventoryClient.listLaborRates() · Module: none |
| 28 | Vendors | ✅ Client + UI Module | Client: VendorsClient · Module: vendors/vendor-form.tsx |
| 29 | Shop Calendars | ✅ Client + UI Module | Client: ShopCalendarsClient · Module: shop-calendars/shop-calendar-form.tsx |
| 30 | Shop Timings | ✅ Client + UI Module | Client: ShopTimingsClient · Module: shop-timings/shop-timing-form.tsx |
| 31 | Settings | ⬜ Not Started | Client: none in packages/api/src/clients · Module: none (tracked setting resources are listed separately) |
Level 1 — Single-Level Dependencies
These depend only on Level 0 resources.
| # | Resource | Status | Depends On | Implementation Details |
|---|---|---|---|---|
| 32 | States | 🔧 API Client Only | Countries | Client: GeoClient.states() · Module: none |
| 33 | Inventory Categories | ✅ Client + UI Module | Shop Types | Client: InventoryClient.listCategories() · Module: services/inline-forms/inventory-category-inline-form.tsx |
| 34 | Vendor Addresses | 🔧 API Client Only | Vendors, Countries, States | Client: VendorsClient.createAddress() / getAddress() · Module: none |
| 35 | Holidays | ⬜ Not Started | Holiday Years | Client: none dedicated · Module: none (HolidayYearForm covers years only) |
| 36 | Make and Models | ⬜ Not Started | Shop Types, Body Types, Fuel Types, Transmissions | Client: none dedicated · Module: none (vehicle form uses plain make/model fields) |
Level 2 — Core Business Entities
These depend on Level 0 + Level 1 resources and are used by many higher-level features.
| # | Resource | Status | Depends On | Implementation Details |
|---|---|---|---|---|
| 37 | Customers | ✅ Client + UI Module | Customer Types, Referral Sources, Payment Terms, Countries, States | Client: CustomersClient · Module: customers/customer-form.tsx |
| 38 | Vehicles | ✅ Client + UI Module | Shop Types, Body Types, Fuel Types, Transmissions, Colors | Client: VehiclesClient · Module: vehicles/vehicle-form.tsx |
| 39 | Expense Items | 🔧 API Client Only | Inventory Categories, Unit Types, Departments | Client: ExpensesClient.listItems() / createItem() · Module: none |
Level 3 — Operational Resources
These depend on Level 0–2 resources.
| # | Resource | Status | Depends On | Implementation Details |
|---|---|---|---|---|
| 40 | Employees | ✅ Client + UI Module | Departments, Shop Calendars, Shop Timings | Client: EmployeesClient · Module: employees/employee-form.tsx |
| 41 | Parts | ✅ Client + UI Module | Shop Types, Inventory Categories, Unit Types, Departments, Vendors | Client: PartsClient · Module: parts/part-form.tsx |
| 42 | Services | ✅ Client + UI Module | Shop Types, Inventory Categories, Unit Types, Departments | Client: ServicesClient · Module: services/service-form.tsx |
| 43 | Vehicle Documents | ✅ Client + UI Module | Vehicles, Document Types | Client: VehicleDocumentsClient.listDocuments() / createDocument() · Module: vehicles/vehicle-document-form.tsx |
| 44 | Vehicle Mileage | ✅ Client + UI Module | Vehicles | Client: VehicleDocumentsClient.listMileage() / createMileage() · Module: vehicles/mileage-form.tsx |
| 45 | Time Sheets | ⬜ Not Started | Employees | Client: none found · Module: none |
| 46 | Invoice Sequences | ⬜ Not Started | Departments | Client: none found · Module: none |
Level 4 — Composite Service Resources
These depend on Level 0–3 resources.
| # | Resource | Status | Depends On | Implementation Details |
|---|---|---|---|---|
| 47 | Service Groups | ✅ Client + UI Module | Shop Types, Inventory Categories, Unit Types, Departments | Client: ServiceGroupsClient · Module: service-groups/service-group-form.tsx |
| 48 | Service Group Includes | ⬜ Not Started | Service Groups | Client: none dedicated in ServiceGroupsClient · Module: none |
| 49 | Service Group Services | ⬜ Not Started | Service Groups, Services, Labor Rates, Taxes | Client: none dedicated in ServiceGroupsClient · Module: none |
| 50 | Service Group Parts | ⬜ Not Started | Service Groups, Parts, Taxes | Client: none dedicated in ServiceGroupsClient · Module: none |
| 51 | Service Group Pricings | ⬜ Not Started | Service Groups, Shop Types, Labor Rates, Fuel Types, Body Types | Client: none dedicated in ServiceGroupsClient · Module: none |
Level 5 — Workflow & Operations
These are core garage workflow features depending on customers, vehicles, employees, etc.
| # | Resource | Status | Depends On | Implementation Details |
|---|---|---|---|---|
| 52 | Inspections | ✅ Client + UI Module | Customers, Vehicles, Departments, Inspection Categories, Employees | Client: InspectionsClient · Module: inspections/inspection-form.tsx |
| 53 | Inspection Check Points | 🔧 API Client Only | Inspections, Check Point Labels | Client: InspectionsClient.listCheckpoints() / createCheckpoint() · Module: none |
| 54 | Estimates | ✅ Client + UI Module | Customers, Vehicles, Departments, Labels | Client: EstimatesClient · Module: estimates/estimate-form.tsx |
| 55 | Job Cards | ✅ Client + UI Module | Customers, Vehicles, Departments, Labels, Employees | Client: JobCardsClient · Module: job-cards/job-card-form.tsx + remark/recommendation subforms |
Level 6 — Financial & Scheduling
These depend on Job Cards and other Level 5 resources.
| # | Resource | Status | Depends On | Implementation Details |
|---|---|---|---|---|
| 56 | Appointments | ✅ Client + UI Module | Customers, Vehicles, Departments, Job Cards, Employees, Labels | Client: AppointmentsClient · Module: appointments/appointment-form.tsx |
| 57 | Tasks | 🔧 API Client Only | Task Types, Task Sections, Job Cards, Employees, Departments | Client: TasksClient · Module: none |
| 58 | Purchase Orders | 🔧 API Client Only | Job Cards, Vendors, Departments, Labels, Parts | Client: PurchaseOrdersClient · Module: none |
| 59 | Bills | 🔧 API Client Only | Job Cards, Vendors, Vendor Addresses, Payment Terms, Departments, Labels, Parts | Client: ExpensesClient.listBills() / createBill() · Module: none |
| 60 | Expenses | ✅ Client + UI Module | Job Cards, Expense Items, Vendors, Departments, Labels | Client: ExpensesClient.listExpenses() / createExpense() · Module: expenses/expense-form.tsx |
| 61 | Payment Received | ✅ Client + UI Module | Job Cards, Payment Modes, Customers | Client: PaymentsClient.listReceived() / createReceived() · Module: payment-received/payment-received-form.tsx |
| 62 | Inventory Adjustments | ⬜ Not Started | Parts, Job Cards, Invoices, Reasons | Client: none found · Module: none |
Level 7 — Invoicing & Credit System (Most Complex)
These are the most complex resources with the deepest dependency chains.
| # | Resource | Status | Depends On | Implementation Details |
|---|---|---|---|---|
| 63 | Invoices | ✅ Client + UI Module | Customers, Vehicles, Departments, Invoice Sequences, Labels, Inspection Categories, Parts, Services, Expense Items, Service Groups | Client: InvoicesClient · Module: invoices/invoice-form.tsx |
| 64 | Invoice Documents | ✅ Client + UI Module | Invoices, Customers, Vehicles, Document Types | Client: InvoicesClient.listDocuments() / createDocument() · Module: invoices/invoice-document-form.tsx |
| 65 | Invoice Notes | ✅ Client + UI Module | Invoices | Client: InvoicesClient.listNotes() / createNote() · Module: invoices/invoice-note-form.tsx |
| 66 | Credit Notes | ⬜ Not Started | Customers, Parts, Services, Expenses, Inspection Categories, Labels | Client: none found · Module: none |
| 67 | Payment Mades | ⬜ Not Started | Vendors, Employees, Bills, Expenses, Payment Modes | Client: none found · Module: none |
| 68 | Vendor Credits | ⬜ Not Started | Vendors, Departments, Parts, Services, Expenses, Labels | Client: none found · Module: none |
Summary
Status Snapshot
| Status | Count | Percentage |
|---|---|---|
| ✅ Client + UI Module | 33 | 48.5% |
| 🔧 API Client Only | 21 | 30.9% |
| 🧩 UI Module Only | 0 | 0.0% |
| ⬜ Not Started | 14 | 20.6% |
No UI-only resources were found under the current packages/api/src/clients and apps/dashboard/modules source-of-truth rules.
Implementation Progress
| Category | Total | ✅ Client + UI Module | 🔧 API Client Only | 🧩 UI Module Only | ⬜ Not Started |
|---|---|---|---|---|---|
| Level 0 — Standalone | 31 | 15 | 14 | 0 | 2 |
| Level 1 — Single Dep | 5 | 1 | 2 | 0 | 2 |
| Level 2 — Core Entities | 3 | 2 | 1 | 0 | 0 |
| Level 3 — Operational | 7 | 5 | 0 | 0 | 2 |
| Level 4 — Composite | 5 | 1 | 0 | 0 | 4 |
| Level 5 — Workflows | 4 | 3 | 1 | 0 | 0 |
| Level 6 — Financial | 7 | 3 | 3 | 0 | 1 |
| Level 7 — Invoicing | 6 | 3 | 0 | 0 | 3 |
| Total | 68 | 33 | 21 | 0 | 14 |
Resources with Client + UI Module (33 total)
- Top-level modules (20): Auth, Shop Types, Holiday Years, Taxes, Vendors, Shop Calendars, Shop Timings, Customers, Vehicles, Employees, Parts, Services, Service Groups, Inspections, Estimates, Job Cards, Appointments, Expenses, Payment Received, Invoices
- Inline modules (9): Vehicle Body Types, Vehicle Fuel Types, Vehicle Transmissions, Vehicle Colors, Document Types, Unit Types, Inspection Categories, Departments, Inventory Categories
- Detail subforms (4): Vehicle Documents, Vehicle Mileage, Invoice Documents, Invoice Notes
API Clients Without UI Modules (21 total)
- Master data and reference resources: Countries, Customer Types, Referral Sources, Payment Terms, Payment Modes, Labels, Insurance Types, Check Point Labels, Quick Remarks, Quick Notes, Task Types, Task Sections, Invoice Labels, Labor Rates, States, Vendor Addresses
- Workflow and transactional resources: Expense Items, Inspection Check Points, Tasks, Purchase Orders, Bills
Not Started (14 total)
- Reasons, Settings, Holidays, Make and Models, Time Sheets, Invoice Sequences, Service Group Includes, Service Group Services, Service Group Parts, Service Group Pricings, Inventory Adjustments, Credit Notes, Payment Mades, Vendor Credits
API Clients Without UI Modules — Priority Recommendations
Based on current implementation depth and operational value, the highest-leverage missing UI modules are:
- Purchase Orders — existing client, central purchasing workflow
- Bills — existing client, complements Vendors and Expenses
- Tasks — existing client, operational workflow layer is in place but no module exists
- Expense Items — existing client, currently blocks full expense master-data management
- Payment Modes / Payment Terms — existing clients, important finance reference data
- Referral Sources / Customer Types — existing clients, useful master-data UI for sales flows
Dependency Graph (Simplified)
Level 0 (Foundation)
├── Auth, Countries, Shop Types, Customer Types, Referral Sources
├── Payment Terms, Payment Modes, Document Types, Unit Types, Labels
├── Vehicle Attributes (Body, Fuel, Transmission, Colors)
├── Inspection Categories, Check Point Labels, Insurance Types
├── Quick Remarks/Notes, Reasons, Task Types/Sections
├── Holiday Years, Taxes, Departments, Labor Rates
├── Vendors, Shop Calendars, Shop Timings, Invoice Labels, Settings
│
Level 1 (Single Dependency)
├── States → Countries
├── Inventory Categories → Shop Types
├── Vendor Addresses → Vendors + Countries + States
├── Holidays → Holiday Years
├── Make and Models → Shop Types + Vehicle Attributes
│
Level 2 (Core Entities)
├── Customers → Customer Types + Referral Sources + Payment Terms + Geo
├── Vehicles → Shop Types + Vehicle Attributes
├── Expense Items → Inventory Categories + Unit Types + Departments
│
Level 3 (Operational)
├── Employees → Departments + Shop Calendars + Shop Timings
├── Parts → Shop Types + Inventory Categories + Unit Types + Departments + Vendors
├── Services → Shop Types + Inventory Categories + Unit Types + Departments
├── Vehicle Documents → Vehicles + Document Types
├── Vehicle Mileage → Vehicles
├── Time Sheets → Employees
├── Invoice Sequences → Departments
│
Level 4 (Composite)
├── Service Groups → Shop Types + Inv. Categories + Unit Types + Departments
├── SG Includes/Services/Parts/Pricings → Service Groups + ...
│
Level 5 (Workflows)
├── Inspections → Customers + Vehicles + Departments + Insp. Categories + Employees
├── Inspection Check Points → Inspections + Check Point Labels
├── Estimates → Customers + Vehicles + Departments + Labels
├── Job Cards → Customers + Vehicles + Departments + Labels + Employees
│
Level 6 (Financial)
├── Appointments → Customers + Vehicles + Departments + Job Cards + Employees
├── Tasks → Task Types + Task Sections + Job Cards + Employees + Departments
├── Purchase Orders → Job Cards + Vendors + Departments + Labels + Parts
├── Bills → Job Cards + Vendors + Payment Terms + Departments + Labels + Parts
├── Expenses → Job Cards + Expense Items + Vendors + Departments + Labels
├── Payment Received → Job Cards + Payment Modes + Customers
├── Inventory Adjustments → Parts + Job Cards + Invoices + Reasons
│
Level 7 (Invoicing — Most Complex)
├── Invoices → Customers + Vehicles + Departments + Inv. Sequences + Labels + Parts + Services + Expenses + Service Groups
├── Invoice Documents → Invoices + Customers + Vehicles + Document Types
├── Invoice Notes → Invoices
├── Credit Notes → Customers + Parts + Services + Expenses + Insp. Categories + Labels
├── Payment Mades → Vendors + Employees + Bills + Expenses + Payment Modes
└── Vendor Credits → Vendors + Departments + Parts + Services + Expenses + Labels