33 lines
2.0 KiB
Markdown
33 lines
2.0 KiB
Markdown
---
|
|
trigger: always_on
|
|
---
|
|
|
|
usa ./docs/development/devlog per tenere traccia di tutti i piani di lavoro e il loro attuale stato singolarmente, crea qui dentro i log delle lavorazioni ed il lavoro fatto, da fare e suggerito per ogni piano di sviluppo, usa il formato "yyyy-mm-dd-hh24miss_descrizione_brevissima".
|
|
|
|
usa ./docs/development per tenere un file DEVELOPMENT.md riassuntivo con link ai file specifici dentro ./docs/development/devlog e una breve sintesi specificando che tipo di sviluppo si è concluso o si sta lavorando.
|
|
|
|
usa ./src/backend per tutto quello che riguarda il backend in Node.js
|
|
|
|
usa ./src/frontend per tutto quello che riguarda il frontend in react
|
|
|
|
## Struttura Modulare del Progetto
|
|
|
|
Il progetto segue una rigorosa struttura modulare sia per il backend che per il frontend. Ogni nuova funzionalità o dominio di business deve essere incapsulato nel proprio modulo.
|
|
|
|
### Backend (Node.js)
|
|
- **Moduli**: `src/backend/src/modules/[nome-modulo]/`
|
|
- **Controllers**: `src/backend/src/modules/[nome-modulo]/controllers/`
|
|
- I file devono essere nominati `[nome].controller.ts`.
|
|
- Le rotte devono essere definite in `[nome-modulo].routes.ts` e seguire il pattern `api/[nome-modulo]/[risorsa]`.
|
|
- **Entities/Models**: `src/backend/src/modules/[nome-modulo]/entities/`
|
|
- Le entità devono essere definite usando l'ORM scelto (es. TypeORM/Prisma) e risiedere in questa cartella.
|
|
- **Services**: `src/backend/src/modules/[nome-modulo]/services/`
|
|
- La logica di business deve risiedere nei service, separata dai controller.
|
|
|
|
### Frontend (React)
|
|
- **Moduli**: `src/frontend/src/modules/[nome-modulo]/`
|
|
- **Pagine**: `src/frontend/src/modules/[nome-modulo]/pages/`
|
|
- **Componenti**: `src/frontend/src/modules/[nome-modulo]/components/`
|
|
- **Rotte**: `src/frontend/src/modules/[nome-modulo]/routes.tsx`
|
|
- Il file `routes.tsx` deve esportare un componente che definisce le rotte figlie del modulo.
|
|
- Le rotte devono essere importate e registrate nel router principale (es. `App.tsx`). |