ποΈ Struttura del progetto Dashboard
Il codice sorgente della Dashboard vive nella cartella src/.
Di seguito la struttura delle principali directory e il loro scopo.
π³ Albero cartelle (panoramica)β
src
βββ assets/ # Immagini e risorse statiche
βββ authentication/ # Login, registrazione, password reset
βββ company-connect/ # Utente autenticato β collegarsi a un'azienda esistente
βββ company-create/ # Utente autenticato β creare/riclamare una nuova azienda
βββ company-invite-verification/ # Accettazione invito tramite token nell'URL
βββ company-pending-verification/ # (DEPRECATO) verifica documentale lato backoffice
βββ dashboards/ # Moduli delle sezioni per utenti connessi a una company
βββ directives/ # Direttive Angular (es. tooltip) β attualmente non in uso
βββ email-verification-page/ # (TODO/XX) pagina verifica email β da rivedere/descrivere
βββ environments/ # Variabili per ambiente (dev/stage/prod)
βββ errors/ # Pagine di errore (es. 404)
βββ home/ # Entry point caricato da main.ts
βββ modules/ # Moduli principali (AppModule, SharedModule, routing)
βββ profile/ # Gestione profilo utente (fuori dal contesto company)
βββ services/ # Servizi injectable condivisi
βββ social-callback/ # Callback login social (Google, Apple, β¦)
βββ translations/ # Chiavi e testi tradotti (i18n)
βββ types/ # Tipi e interfacce (attualmente vuoto)
βββ userAccessStore/ # Store accessi dellβutente alle company (NgRx)
βββ utils/ # Helper e funzioni generiche
βββ variables/ # Costanti e variabili globali (es. capienza bicchiere)
π Dettaglio directoryβ
assets/β
Risorse statiche (loghi, immagini, icone, file media).
authentication/β
Flusso di registrazione, login e recupero password.
Punto dβingresso per utenti non autenticati.
company-connect/β
Percorso guidato per collegare lβutente autenticato a una company esistente (ricerca/claim).
company-create/β
Flusso per creare/reclamare una nuova company quando non esiste ancora in piattaforma.
company-invite-verification/β
Gestione dellβinvito ricevuto da un altro utente:
lettura token da URL, verifica e connessione alla company.
company-pending-verification/ (deprecata)β
Vecchio flusso che bloccava le company reclamate/create in attesa di verifica documentale lato backoffice.
Non piΓΉ in uso: mantenuta per backward compatibility / migrazioni.
dashboards/β
Contiene le feature module caricate in lazy loading (aree operative disponibili solo a utenti autenticati e collegati a una company).
directives/β
Direttive Angular (es. tooltip). Attualmente non utilizzate.
email-verification-page/β
Da documentare: pagina di verifica email.
TODO: completare descrizione e flusso quando riutilizzata.
environments/β
Configurazioni per ambiente (variabili, endpoint, flag).
errors/β
Componenti per pagine di errore (404, accessi non consentiti, ecc.).
home/β
Root component caricato da main.ts.
Inizializza tema, i18n e orchestration della prima navigazione.
modules/β
Moduli core e condivisi (es. AppModule, SharedModule, routing principale).
profile/β
Gestione profilo utente (preferenze, dati personali, sicurezza).
Opera fuori dal contesto company: riguarda lβutente in quanto tale.
services/β
Servizi injectable (API client, auth, storage, helpers di dominio).
social-callback/β
Callback e gestione provider OAuth (Google, Apple, ecc.).
translations/β
Chiavi e testi i18n (IT/EN).
Seguire convenzioni di naming esistenti.
types/β
Tipi e interfacce TypeScript condivise. (Al momento vuota.)
userAccessStore/β
Store centrale (NgRx) che modella gli accessi dellβutente alle varie company.
Fondamentale per:
- stabilire per quale company l'utente ha accesso e per quale sta operando attualmente;
- abilitare/limitare le sezioni disponibili in base al tipo di company per la quale sta operando;
- risolvere permessi a livello di UI e routing perche un accesso avrΓ un determinato ruolo.
utils/β
Utility e funzioni generiche riusabili.
variables/β
Costanti e variabili globali (es. capienza standard di un bicchiere).
Aggiornare con cautela: usate trasversalmente.
π Note operativeβ
- Le sezioni sotto
dashboards/sono caricate in lazy loading e richiedono utente autenticato + company attiva. userAccessStore/Γ¨ il punto unico di veritΓ per permessi e contesto aziendale.- Le label di menu/pagine vanno mantenute in
translations/per garantire coerenza multilingua.