Progetto generato usando il template react-ts
di Vite.
Requirements: NodeJS
- Usare
npm i
per installare le dipendenze - Inserire variabili d'ambiente necessarie in un file
.env
nella root directory del progetto come mostrato nel file d'esempio.env.example
- Usare
npm run dev
per far partire un server locale di sviluppo
A seguito dell'esecuzione di questi comandi verrà avviato una versione di sviluppo utilizzabile in locale dell'applicativo, raggiungibile all'indirizzo di base visualizzato nel terminale
Ha lo scopo di generare e gestire le directory del progetto, la compilazione del codice, il server di sviluppo e la build finale.
Libreria che si occupa della gestione della visualizzazione dell'interfaccia, manipolazione del DOM, gestione degli eventi di esso e altro. La libreria è molto semplice e ricopre un ruolo ben preciso, ad integrazione di essa per le varie funzionalità si sono integrate le librerie elencate nei prossimi punti.
Si è utilizzata questa libreria che offre componenti e metodologie per dividere in pagine raggiungibili da path diverse le varie parti dell'interfaccia.
Libreria di componenti grafici pre-realizzati che offre funzionalità per la gestione degli stili e del tema grafico.
Per affrontare la problematica della gestione dello stato globale e dello stato dei dati proveniente da backend si è deciso di usare la soluzione unica Redux, scelta per essere una soluzione ben definita e documentata. In particolare si è usato la libreria Redux toolkit che semplifica il setup di Redux.
Per la parte riguardante il recupero da dati dall'api si è deciso di usare un tool integrato in Redux quale Redux toolkit.
Sito ufficiale L'autenticazione è gestita tramite la libreria Amplify di AWS, tramite Amazon Cognito.
src/components
contiene i componenti dell'interfacciasrc/hooks
contiene i custom hooks usati nel progettosrc/globals
contiene file di configurazione globali necessari all'applicativosrc/router
contiene la configurazione del router che gestisce la divisione in pagine e l'accesso a essesrc/pages
contiene i componenti che rappresentano le varie pagine gestite dal routersrc/app/services
contiene le funzionalità che gestiscono la problematica del recupero di dati dal backendsrc/app/slices
contiene le funzionalità che servono alla gestione dello stato globalesrc/types
contiene tipi utili all'intero applicativo