38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
|
|
# Development Instructions
|
||
|
|
|
||
|
|
## Current milestone
|
||
|
|
|
||
|
|
This repository implements the platform foundation milestone:
|
||
|
|
|
||
|
|
- workspace scaffolding
|
||
|
|
- local auth and RBAC
|
||
|
|
- company settings and branding
|
||
|
|
- file attachment storage
|
||
|
|
- Dockerized single-container deployment
|
||
|
|
- Puppeteer PDF pipeline foundation
|
||
|
|
|
||
|
|
## Workflow
|
||
|
|
|
||
|
|
1. Update the roadmap before starting large features.
|
||
|
|
2. Keep backend and frontend modules grouped by domain.
|
||
|
|
3. Add Prisma models and migrations for all persisted schema changes.
|
||
|
|
4. Keep uploaded files on disk under `/app/data/uploads`; never store blobs in SQLite.
|
||
|
|
5. Reuse shared DTOs and permission keys from the `shared` package.
|
||
|
|
|
||
|
|
## Operational notes
|
||
|
|
|
||
|
|
- Run `npm run prisma:generate` after schema changes.
|
||
|
|
- Run `npm run prisma:migrate` during development to create versioned migrations.
|
||
|
|
- Use `npm run prisma:deploy` in 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/data` volume to capture both the database and attachments.
|
||
|
|
|
||
|
|
## Next roadmap candidates
|
||
|
|
|
||
|
|
- CRM entity detail pages and search
|
||
|
|
- inventory and BOM management
|
||
|
|
- sales orders, purchase orders, and document templates
|
||
|
|
- shipping workflows and printable logistics documents
|
||
|
|
- manufacturing gantt scheduling with live project data
|