# Refactoring Report Designer into a Module ## Obiettivo Trasformare la parte del report designer in un modulo a sé stante (`report-designer`). Una volta attivato, questo modulo abilita nelle altre applicazioni la possibilità di stampare PDF. ## Stato Attuale Il codice del report designer è sparso in `src/frontend/src/pages` e `src/backend/Zentral.API/Controllers`. ## Piano di Lavoro 1. **Frontend**: - [x] Creare struttura modulo: `src/frontend/src/modules/report-designer/` - [x] Spostare pagine e componenti. - [x] Creare `routes.tsx`. - [x] Aggiornare i riferimenti e le rotte in `App.tsx`. - [x] Aggiornare `reportService.ts` con le nuove rotte API. 2. **Backend**: - [x] Creare struttura modulo: `src/backend/Zentral.API/Modules/ReportDesigner/` - [x] Spostare Controller (`ReportTemplatesController`, `ReportResourcesController`, `ReportsController`). - [x] Aggiornare namespace e rotte API. - [x] Spostare DTO condivisi in `AprtModels.cs` per risolvere dipendenze circolari/mancanti. 3. **Integrazione**: - [x] Verificare build Frontend e Backend. ## Log - 2025-12-04: Iniziato refactoring. - 2025-12-04: Spostati file frontend e creati routes. - 2025-12-04: Aggiornato App.tsx con ModuleGuard. - 2025-12-04: Spostati controller backend e aggiornati namespace. - 2025-12-04: Risolti problemi di compilazione backend spostando DTO. - 2025-12-04: Aggiornato reportService.ts frontend. - 2025-12-04: Completato.