updates
This commit is contained in:
+121
-106
@@ -1,17 +1,21 @@
|
||||
# Garage Management System — Feature Implementation Checklist
|
||||
|
||||
> **Generated**: March 27, 2026
|
||||
> **Reference**: Postman API Collection (`packages/api/postman/collection.json`)
|
||||
> **Generated**: April 3, 2026
|
||||
> **Dependency Order Reference**: Postman API Collection (`packages/api/postman/collection.json`)
|
||||
> **Status Source of Truth**: Implemented API clients in `packages/api/src/clients` and implemented dashboard modules in `apps/dashboard/modules`
|
||||
> **Ordered by**: Dependency level (no dependencies → most complex relations)
|
||||
|
||||
---
|
||||
|
||||
## How to Read This Checklist
|
||||
|
||||
- **✅ Full** = Page + Module (Form + Schema) + API Client all exist
|
||||
- **🔧 API Only** = API Client exists, but no dashboard page/module yet
|
||||
- **⬜ Not Started** = No implementation found
|
||||
- **Depends on** = Other resources that must exist before this one (based on foreign keys in Postman collection)
|
||||
- **✅ 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)
|
||||
|
||||
---
|
||||
|
||||
@@ -21,37 +25,37 @@ These resources have no foreign key references. They are the foundation.
|
||||
|
||||
| # | Resource | Status | Implementation Details |
|
||||
|---|----------|--------|----------------------|
|
||||
| 1 | Auth (Login / Profile / Logout) | ✅ Full | Page: `(auth)/login` · Module: `auth/` · Client: `AuthClient` |
|
||||
| 2 | Countries | 🔧 API Only | Client: `GeoClient` — used by Customer form |
|
||||
| 3 | Customer Types | 🔧 API Only | Client: `CustomersClient.listCustomerTypes()` |
|
||||
| 4 | Referral Sources | 🔧 API Only | Client: `ReferralSourcesClient` |
|
||||
| 5 | Payment Terms | 🔧 API Only | Client: `PaymentTermsClient` |
|
||||
| 6 | Payment Modes | 🔧 API Only | Client: `PaymentsClient` |
|
||||
| 7 | Shop Types | ✅ Full | Page: `settings/shop-type` · Module: `settings/shop-type/` · Client: `ShopTypesClient` |
|
||||
| 8 | Vehicle Body Types | 🔧 API Only | Client: `VehicleAttributesClient` — inline form in Vehicles |
|
||||
| 9 | Vehicle Fuel Types | 🔧 API Only | Client: `VehicleAttributesClient` — inline form in Vehicles |
|
||||
| 10 | Vehicle Transmissions | 🔧 API Only | Client: `VehicleAttributesClient` — inline form in Vehicles |
|
||||
| 11 | Vehicle Colors | 🔧 API Only | Client: `VehicleAttributesClient` — inline form in Vehicles |
|
||||
| 12 | Document Types | 🔧 API Only | Client: `VehicleDocumentsClient` |
|
||||
| 13 | Unit Types | 🔧 API Only | Client: `InventoryClient` — inline form in Services |
|
||||
| 14 | Labels | 🔧 API Only | Client: `LabelsClient` |
|
||||
| 15 | Insurance Types | 🔧 API Only | Client: `InsuranceTypesClient` |
|
||||
| 16 | Inspection Categories | 🔧 API Only | Client: `InspectionsClient` — inline form in Inspections |
|
||||
| 17 | Check Point Labels | 🔧 API Only | Client: `InspectionsClient` |
|
||||
| 18 | Quick Remarks | 🔧 API Only | Client: `EstimatesClient` |
|
||||
| 19 | Quick Notes | 🔧 API Only | Client: `EstimatesClient` |
|
||||
| 20 | Reasons | 🔧 API Only | Client: `LabelsClient` (or standalone) |
|
||||
| 21 | Task Types | 🔧 API Only | Client: `TasksClient` |
|
||||
| 22 | Task Sections | 🔧 API Only | Client: `TasksClient` |
|
||||
| 23 | Invoice Labels | 🔧 API Only | Client: exists in collection |
|
||||
| 24 | Holiday Years | 🔧 API Only | Client: exists in collection |
|
||||
| 25 | Taxes | 🔧 API Only | Client: exists in collection |
|
||||
| 26 | Departments | 🔧 API Only | Client: `DepartmentsClient` — inline form in Services |
|
||||
| 27 | Labor Rates | 🔧 API Only | Client: `InventoryClient` |
|
||||
| 28 | Vendors | 🔧 API Only | Client: `VendorsClient` |
|
||||
| 29 | Shop Calendars | ✅ Full | Page: `productivity/shop-calendars` · Module: `shop-calendars/` · Client: `ShopCalendarsClient` |
|
||||
| 30 | Shop Timings | ✅ Full | Page: `productivity/shop-timings` · Module: `shop-timings/` · Client: `ShopTimingsClient` |
|
||||
| 31 | Settings | 🔧 API Only | Client: exists in collection (GET/PUT only) |
|
||||
| 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) |
|
||||
|
||||
---
|
||||
|
||||
@@ -61,11 +65,11 @@ These depend only on Level 0 resources.
|
||||
|
||||
| # | Resource | Status | Depends On | Implementation Details |
|
||||
|---|----------|--------|------------|----------------------|
|
||||
| 32 | States | 🔧 API Only | Countries | Client: `GeoClient` |
|
||||
| 33 | Inventory Categories | 🔧 API Only | Shop Types | Client: `InventoryClient` — inline form in Services |
|
||||
| 34 | Vendor Addresses | 🔧 API Only | Vendors, Countries, States | Client: `VendorsClient.createAddress()` |
|
||||
| 35 | Holidays | 🔧 API Only | Holiday Years | Client: exists in collection |
|
||||
| 36 | Make and Models | 🔧 API Only | Shop Types, Body Types, Fuel Types, Transmissions | Client: exists in collection |
|
||||
| 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) |
|
||||
|
||||
---
|
||||
|
||||
@@ -75,9 +79,9 @@ These depend on Level 0 + Level 1 resources and are used by many higher-level fe
|
||||
|
||||
| # | Resource | Status | Depends On | Implementation Details |
|
||||
|---|----------|--------|------------|----------------------|
|
||||
| 37 | Customers | ✅ Full | Customer Types, Referral Sources, Payment Terms, Countries, States | Page: `sales/customers` · Module: `customers/` · Client: `CustomersClient` |
|
||||
| 38 | Vehicles | ✅ Full | Shop Types, Body Types, Fuel Types, Transmissions, Colors | Page: `sales/vehicles` · Module: `vehicles/` · Client: `VehiclesClient` · 5 inline forms |
|
||||
| 39 | Expense Items | 🔧 API Only | Inventory Categories, Unit Types, Departments | Client: `ExpensesClient` |
|
||||
| 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 |
|
||||
|
||||
---
|
||||
|
||||
@@ -87,13 +91,13 @@ These depend on Level 0–2 resources.
|
||||
|
||||
| # | Resource | Status | Depends On | Implementation Details |
|
||||
|---|----------|--------|------------|----------------------|
|
||||
| 40 | Employees | ✅ Full | Departments, Shop Calendars, Shop Timings | Page: `productivity/employees` · Module: `employees/` · Client: `EmployeesClient` |
|
||||
| 41 | Parts | ✅ Full | Shop Types, Inventory Categories, Unit Types, Departments, Vendors | Page: `items/parts` · Module: `parts/` · Client: `PartsClient` |
|
||||
| 42 | Services | ✅ Full | Shop Types, Inventory Categories, Unit Types, Departments | Page: `items/services` · Module: `services/` · Client: `ServicesClient` · 4 inline forms |
|
||||
| 43 | Vehicle Documents | 🔧 API Only | Vehicles, Document Types | Client: `VehicleDocumentsClient` |
|
||||
| 44 | Vehicle Mileage | 🔧 API Only | Vehicles | Client: `VehicleDocumentsClient` |
|
||||
| 45 | Time Sheets | 🔧 API Only | Employees | Client: exists in collection |
|
||||
| 46 | Invoice Sequences | 🔧 API Only | Departments | Client: exists in collection |
|
||||
| 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 |
|
||||
|
||||
---
|
||||
|
||||
@@ -103,11 +107,11 @@ These depend on Level 0–3 resources.
|
||||
|
||||
| # | Resource | Status | Depends On | Implementation Details |
|
||||
|---|----------|--------|------------|----------------------|
|
||||
| 47 | Service Groups | ✅ Full | Shop Types, Inventory Categories, Unit Types, Departments | Page: `items/service-group` · Module: `service-groups/` · Client: `ServiceGroupsClient` |
|
||||
| 48 | Service Group Includes | 🔧 API Only | Service Groups | Client: part of Service Group Details |
|
||||
| 49 | Service Group Services | 🔧 API Only | Service Groups, Services, Labor Rates, Taxes | Client: part of Service Group Details |
|
||||
| 50 | Service Group Parts | 🔧 API Only | Service Groups, Parts, Taxes | Client: part of Service Group Details |
|
||||
| 51 | Service Group Pricings | 🔧 API Only | Service Groups, Shop Types, Labor Rates, Fuel Types, Body Types | Client: part of Service Group 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 |
|
||||
|
||||
---
|
||||
|
||||
@@ -117,10 +121,10 @@ These are core garage workflow features depending on customers, vehicles, employ
|
||||
|
||||
| # | Resource | Status | Depends On | Implementation Details |
|
||||
|---|----------|--------|------------|----------------------|
|
||||
| 52 | Inspections | ✅ Full | Customers, Vehicles, Departments, Inspection Categories, Employees | Page: N/A (module exists) · Module: `inspections/` · Client: `InspectionsClient` · 1 inline form |
|
||||
| 53 | Inspection Check Points | 🔧 API Only | Inspections, Check Point Labels | Client: `InspectionsClient` |
|
||||
| 54 | Estimates | 🔧 API Only | Customers, Vehicles, Departments, Labels | Client: `EstimatesClient` |
|
||||
| 55 | Job Cards | 🔧 API Only | Customers, Vehicles, Departments, Labels, Employees | Client: `JobCardsClient` (richest API — status workflow, remarks, attachments) |
|
||||
| 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 |
|
||||
|
||||
---
|
||||
|
||||
@@ -130,13 +134,13 @@ These depend on Job Cards and other Level 5 resources.
|
||||
|
||||
| # | Resource | Status | Depends On | Implementation Details |
|
||||
|---|----------|--------|------------|----------------------|
|
||||
| 56 | Appointments | 🔧 API Only | Customers, Vehicles, Departments, Job Cards, Employees, Labels | Client: `AppointmentsClient` |
|
||||
| 57 | Tasks | 🔧 API Only | Task Types, Task Sections, Job Cards, Employees, Departments | Client: `TasksClient` |
|
||||
| 58 | Purchase Orders | 🔧 API Only | Job Cards, Vendors, Departments, Labels, Parts | Client: `PurchaseOrdersClient` |
|
||||
| 59 | Bills | 🔧 API Only | Job Cards, Vendors, Vendor Addresses, Payment Terms, Departments, Labels, Parts | Client: `ExpensesClient` |
|
||||
| 60 | Expenses | 🔧 API Only | Job Cards, Expense Items, Vendors, Departments, Labels | Client: `ExpensesClient` |
|
||||
| 61 | Payment Received | 🔧 API Only | Job Cards, Payment Modes, Customers | Client: `PaymentsClient` |
|
||||
| 62 | Inventory Adjustments | 🔧 API Only | Parts, Job Cards, Invoices, Reasons | Client: exists in collection |
|
||||
| 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 |
|
||||
|
||||
---
|
||||
|
||||
@@ -146,56 +150,67 @@ These are the most complex resources with the deepest dependency chains.
|
||||
|
||||
| # | Resource | Status | Depends On | Implementation Details |
|
||||
|---|----------|--------|------------|----------------------|
|
||||
| 63 | Invoices | 🔧 API Only | Customers, Vehicles, Departments, Invoice Sequences, Labels, Inspection Categories, Parts, Services, Expense Items, Service Groups | Client: exists in collection |
|
||||
| 64 | Invoice Documents | 🔧 API Only | Invoices, Customers, Vehicles, Document Types | Client: exists in collection |
|
||||
| 65 | Invoice Notes | 🔧 API Only | Invoices | Client: exists in collection |
|
||||
| 66 | Credit Notes | 🔧 API Only | Customers, Parts, Services, Expenses, Inspection Categories, Labels | Client: exists in collection |
|
||||
| 67 | Payment Mades | 🔧 API Only | Vendors, Employees, Bills, Expenses, Payment Modes | Client: exists in collection |
|
||||
| 68 | Vendor Credits | 🔧 API Only | Vendors, Departments, Parts, Services, Expenses, Labels | Client: exists in collection |
|
||||
| 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 | ✅ Full | 🔧 API Only | ⬜ Not Started |
|
||||
|----------|-------|---------|-------------|----------------|
|
||||
| Level 0 — Standalone | 31 | 4 | 27 | 0 |
|
||||
| Level 1 — Single Dep | 5 | 0 | 5 | 0 |
|
||||
| Level 2 — Core Entities | 3 | 2 | 1 | 0 |
|
||||
| Level 3 — Operational | 7 | 3 | 4 | 0 |
|
||||
| Level 4 — Composite | 5 | 1 | 4 | 0 |
|
||||
| Level 5 — Workflows | 4 | 1 | 3 | 0 |
|
||||
| Level 6 — Financial | 7 | 0 | 7 | 0 |
|
||||
| Level 7 — Invoicing | 6 | 0 | 6 | 0 |
|
||||
| **Total** | **68** | **11** | **57** | **0** |
|
||||
| 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** |
|
||||
|
||||
### Pages with Full UI (11 total)
|
||||
### Resources with Client + UI Module (33 total)
|
||||
|
||||
1. Auth (Login)
|
||||
2. Shop Types (Settings)
|
||||
3. Shop Calendars (Productivity)
|
||||
4. Shop Timings (Productivity)
|
||||
5. Customers (Sales)
|
||||
6. Vehicles (Sales)
|
||||
7. Employees (Productivity)
|
||||
8. Parts (Items)
|
||||
9. Services (Items)
|
||||
10. Service Groups (Items)
|
||||
11. Inspections (Module only — no page route yet)
|
||||
- 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 Pages — Priority Recommendations
|
||||
### API Clients Without UI Modules (21 total)
|
||||
|
||||
Based on the roadmap (Phase 1 — Garage Operations), these are the highest-priority missing pages:
|
||||
- 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
|
||||
|
||||
1. **Job Cards** — Core garage workflow, API client is the most feature-rich
|
||||
2. **Estimates** — Pre-job-card workflow
|
||||
3. **Appointments** — Scheduling system
|
||||
4. **Inspections Page** — Module exists but no page route
|
||||
5. **Departments** — Referenced by almost every form
|
||||
6. **Vendors** — Needed for Parts purchasing and Bills
|
||||
7. **Invoices** — Phase 2 but API is ready
|
||||
### 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:
|
||||
|
||||
1. **Purchase Orders** — existing client, central purchasing workflow
|
||||
2. **Bills** — existing client, complements Vendors and Expenses
|
||||
3. **Tasks** — existing client, operational workflow layer is in place but no module exists
|
||||
4. **Expense Items** — existing client, currently blocks full expense master-data management
|
||||
5. **Payment Modes / Payment Terms** — existing clients, important finance reference data
|
||||
6. **Referral Sources / Customer Types** — existing clients, useful master-data UI for sales flows
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user