Files
zentral/.agent/rules/customizations-folders.md

1.9 KiB

trigger, description
trigger description
model_decision Quando è richiesta una feature specifica per un cliente, non inerente allo standard

usa ./docs/development/devlog/customizations per tenere traccia di tutti i piani di lavoro custom 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 ZENTRAL_CUSTOM.md riassuntivo con link ai file specifici dentro ./docs/development/devlog/customizations e una breve sintesi specificando che tipo di sviluppo si è concluso o si sta lavorando.

Struttura Modulare del Progetto Custom

Per ogni modulo custom specificatamente sviluppato per una richiesta cliente è necessario prima trovare il miglior modo per integrare questo modulo custom il più possibile con i moduli esistenti, evitando di duplicare il codice e permettendo di scrivere meno codice possibile.

Backend (.NET)

  • API Controllers: src/backend/Zentral.API/Modules/Custom/[NomeModulo]/Controllers/
    • I controller devono avere il namespace Zentral.API.Modules.[NomeModulo].Controllers.
    • Le rotte devono seguire il pattern api/custom/[nome-modulo]/[controller].
  • Entities: src/backend/Zentral.Domain/Entities/Custom/[NomeModulo]/
    • Le entità devono avere il namespace Zentral.Domain.Entities.Custom.[NomeModulo].

Frontend (React)

  • Moduli: src/frontend/src/modules/custom/[nome-modulo]/
    • Pagine: src/frontend/src/modules/custom/[nome-modulo]/pages/
    • Componenti: src/frontend/src/modules/custom/[nome-modulo]/components/
    • Rotte: src/frontend/src/modules/custom/[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).