Applicazione web per lo sharing di Biciclette e Monopattini nell'area urbana di Zootropolis(Bari): permette agli utenti di individuare, prenotare e sbloccare i mezzi disponibili in città, agli operatori di gestirne manutenzione e distribuzione, e all'amministrazione pubblica di monitorare l'utilizzo del servizio tramite report.
Il sistema è organizzato attorno a tre ruoli:
- Visualizzazione dei mezzi disponibili su mappa interattiva
- Prenotazione e sblocco di un mezzo, gestione della corsa attiva
- Storico delle corse effettuate
- Gestione del metodo di pagamento e profilo personale
- Invio di richieste di assistenza e segnalazioni di guasto
- Gestione delle segnalazioni di guasto e della manutenzione dei mezzi
- Visualizzazione della distribuzione della flotta sul territorio
- Gestione delle richieste di assistenza degli utenti
- Monitoraggio delle violazioni territoriali
- Dashboard di monitoraggio del servizio
- Report sull'utilizzo per area e per tratte
- Gestione delle zone urbane regolamentate
| Ambito | Tecnologia |
|---|---|
| Frontend | React 19 + TypeScript |
| Build tool | Vite |
| Styling | Tailwind CSS |
| Mappe | Leaflet / React-Leaflet |
| Animazioni | Framer Motion |
| Icone | Lucide React / React Icons |
| Routing | React Router DOM |
| Autenticazione & Backend | Firebase |
| Documentazione / Diagrammi | draw.io, Visual Paradigm |
- Node.js (versione 18+ consigliata)
- npm
npm install
npm run devnpm run buildI file ottimizzati vengono generati nella cartella dist/.
Per accedere ai ruoli operativi sono disponibili i seguenti account di test:
Amministrazione Pubblica
- Email:
amministrazione@smartmobility.test - Password:
amministrazione
Operatore
- Email:
operatore@smartmobility.test - Password:
operatore
Gli utenti possono registrarsi autonomamente tramite la schermata di registrazione.
trunk/
├── public/ # Asset statici (immagini, icone, ecc.)
├── src/ # Codice sorgente dell'applicazione
├── .env # Variabili d'ambiente (configurazione Firebase inclusa)
├── index.html # Entry point HTML
├── package.json # Dipendenze e script (dev, build)
├── package-lock.json # Versioni esatte delle dipendenze
├── vite.config.ts # Configurazione Vite
├── tailwind.config.js # Configurazione Tailwind CSS
├── eslint.config.js # Configurazione ESLint
├── tsconfig.json # Configurazione TypeScript (root)
├── tsconfig.app.json # Configurazione TypeScript (applicazione)
├── tsconfig.node.json # Configurazione TypeScript (ambiente Node)
└── README.md # Questo file