FoodDesk

Via i blocchetti di carta. La fila scorre più veloce.

FoodDesk è il gestionale open source per sagre, feste di paese e ristoranti temporanei. I camerieri prendono le comande dal telefono, la cucina spunta i piatti su un tablet, i ticket si stampano da soli — e a fine serata i conti sono già fatti. Niente cloud, niente abbonamenti, niente commissioni per ordine.

Account demo: mario (cameriere), cucina (display cucina), admin — password fooddesk-demo. Aprila su due dispositivi: invia un ordine da uno e guardalo comparire all’istante sull’altro.

Comanda presa dal telefono del cameriere

Pensato per tutta la squadra

Ogni ruolo ha esattamente lo schermo che gli serve — e niente di più.

🧾 I camerieri

Una PWA nata per il telefono: tocchi i prodotti, conti i coperti, aggiungi la nota per la cucina, invii. Gli ordini sono numerati per giornata di servizio e un singhiozzo di rete non può mai creare un doppione.

🍳 La cucina

Gli ordini nuovi compaiono nell’istante in cui vengono inviati, senza ricaricare. Ogni piatto si segna pronto con un solo tap, e un ordine annullato grida ANNULLATO invece di sparire in silenzio.

🎩 Il caposala

Governa la sala con poteri quasi da amministratore: menù, tutti gli ordini, annullamenti e report — ma niente pagina Impostazioni, e sul personale gestisce solo i camerieri.

⚙️ L’amministratore

Costruisce il menù, gestisce personale e ruoli, e disegna dal browser ogni documento stampato — logo, filigrana, formato carta, rotolo termico 80mm compreso — in cinque lingue.

📊 Chi fa i conti

Dashboard giornaliera in tempo reale: incasso, coperti, medio a coperto, dettaglio per prodotto e categoria — più CSV pulito e report PDF in una pagina.

🖨 La stampa

I ticket cucina vanno dritti a qualunque stampante CUPS, con ristampa automatica se la stampante si inceppa; senza stampante subentra la finestra di stampa del browser.

Guardalo in azione

La demo live carica una serata di sagra d’esempio, azzerata ogni 6 ore.

Display cucina con gli ordini in tempo reale
Il display cucina: un tap grande per piatto, gli ordini si completano da soli.
Dashboard dei report di fine giornata
I report di fine giornata: incasso, coperti e dettagli, pronti da esportare.

Una serata alla sagra

Tutto gira su una sola macchina economica — un mini-PC o una scheda classe Raspberry — sul Wi-Fi della festa. I telefoni installano FoodDesk come un’app nativa direttamente dal browser.

📱 Telefoni dei camerieriPWA sul Wi-Fi della festa
🍳 Tablet cucinaaggiornamenti live, zero refresh
🖥 Una sola macchinanginx · Fastify · SQLite
🖨 StampanteCUPS

Il database è un singolo file SQLite, con backup automatico ogni 15 minuti. Un ordine preso all’1:30 di notte conta ancora per la serata in corso — i ristoranti non finiscono a mezzanotte.

Mettilo in funzione

Un comando con Docker. La password admin generata viene stampata al primo avvio.

docker run -d --name fooddesk -p 3000:3000 -v fooddesk-data:/data \
  ghcr.io/adefilippo83/fooddesk:latest
docker logs fooddesk   # al primo avvio stampa la password admin generata

Preferisci un server per la festa? Uno script idempotente configura systemd, nginx e backup su Debian. Oppure aprilo in GitHub Codespaces per un’istanza usa e getta.

Principi che il codice fa rispettare davvero

TypeScript da cima a fondo · Fastify · SQLite · React 19 PWA · GPLv3.

  • I soldi sono centesimi interi — nessun float nel percorso del denaro, e i prezzi arrivano sempre dal database — un client manomesso non può farsi lo sconto.
  • La storia è immutabile — le righe d’ordine fotografano nome e prezzo; gli annullamenti hanno traccia di audit, mai cancellati. Gli scontrini di ieri sopravvivono al menù di oggi.
  • L’autorizzazione vive sul server — ogni rotta è protetta; la UI che nasconde le pagine admin è solo cosmesi e la suite di test è il contratto vero.
  • Blindato di serie — password scrypt, blocco anti-bruteforce, CSP e security header, controllo Origin sulle scritture, invio ordini idempotente.