Progetto generato usando il template react-ts di Vite.
Requirements: NodeJS
- Usare
npm iper installare le dipendenze - Inserire variabili d'ambiente necessarie in un file
.envnella root directory del progetto come mostrato nel file d'esempio.env.example - Usare
npm run devper 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/componentscontiene i componenti dell'interfacciasrc/hookscontiene i custom hooks usati nel progettosrc/globalscontiene file di configurazione globali necessari all'applicativosrc/routercontiene la configurazione del router che gestisce la divisione in pagine e l'accesso a essesrc/pagescontiene i componenti che rappresentano le varie pagine gestite dal routersrc/app/servicescontiene le funzionalità che gestiscono la problematica del recupero di dati dal backendsrc/app/slicescontiene le funzionalità che servono alla gestione dello stato globalesrc/typescontiene tipi utili all'intero applicativo