In questo ambizioso progetto, ho lavorato con Solver Digital e Matteo Ricupero per la realizzazione completa dell'intera infrastruttura. Ho realizzato il backend e le API utilizzate dal frontend. Si è trattata di una vera è propria sfida realizzare un progetto così complesso, nel tempo recordi di 4 mesi. L'applicazione deve gestire molte criticità, tra cui garantire l'effettiva erogazione del servizio, una movimentazione sicura del denaro, la gestione della sicurezza e dei reclami. Deve inoltre scalare automaticamente durante i picchi di utilizzo e garantire una continuità di servizio totale 365 giorni l'anno.
L'app TUXI permette agli utenti, dopo averla installata gratuitamente dal Play Store o da App Store, di selezionare in modo semplice l'itinerario che desiderano percorrere optando tra diverse modalità di ricerca: la propria posizione, un punto di interesse, un indirizzo o un punto a scelta sulla mappa.
L'App attraverso il suo algoritmo calcola il costo del tragitto tenendo conto di distanza e tempo di percorrenza,
anche sulla base delle condizioni di traffico monitorate in tempo reale.
L'utente può decidere quale veicolo utilizzare e sapere quanto tempo questo impiegherà a raggiungerlo e
a quel punto effettuare il pagamento tramite carta di credito.
Immediatamente dopo il pagamento, una notifica viene inviata ai driver circostanti tramite un sofisticato algoritmo che da priorità ai driver più vicini. Il driver, anch'esso dispone di un app dedicata, che può installare e in totale autonomia effettuare la registrazione e il caricamento dei documenti di licenza. Se interessato alla corsa il driver può accettarla e partire Immediatamente verso il cliente.
Al termine della corsa l'utente può lasciare una reccensione in merito a come si è trovato con il taxi e dopo 24 ore dal termine della corsa i fondi vengono inviati sul conto del driver.
L'architettura serverless
Come per tutti i miei progetti da molti anni a questa parte, anche TUXI è basato su un architeturra completamente serverless, nel quale la manutenzione dei server e la responsabilità dell'uptime risiedono su un livello completamente separato da quello dello sviluppo applicativo. In questo modo il fornitore dei server si può occupare autonomamente dell'uptime senza dover interagire con la logica dell'applicativo. Inoltre l'utilizzo di container stateless permette all'applicazione di scalare orizzontalmente da 0 a centinaia di macchine in modo completamente automatico e in base al carico richiesto. Questa tecnologia consente a TUXI di ottimizzare al massimo i costi computazionali, che sono basati esclusivamente sull'effettivo utilizzo dell'applicazione.