diff --git a/.agent/rules/development-folders.md b/.agent/rules/development-folders.md index 36a8008..80d7fec 100644 --- a/.agent/rules/development-folders.md +++ b/.agent/rules/development-folders.md @@ -8,4 +8,23 @@ usa ./docs/development per tenere un file ZENTRAL.md riassuntivo con link ai fil usa ./src/backend per tutto quello che riguarda il backend in .NET -usa ./src/frontend per tutto quello che riguarda il frontend in react \ No newline at end of file +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 (.NET) +- **API Controllers**: `src/backend/Zentral.API/Modules/[NomeModulo]/Controllers/` + - I controller devono avere il namespace `Zentral.API.Modules.[NomeModulo].Controllers`. + - Le rotte devono seguire il pattern `api/[nome-modulo]/[controller]`. +- **Entities**: `src/backend/Zentral.Domain/Entities/[NomeModulo]/` + - Le entità devono avere il namespace `Zentral.Domain.Entities.[NomeModulo]`. + +### 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`).