garage-erp/docs/dashboard/feature-checklist.md
2026-04-06 02:32:47 +03:00

19 KiB
Raw Blame History

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 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

  • 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 02 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 03 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:

  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

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