Files
zentral/docs/development/devlog/2025-12-03_event_management_plan.md
2025-12-04 02:12:34 +01:00

37 lines
2.2 KiB
Markdown

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