( caso studio /08 )Web App · Delivery

iFRUITdelivery network

Un delivery completo — cliente, rider e admin — con tracking live su mappa e chat in tempo reale, dentro un'estetica notturna ispirata all'iFruit di GTA.

3ruoli: cliente, rider, admin
livetracking rider su mappa
chatin-app cliente ↔ rider
/01

Il contesto

Una demo commerciale con una richiesta insolita: dimostrare che si può costruire un delivery completo stile Glovo — ordini, rider, tracking — con un'identità visiva memorabile. Il riferimento scelto: l'iFruit di GTA. L'app non è a schermo intero, è renderizzata dentro il mockup di uno smartphone che galleggia su una scena notturna di Los Santos — griglia stradale, luci della città che pulsano, glow al neon.

/02

Tre facce, in tempo reale

  • Il cliente naviga ristoranti e menu, riempie il carrello, fa checkout con posizione GPS e poi segue il rider in tempo reale su mappa, con ETA e chat in-app diretta.
  • Il rider ha la sua app: va online, riceve la proposta d'ordine, accetta o rifiuta, segue il flusso a due fasi (ritiro → consegna) con distanze live e guadagni aggiornati in tempo reale.
  • L'admin governa tutto da un pannello a sei sezioni — dashboard, ordini, prodotti, ristoranti, utenti, whitelist — più una CLI di amministrazione per gestire la whitelist utenti da terminale: init, add, remove, list, reset password.
/03

Sotto il cofano

Il cuore è il realtime: Socket.IO trasporta la posizione del rider (lat, lng, direzione, velocità), i cambi di stato dell'ordine e la chat, con stanze separate per cliente, rider e admin. Backend Express con sessioni persistenti e tre middleware di ruolo; ordini e messaggi in SQLite, mappe Leaflet, frontend vanilla senza bundler. Il checkout include anche un flusso di pagamento crypto dimostrativo (ETH/BTC/USDC) con QR generato client-side. Un wrapper Expo/WebView impacchetta il tutto come app mobile.

/04

Dove siamo

Consegnato, completo di presentazione cliente. In vetrina sul sito SuperNova tra i progetti.

/ST

Scheda tecnica

Node.js + ExpressSocket.IOSQLite (better-sqlite3)LeafletVanilla JSExpo WebView (wrapper mobile)