Skip to main content

πŸ—‚οΈ 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.