Piattaforma digitale per ristorazione
Pizzeria da Tommaso
Un ecosistema digitale che collega esperienza cliente e operatività di una pizzeria, dal catalogo online alla gestione degli ordini.
- Tipologia: Piattaforma digitale per ristorazione
- Settore: Food / Ristorazione
- Componenti: Sito web · App mobile · POS · Backend
- Ruolo: Sviluppatore (Sviluppato in team)
- Stato: Concluso (Live)
- Periodo: Maggio – Agosto 2026
Contesto e Obiettivi
Il progetto nasce dall'esigenza di migliorare la presenza online del locale, in relazione all'esperienza digitale del cliente e ai flussi operativi interni. L'obiettivo non è soltanto presentare un menu online, ma coordinare più canali attraverso un sistema comune.
Il Problema
Gestire i canali dedicati al cliente e l'operatività interna diventava frammentato senza una struttura centralizzata. Un sistema disconnesso genera colli di bottiglia durante i picchi di richieste.
L'Obiettivo
Mettere in relazione il sito web, l'app mobile, la ricezione ordini, i pagamenti digitali e il gestionale di cassa POS tramite un solido backend comune.
Il mio ruolo
Questo progetto è stato sviluppato in team (io e il mio socio). In particolare mi sono occupato di:
- Co-progettazione dell'architettura di sistema, definizione dell'idea e dei flussi logici dell'ecosistema con supporto e rifiniture periodiche al backend.
- Integrazione e sviluppo dei componenti lato frontend web per l'ordinazione online.
- Implementazione del software gestionale POS desktop con Electron e React per la gestione in pizzeria e la stampa automatica delle comande.
Architettura dell'Ecosistema
Il backend centralizza la logica condivisa e mette in relazione le interfacce destinate al cliente con gli strumenti utilizzati nella gestione operativa della pizzeria.
Schema architetturale: interfacce client (Web, App Flutter, POS Electron), gateway GraphQL e servizi di terze parti integrati (Stripe, Firebase).
I Componenti
1. Sito Web Pubblico
Catalogo digitale e percorso per le ordinazioni online diretto da browser.
Stack: HTML, CSS, JavaScript
2. App Mobile
Esperienza ottimizzata per smartphone, con notifiche push e checkout fluido.
Stack: Flutter, Dart
3. Gestionale POS
Supporto operativo in locale per la ricezione ordini, l'amministrazione, e la stampa delle comande.
Stack: Electron, React
4. Backend Centrale
La mente dell'ecosistema: coordina la logica condivisa, il calcolo centralizzato dei prezzi e l'accesso ai dati.
Stack: NestJS, GraphQL, PostgreSQL, Prisma
Flusso Operativo
- Esplorazione: Il cliente naviga il menu su app o sito.
- Invio Ordine: La piattaforma cliente invia i dati dell'ordine.
- Validazione: Il backend convalida i dati e calcola i prezzi lato server.
- Ricezione POS: L'ordine diventa disponibile nel gestionale in pizzeria.
- Aggiornamento: Lo stato dell'ordine cambia mano a mano che viene evaso.
- Notifica: Il cliente riceve l'aggiornamento sullo stato del suo pasto.
Decisioni Tecniche
Backend Centralizzato
Motivazione: Centralizzare tutta la logica di business e il listino prezzi sul server, togliendo responsabilità al frontend.
Trade-off: Maggiore complessità infrastrutturale in fase di setup, ampiamente ripagata da coerenza e sicurezza su ogni canale (web, iOS, Android, Desktop).
GraphQL come API Layer
Motivazione: I vari client (sito web, app, gestionale) hanno bisogni molto diversi. GraphQL permette di estrarre e richiedere solo i dati strettamente necessari per l'interfaccia corrente.
Trade-off: Necessita di accortezze aggiuntive contro il sovraffaticamento (es. limitare la profondità delle query) ma snellisce lo sviluppo frontend.
Stato Attuale
Il progetto riunisce canali cliente e gestione operativa in un ecosistema coeso, formato da componenti distinti che comunicano fluidamente con un backend condiviso.
La piattaforma è oggi conclusa e pienamente operativa.
Takeaways
Lo sviluppo di una piattaforma end-to-end reale ha consolidato diverse competenze tecniche e metodologiche:
- Progettazione di flussi modulari: strutturare l'architettura in modo che ogni canale (web, app mobile, cassa) possa evolvere in autonomia mantenendo coerenza con il backend centrale.
- Interoperabilità tra piattaforme eterogenee: far dialogare ambienti tecnologici differenti (Dart/Flutter, React/Electron, frontend web) tramite un unico layer API GraphQL condiviso.
- Affidabilità in scenari operativi reali: garantire stabilità durante i picchi di lavoro della pizzeria, gestendo sincronizzazione degli stati degli ordini e stampe senza blocchi operativi.
- Sviluppo collaborativo in team: coordinare efficacemente l'architettura complessiva, la divisione dei compiti e l'integrazione continua di componenti complessi.
Media & Link
Visita il sito web pubblico del ristorante per esplorare l'interfaccia e-commerce: