Files
obis-gestionale-security/.agent/rules/development-folders.md
2025-12-15 13:16:19 +01:00

2.0 KiB

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