2.1 KiB
2.1 KiB
Development Instructions
Current milestone
This repository implements the platform foundation milestone:
- workspace scaffolding
- local auth and RBAC
- company settings and branding
- file attachment storage
- CRM foundation through reseller hierarchy, contacts, attachments, and lifecycle metadata
- inventory master data, BOM, warehouse, and stock-location foundation
- Dockerized single-container deployment
- Puppeteer PDF pipeline foundation
Workflow
- Update the roadmap before starting large features.
- Keep backend and frontend modules grouped by domain.
- Add Prisma models and migrations for all persisted schema changes.
- Keep uploaded files on disk under
/app/data/uploads; never store blobs in SQLite. - Reuse shared DTOs and permission keys from the
sharedpackage. - Any non-filter UI that looks up records or items must use a searchable picker/autocomplete, not a long static dropdown.
- Maintain the denser UI baseline on active screens; avoid reintroducing oversized
px-4 py-3style controls, tall action bars, or overly loose card spacing without a specific reason.
Operational notes
- Run
npm run prisma:generateafter schema changes. - Run
npm run prisma:migrateduring development to create versioned migrations. - Use
npm run prisma:deployin production environments. - Prefer Node 22 locally when running Prisma migration commands to match the Docker runtime.
- Branding defaults live in the frontend theme token layer and are overridden by the persisted company profile.
- Back up the whole
/app/datavolume to capture both the database and attachments. - Treat searchable lookup as a standing UX requirement for inventory, BOM, sales, purchasing, manufacturing, customer, vendor, and other operational record-picking flows. Filter-only controls can still use dropdowns.
Next roadmap candidates
- inventory transactions and on-hand tracking
- BOM/item drawing attachments and support documents
- sales orders, purchase orders, and document templates
- shipping workflows and printable logistics documents
- manufacturing gantt scheduling with live project data