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

2.2 KiB

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

  • Creare cartella src/frontend/src/modules/events.
  • Spostare le pagine specifiche degli eventi (EventiPage, EventoDetailPage, CalendarioPage, LocationPage) dentro src/frontend/src/modules/events/pages.
  • Creare src/frontend/src/modules/events/routes.tsx per gestire le rotte del modulo.
  • Aggiornare App.tsx per includere le rotte del modulo eventi sotto ModuleGuard.

2. Integrazione Funzionalità Esistenti

  • Verificare che ClientiPage, ArticoliPage, RisorsePage siano accessibili e integrate correttamente. (Sono rimaste nel menu Core come previsto).
  • Assicurarsi che il menu laterale mostri le voci corrette quando il modulo è attivo.

3. Backend & Database

  • Verificare l'esistenza del modulo "events" nella tabella AppModules (o crearlo tramite migrazione/seed).
  • Assicurarsi che le API esistenti siano protette o accessibili correttamente.

4. Store & Attivazione

  • Verificare che il modulo appaia nella pagina di acquisto moduli.
  • Testare l'attivazione/disattivazione del modulo.

5. Refactoring & Pulizia

  • Aggiornare gli import nei file spostati.
  • 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.