πŸ› οΈ Documentazione Tecnica

Architettura, database e dettagli implementativi

β¬… Torna alla Home

Architettura del Sistema

Struttura del Database

Tabelle Principali

CATEGORIE

Categorie di prodotti (Pizze, Bevande, ecc.)

REPARTI

Reparti di produzione (Cucina, Bar, Pizzeria)

PRODOTTI

Catalogo prodotti

TAVOLI

Tavoli e opzioni servizio

ORDINI

Ordini effettuati

DETTAGLI_ORDINE

Righe ordine (prodotti ordinati)

COMANDE

Comande da stampare per i reparti

Flusso Ordine

  1. Utente crea ordine tramite public/cassa.php
  2. Frontend chiama api/salva_ordine.php con dati ordine
  3. Backend:
    • Salva record in ORDINI
    • Salva righe in DETTAGLI_ORDINE
    • Crea comande per reparto in COMANDE
    • Tenta stampa immediata (se lp disponibile)
  4. Worker CLI (scripts/worker_process_comande.php):
    • Eseguito periodicamente (cron/systemd)
    • Trova comande con stato 'pending' o 'error'
    • Tenta stampa tramite lp -d queue file
    • Aggiorna stato a 'sent' o 'error'

Organizzazione File

RICEVUTE/
β”œβ”€β”€ api/                  # Endpoint API REST
β”œβ”€β”€ config/               # Configurazione e autenticazione
β”œβ”€β”€ docs/                 # Documentazione
β”‚   └── site/            # Sito documentazione HTML
β”œβ”€β”€ public/              # File web-accessible
β”‚   β”œβ”€β”€ assets/          # CSS e JavaScript
β”‚   β”œβ”€β”€ cassa.php        # Creazione ordini
β”‚   β”œβ”€β”€ report.php       # Report vendite
β”‚   └── admin.php        # Pannello admin
β”œβ”€β”€ scripts/             # Script CLI e worker
β”œβ”€β”€ sql/                 # Schema database
└── src/                 # Classi PHP

Worker Process Comande

Lo script scripts/worker_process_comande.php processa le comande in coda:

Parametri CLI

Stati Comanda

Esecuzione Periodica

Opzione 1 - Cron (ogni minuto):

* * * * * /usr/bin/php /path/worker_process_comande.php --limit=20

Opzione 2 - Systemd timer (raccomandato):

sudo systemctl enable --now worker_comande.timer

Sicurezza

Feature Speciali

Ordini Staff

Flag Staff = true in tabella ORDINI:

Sconti

Campo Sconto in tabella ORDINI:

Coperti

Gestione automatica costo coperto:

Link Utili