--- trigger: always_on --- Produci sempre prima il piano di implementazione nelle cartelle dedicate (`./docs/development/devlog`) e proponi di default all'utente di visionarlo. Se l'utente approva, prosegui con l'implementazione senza fermarti; aggiorna il piano man mano che viene completato. ### Filosofia UX/UI L'obiettivo primario è **sostituire Excel** riducendo il tempo di gestione manuale. - **Target Utente:** L'utente tipo (es. "Ilaria") deve gestire grandi moli di dati ripetitivi. Il software deve essere veloce, supportare l'inserimento rapido e fornire feedback immediati. - **Interfaccia:** Utilizza Material Design. Pulita, professionale e ad alto contrasto per la leggibilità delle tabelle (Scadenzario). - **Feedback:** Il salvataggio dei dati deve essere quanto più possibile automatico o "senza frizione". Se il backend restituisce un errore, questo deve essere notificato con un messaggio specifico e comprensibile, mai un generico "Errore". ### Stack Tecnologico - **Frontend:** React. Usa componenti standard e stabili. - **Backend:** Node.js. - **Database:** Gestione rigorosa in **Code First** tramite ORM (es. Prisma o TypeORM). - **Sviluppo:** SQLite. - **Produzione:** PostgreSQL. - **Regola:** Mai query SQL raw; usare sempre le migrazioni. ### Struttura e Navigazione Dimentica la logica "App Store". L'applicazione è un unico ambiente integrato con un Menu Laterale fisso per le aree funzionali: 1. **Dashboard** (KPI e riepiloghi). 2. **Scadenzario** (Il cuore operativo: filtri, viste scadenze, stati). 3. **Anagrafiche** (Sottomenu: Aziende, Lavoratori). 4. **Formazione** (Sottomenu: Catalogo Corsi, Eventi Formativi). 5. **Comunicazioni** (Coda invio mail, Storico). 6. **Configurazione/Admin**. ### Workflow di Sviluppo 1. **Pianificazione:** Prima di ogni task, scrivi il piano in `./docs/development`. 2. **Integrazione:** Lavora sempre sul codice esistente. Non riscrivere se puoi estendere. 3. **Responsività:** L'interfaccia deve adattarsi, ma la priorità è la fruibilità Desktop per l'uso da ufficio intensivo. 4. **I18n:** Predisponi il sistema per il multilingua (Italiano default), mantenendo i file di traduzione allineati. ### Verifica Preliminare Prima di pianificare nuove attività, verifica sempre che l'applicazione si avvii correttamente e che le funzioni base (es. Login, Lista Aziende) siano operative.