ChantillyApp è una piattaforma web pensata per digitalizzare il flusso di gestione ordini delle pasticcerie artigianali. Il sistema sostituisce il processo cartaceo — telefonate, foglietti, passaparola tra punti vendita — con un'interfaccia centralizzata che permette al personale di creare, gestire e stampare ordini di torte da qualsiasi dispositivo.
Il prodotto nasce da un'esigenza reale: le pasticcerie con più laboratori gestiscono ordini in modo indipendente ma condividono clientela, personale e logistica di consegna/ritiro. ChantillyApp risolve questa complessità con un'architettura multi-tenant che mantiene i dati separati per laboratorio, offrendo al titolare una visione d'insieme e al personale un'interfaccia rapida e senza attriti.
Funzionalità principali
Gestione ordini completa Form guidato con tipologie torta (classiche, crostate, moderne, monumentali), opzioni personalizzate per tipo (base, bagna, crema, topping), campi per decorazione, scritta, allergie e upload foto di riferimento. Il sistema costruisce automaticamente un riepilogo strutturato salvato sia in formato leggibile che in JSON per future elaborazioni.
Numerazione progressiva atomica Ogni laboratorio ha il proprio contatore per anno, gestito con lock transazionale per garantire unicità anche sotto carico concorrente. Il formato è ANNO-NNNNNN (es. 2026-000042).
Stampa A5 ottimizzata Ogni ordine genera una versione stampabile in formato A5 portrait, progettata per l'uso in laboratorio: layout tabellare compatto, evidenziazione allergie, miniatura foto allegata. La stampa si attiva automaticamente all'apertura.
Dashboard operativa Ricerca ordini per cliente o numero, filtri per intervallo date, statistiche in tempo reale (ordini del giorno, totale, prossimo numero). Caricamento progressivo AJAX per grandi volumi di dati.
Stack tecnologico
| Componente | Tecnologia |
|---|---|
| Backend | Laravel 12, PHP 8.4 |
| Frontend | Blade, CSS custom, JavaScript vanilla |
| Database | MySQL 8, single-database multi-tenant |
| Hosting | Plesk, server dedicato |
| Versioning | Git + GitHub, Semantic Versioning |
| Debug | Laravel Debugbar |
Aspetti tecnici rilevanti
Middleware pipeline custom Due middleware dedicati orchestrano il multi-tenant: uno risolve lo slug URL, carica il tenant, verifica l'accesso e inietta il contesto; l'altro verifica il ruolo per-lab dalla pivot. I controller restano puliti, il check di accesso è centralizzato.
Scope Eloquent per isolamento dati Il modello Order espone uno scope che filtra automaticamente per tenant. Tutti i controller usano questo scope, eliminando il rischio di data leak tra laboratori.
CSS senza framework L'intera interfaccia è stilizzata con un file CSS custom con variabili CSS per il theming dinamico. Nessun framework CSS — ogni componente è disegnato per il contesto specifico del prodotto, garantendo leggerezza e pieno controllo sull'estetica.
Theming dinamico da database I colori di ogni laboratorio (accent, hover, soft) sono salvati nel database e iniettati come variabili CSS a runtime. Il titolare li modifica dal pannello admin con feedback visivo immediato, senza toccare codice.
Scalabilità orizzontale L'architettura single-database multi-tenant consente di aggiungere decine di laboratori senza modifiche al codice o al database. Ogni nuovo tenant è una riga nella tabella labs — il resto è automatico.
Risultati
- Prodotto operativo in produzione con clienti attivi
- Tempo di onboarding nuovo laboratorio: meno di 5 minuti
- Interfaccia utilizzabile da personale non tecnico senza formazione
- Zero downtime durante la migrazione architetturale da single-tenant a multi-tenant
- Codebase versionata con SemVer e changelog completo dalla v0.0