refactor: modularize frontend pages into feature-specific modules, update routing, and related documentation.

This commit is contained in:
2025-12-03 19:55:19 +01:00
parent 8a735e1443
commit 436720d4a7
5 changed files with 67 additions and 1 deletions

View File

@@ -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.

View File

@@ -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.