Torna alla home

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.

NestJS GraphQL Flutter React Electron
  • 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.

Diagramma dell'architettura dell'ecosistema Pizzeria da Tommaso

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

  1. Esplorazione: Il cliente naviga il menu su app o sito.
  2. Invio Ordine: La piattaforma cliente invia i dati dell'ordine.
  3. Validazione: Il backend convalida i dati e calcola i prezzi lato server.
  4. Ricezione POS: L'ordine diventa disponibile nel gestionale in pizzeria.
  5. Aggiornamento: Lo stato dell'ordine cambia mano a mano che viene evaso.
  6. 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:

pizzeriadatommaso.it

Hai un progetto che richiede sito, app, o integrazioni di flussi digitali?

Parliamone
Torna ai progetti