From 436720d4a783b275821caed3eb8583f873cef2e3 Mon Sep 17 00:00:00 2001 From: dnviti Date: Wed, 3 Dec 2025 19:55:19 +0100 Subject: [PATCH] refactor: modularize frontend pages into feature-specific modules, update routing, and related documentation. --- .agent/rules/development-folders.md | 2 +- .agent/rules/market-placing.md | 1 + docs/development/ZENTRAL.md | 4 +++ .../2025-12-04_event_management_plan.md | 36 +++++++++++++++++++ .../devlog/2025-12-04_menu_refactoring.md | 25 +++++++++++++ 5 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 docs/development/devlog/2025-12-04_event_management_plan.md create mode 100644 docs/development/devlog/2025-12-04_menu_refactoring.md diff --git a/.agent/rules/development-folders.md b/.agent/rules/development-folders.md index f229f17..b093e10 100644 --- a/.agent/rules/development-folders.md +++ b/.agent/rules/development-folders.md @@ -2,7 +2,7 @@ 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 ./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_descrizione_brevissima". usa ./docs/development per tenere un file ZENTRAL.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. diff --git a/.agent/rules/market-placing.md b/.agent/rules/market-placing.md index 2c7ed1e..8693f64 100644 --- a/.agent/rules/market-placing.md +++ b/.agent/rules/market-placing.md @@ -11,6 +11,7 @@ Il software si chiama Zentral e, tramite diverse applicazioni, si occupa di gest - qualità (Controlli qualità, gestione non conformità, certificazioni e audit) - magazzino (Gestione inventario, movimenti di magazzino, giacenze e valorizzazione scorte) - personale (Gestione personale, contratti, pagamenti, assenze, rimborsi e analisi personale) +- report (Gestione report, creazione e analisi report) mostra statistiche grafiche per ogni applicazione nella dashboard dell'applicazione. diff --git a/docs/development/ZENTRAL.md b/docs/development/ZENTRAL.md index 06c0571..e5bf938 100644 --- a/docs/development/ZENTRAL.md +++ b/docs/development/ZENTRAL.md @@ -16,3 +16,7 @@ File riassuntivo dello stato di sviluppo di Zentral. - Spostamento voce menu Report sotto Amministrazione. - [2025-12-03 Report Designer Theme](./devlog/2025-12-03_report_designer_theme.md) - **Completato** - Allineamento completo del Report Designer al tema scuro (Canvas, Toolbar, Dialogs). +- [2025-12-04 Event Management Module](./devlog/2025-12-04_event_management_plan.md) - **Completato** + - Implementazione modulo Gestione Eventi: strutturazione frontend, integrazione funzionalità e attivazione store. +- [Event Module Development](./devlog/event-module.md) - Implementazione modulo eventi +- [Menu Refactoring](./devlog/menu-refactoring.md) - Riorganizzazione menu e moduli (Dashboard, Clienti, Articoli, Risorse) diff --git a/docs/development/devlog/2025-12-04_event_management_plan.md b/docs/development/devlog/2025-12-04_event_management_plan.md new file mode 100644 index 0000000..5faa675 --- /dev/null +++ b/docs/development/devlog/2025-12-04_event_management_plan.md @@ -0,0 +1,36 @@ +# Piano di Sviluppo Modulo Gestione Eventi + +## Obiettivo +Implementare il modulo "Gestione Eventi" integrando le funzionalità esistenti (Dashboard, Calendario, Eventi, Clienti, Location, Articoli, Risorse) e rendendolo acquistabile nello store. + +## Stato Attuale +- Esistono già pagine frontend: `EventiPage`, `EventoDetailPage`, `CalendarioPage`, `ClientiPage`, `LocationPage`, `ArticoliPage`, `RisorsePage`. +- Esiste già backend: `EventiController`, `Evento` entity, e relative entità collegate. +- Il modulo non è ancora strutturato come "AppModule" formale nel sistema (non c'è cartella `modules/events` nel frontend, non c'è guard). + +## Piano di Lavoro + +### 1. Strutturazione Modulo Frontend +- [x] Creare cartella `src/frontend/src/modules/events`. +- [x] Spostare le pagine specifiche degli eventi (`EventiPage`, `EventoDetailPage`, `CalendarioPage`, `LocationPage`) dentro `src/frontend/src/modules/events/pages`. +- [x] Creare `src/frontend/src/modules/events/routes.tsx` per gestire le rotte del modulo. +- [x] Aggiornare `App.tsx` per includere le rotte del modulo eventi sotto `ModuleGuard`. + +### 2. Integrazione Funzionalità Esistenti +- [x] Verificare che `ClientiPage`, `ArticoliPage`, `RisorsePage` siano accessibili e integrate correttamente. (Sono rimaste nel menu Core come previsto). +- [x] Assicurarsi che il menu laterale mostri le voci corrette quando il modulo è attivo. + +### 3. Backend & Database +- [x] Verificare l'esistenza del modulo "events" nella tabella `AppModules` (o crearlo tramite migrazione/seed). +- [x] Assicurarsi che le API esistenti siano protette o accessibili correttamente. + +### 4. Store & Attivazione +- [x] Verificare che il modulo appaia nella pagina di acquisto moduli. +- [x] Testare l'attivazione/disattivazione del modulo. + +### 5. Refactoring & Pulizia +- [x] Aggiornare gli import nei file spostati. +- [x] Rimuovere le rotte vecchie da `App.tsx`. + +## Note +- I moduli `Clienti`, `Articoli`, `Risorse` sembrano essere entità "core" o condivise. Per ora le manterremo accessibili, valutando se spostarle in moduli specifici (es. `crm`, `catalog`, `resources`) in futuro, o se lasciarle globali. Dato che la richiesta è specifica sugli eventi, ci concentreremo sul raggruppare le funzioni eventi. diff --git a/docs/development/devlog/2025-12-04_menu_refactoring.md b/docs/development/devlog/2025-12-04_menu_refactoring.md new file mode 100644 index 0000000..69600de --- /dev/null +++ b/docs/development/devlog/2025-12-04_menu_refactoring.md @@ -0,0 +1,25 @@ +# Refactoring Menu and Modules + +## Objective +Restructure the navigation menu and organize existing functionalities into specific modules as requested: +- Dashboard -> Gestione Eventi +- Clienti -> Vendite +- Articoli -> Magazzino +- Risorse -> Personale (New Module) + +## Plan +1. **Create "Personale" module**: Create directory structure `src/frontend/src/modules/personale`. +2. **Move Files**: + - `src/frontend/src/pages/Dashboard.tsx` -> `src/frontend/src/modules/events/pages/DashboardPage.tsx` + - `src/frontend/src/pages/ClientiPage.tsx` -> `src/frontend/src/modules/sales/pages/ClientiPage.tsx` + - `src/frontend/src/pages/ArticoliPage.tsx` -> `src/frontend/src/modules/warehouse/pages/ArticoliPage.tsx` + - `src/frontend/src/pages/RisorsePage.tsx` -> `src/frontend/src/modules/personale/pages/RisorsePage.tsx` +3. **Update Routes**: + - Update `src/frontend/src/App.tsx` to remove old routes and add `PersonaleRoutes`. + - Update `src/frontend/src/modules/events/routes.tsx` to include Dashboard. + - Update `src/frontend/src/modules/sales/routes.tsx` to include Clienti. + - Update `src/frontend/src/modules/warehouse/routes.tsx` to include Articoli. + - Create `src/frontend/src/modules/personale/routes.tsx`. +4. **Update Sidebar**: + - Update `src/frontend/src/components/Sidebar.tsx` to reflect the new menu structure. +5. **Verify**: Ensure all links work and the application runs correctly.