--- 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`).