Il cervello digitale della tua flotta viaggia con te

Agenda robusta e intelligente con controllo conflitti, portale autisti mobile-first, gestione flotta completa e contabilità integrata — in un unico ecosistema che gira sul tuo NAS o in cloud. Self-hosted per il massimo controllo, cloud per la massima semplicità.

3 Viste Calendario
Conflitti Automatici
Portale Autista Mobile
Google Maps Integrato
~140 MB RAM
PHP 8.2 + MariaDB 11
Docker Ready
Self-hosted o Cloud
Disaster Recovery AI
0
Viste Calendario
0
Tipi Evento
0
Costi Extra Tracciabili
0
MB RAM Totali
0
Modalità Deploy
CeolAgenda — Vista Calendario Mese con viaggi, noleggi e appuntamenti
Calendario Intelligente

Tre viste. Zero conflitti.
Totale controllo.

Il cuore di CeolAgenda è un calendario multi-vista che ti mostra esattamente cosa succede nella tua flotta — oggi, questa settimana, tutto il mese.

📅

Vista Mese — stile Google Calendar

Barre multi-giorno con algoritmo greedy first-fit per evitare sovrapposizioni verticali. Chip colorati per veicolo, icone tipo evento (🚌 🔑 🔔). Click su cella vuota → form creazione con data preimpostata. Tooltip dettagliato al hover. Modalità fullscreen.

📋

Vista Settimana — dettaglio completo

7 colonne con badge stato (In viaggio/Rientro/Partenza). I viaggi multi-giorno in transito appaiono in cima. Percorso, veicolo con pallino colore, autisti e cliente visibili senza click.

🔍

Vista Giorno — 4 categorie intelligenti

Classificazione automatica: In viaggio, Giornaliero, Partenza, Rientro. Card espanse con ogni dettaglio, conteggio totale eventi e messaggio se vuoto.

Switcher rapido Viaggio / Noleggio / Appuntamento

Selettore a 3 pulsanti cambia tipo evento senza chiudere il modale. Navigazione avanti/indietro e pulsante "Oggi". Click sull'header giorno → salto alla vista giornaliera.

Gestione Viaggi & Conflitti

Ogni viaggio sotto controllo,
dal preventivo al pagamento

Form completi, validazioni a prova di errore, rilevamento sovrapposizioni in tempo reale e calcolo automatico dei costi extra.

🚌

Creazione Viaggio Completa

Un unico form per ogni aspetto del servizio — dalla selezione cliente all'ultimo costo extra.

  • Ricerca cliente asincrona (debounce 300ms) con card selezione e creazione inline con controllo duplicati telefono
  • Date partenza/rientro con validazione automatica e orari preimpostabili
  • Autocomplete indirizzi con Google Places API (New) — salva Place ID, lat/lng e indirizzo formattato
  • Tappe intermedie illimitate con nome personalizzato, numerazione dinamica e pulsante rimozione
  • Selezione veicolo con pallino colore e badge "OCCUPATO" in tempo reale — veicoli fuori servizio filtrati
  • Multi-selezione autisti con chip rimovibili — autisti sospesi filtrati, occupati evidenziati
  • Servizi extra: Pasto, Parcheggio, ZTL, Hotel, Varie — ciascuno con importo, sommati al totale
  • Codice CIG/Ordine, metodo pagamento (Bonifico/Contanti/POS), data scadenza pagamento
🛡️

Rilevamento Conflitti Automatico

Mai più un veicolo assegnato a due viaggi — il sistema lo impedisce prima che tu salvi.

  • Verifica sovrapposizione veicolo cross-entity: viaggi vs viaggi, viaggi vs noleggi
  • Verifica individuale per ogni autista con nome completo nel messaggio di errore
  • Esclusione automatica dell'evento corrente in modifica (AND id ≠ ?)
  • Errore HTTP 409: "Marco Bianchi è già assegnato a un altro viaggio nello stesso orario"
  • Badge rosso "OCCUPATO" nei dropdown, risorse libere ordinate per prime
  • Chiamata API in tempo reale basata sulle date selezionate nel form
📋

Dettaglio Viaggio Interattivo

Click su qualsiasi evento → modale completo con ogni informazione e azioni rapide.

  • Stripe verticale col colore del veicolo assegnato
  • Percorso Partenza → Tappe → Arrivo cliccabile su Google Maps per navigazione diretta
  • Modifica inline località: mini-editor con autocomplete senza riaprire il form intero
  • Sezione economica: prezzo base + lista servizi extra + riga TOTALE calcolata
  • 3 flag toggle istantanei: Fatturato 🧾, Pagato ✅, Busta ✉️ — un click, API istantanea
  • Banner allerta rosso se veicolo fuori servizio o autista sospeso
  • Telefono e email cliente cliccabili (link tel: e mailto:)
🔑

Noleggi & Appuntamenti

Due moduli integrati nello stesso ecosistema con le stesse protezioni anticonflitto.

  • Noleggi: data ritiro/riconsegna, luogo con autocomplete, numero contratto, prezzo
  • Conflitto cross-entity: un veicolo a noleggio non può essere in viaggio nello stesso periodo
  • Appuntamenti: titolo, descrizione, data, ora, durata — orario fine calcolato dal backend
  • Icone a calendario: 🔑 bordo dorato per noleggi, 🔔 giallo per appuntamenti
  • Flag fatturato/pagato/busta anche sui noleggi — stessa UX dei viaggi
  • Appuntamenti visibili solo a editor/admin, nascosti ai viewer per privacy
Portale Autista

Lo smartphone dell'autista
diventa il suo cruscotto

Interfaccia mobile-first dedicata — l'autista vede solo i suoi viaggi, con navigazione Google Maps a portata di tap e countdown in tempo reale.

🟢

Card "In corso" — verde, prominente

Timeline verticale: Partenza → ogni Tappa → Arrivo. Ogni località link a Google Maps dalla posizione corrente. Info veicolo, cliente, colleghi e note. Card attive sempre sopra quelle in partenza.

🟠

Card "In partenza" — countdown arancione

"In partenza — tra X minuti" con countdown aggiornato ogni 60 secondi via setInterval. Stessa timeline e link navigazione della card attiva.

📱

3 viste calendario ottimizzate per mobile

Vista Giorno con card viaggio, Settimana con 7 sezioni verticali, Mese con pallini colorati. Tap su un giorno → salto alla vista giornaliera.

🔒

Privacy — dati sensibili rimossi lato server

L'autista NON vede: prezzi, CIG, pagamenti, flag economici, azienda esterna. Filtrati dalla risposta API, non solo nascosti via CSS. Admin/Editor con flag autista vedono il portale da mobile.

I Miei Viaggi
Marco B.
Giorno
Settimana
Mese
In corso
07:30
Piazzale Roma, Venezia
09:15
Sosta pranzo — Autogrill
12:00
Fiera di Roma
🚌 Corriera BluComune di Venezia
Tra 45 min
14:30
Hotel Danieli, VE
16:00
Aeroporto Marco Polo
🚐 NCC NeroAgenzia Stella
Ecosistema Flotta

Veicoli, clienti, autisti, utenti.
Tutto connesso.

Quattro anagrafiche integrate con protezioni antiduplicato, ruoli granulari e integrità referenziale.

🚌

Veicoli

Targa unica (auto-maiuscolo), soprannome, tipo (Pullman/Scuolabus/NCC/Altro).

  • Selettore colore honeycomb 54 tonalità
  • Colore visibile come stripe a calendario
  • Flag "Fuori servizio" — nascosto dalle ricerche, grigio a calendario con icona avviso
  • Protezione eliminazione con conteggio viaggi
👥

Clienti

Nome, ragione sociale, telefono (link cliccabile), email.

  • Duplicato telefono bloccato server + client
  • Creazione inline dal form viaggio
  • Ricerca istantanea con filtro testuale
  • Eliminazione bloccata se ha viaggi (409)
🧑‍✈️

Autisti

Account viewer con portale mobile dedicato.

  • Duplicato nome+cognome bloccato
  • Sospensione con disconnessione immediata
  • Storico viaggi preservato dopo sospensione
  • Grigio a calendario con icona avviso
👤

Utenti & Ruoli

Admin, Editor, Viewer — matrice permessi completa.

  • Username auto-generato nome.cognome
  • bcrypt cost 12 + blocklist password comuni
  • 2FA TOTP per admin/editor (Google Authenticator)
  • Cambio password forzato al primo accesso
  • User versioning → reload forzato su tutti i device
Amministrazione Evoluta

Pagamenti, export, notifiche.
Tutto a portata di click.

Strumenti operativi che trasformano il caos amministrativo in un flusso ordinato.

🔔

Notifiche Scadenze

Badge campanella con conteggio pagamenti scaduti. Pannello con: cliente, totale (prezzo + servizi), telefono/email cliccabili, CIG, percorso e giorni di ritardo in tempo reale. Include viaggi e noleggi.

📊

Export CSV Avanzato

8 gruppi selezionabili: Generale, Date, Percorso, Cliente, Veicolo/Autisti, Economia, Note, Stato. Selezione/deselezione per gruppo. Rispetta filtri attivi. Separatore punto e virgola, BOM UTF-8 per Excel italiano.

🔎

Filtri Combinabili

Ricerca testuale su tutto (cliente, indirizzo, veicolo, autisti, contratto). Filtro mese, range date, autista, veicolo. Pulsante reset filtri. Vista tabellare viaggi + noleggi unificata.

Modalità di Deploy

Il tuo server o il nostro cloud.
Tu scegli, noi ci adattiamo.

Non hai un NAS? Nessun problema. CeolAgenda gira anche su VPS e cloud provider — stessa app, stesse funzionalità, zero compromessi.

Opzione A
🏠

Self-Hosted — Sul Tuo Hardware

La soluzione originale. CeolAgenda gira sul tuo NAS QNAP, Synology o qualsiasi macchina Linux con Docker.

  • Massima privacy — i dati non escono mai dalla tua rete locale
  • Zero costi ricorrenti — nessun abbonamento, nessun canone mensile
  • Internet non richiesto — funziona anche offline sulla LAN
  • ~140 MB RAM — gira su hardware minimo, anche NAS entry-level
  • Backup locale — cron + mysqldump con retention 14 giorni
  • Ideale per — aziende con infrastruttura IT, NAS già in uso, requisiti privacy stringenti
Opzione B
☁️

Cloud — Senza Hardware

Non hai un NAS o un server? Ti configuro CeolAgenda su un VPS cloud — pronta all'uso, accessibile da ovunque.

  • Zero hardware richiesto — nessun NAS, nessun server fisico da gestire
  • Accessibile ovunque — basta una connessione internet e un browser
  • Setup guidato — ti configuro tutto io su VPS (Hetzner, OVH, DigitalOcean o altro)
  • Stessa app identica — Docker Compose, stesse funzionalità, stessa sicurezza
  • Backup remoto — snapshot automatici del provider + backup applicativo
  • Ideale per — piccole flotte, chi non ha competenze IT, chi vuole partire subito

In entrambi i casi l'applicazione è identica — stesso codice, stesse protezioni, stesso portale autista. La differenza è solo dove gira il container Docker.

Parliamone — Scegli la Soluzione Giusta
PiattaformaDocker + Compose
BackendPHP 8.2 + Apache
DatabaseMariaDB 11 LTS
FrontendVanilla JS — 0 framework
RAM totale~140 MB (app + db)
Deploy targetNAS · VPS · Cloud · Linux
InternetOpzionale (self-hosted) · richiesto (cloud)
CSRFToken 64 char + hash_equals
Brute-force5 tentativi → lockout 5 min
Rate Limit60 write/min per sessione
Password Hashbcrypt cost 12
2FA (TOTP)Google Authenticator · codici recovery
Timing-safepassword_verify su hash dummy
CSPNo unsafe-inline · frame-ancestors none
DB Port 3306Non esposta — rete Docker
SQL Injection100% prepared statements
SessionHttpOnly · SameSite=Strict
Disaster RecoveryClaude AI · ricostruzione assistita
StatusOperativo
Sicurezza & Infrastruttura

I tuoi dati.
Il tuo controllo.
Ovunque.

Self-hosted su NAS o in cloud — la sicurezza non cambia. Autenticazione blindata, backup automatici e disaster recovery AI in entrambe le modalità.

🔐

Autenticazione blindata + 2FA

Cookie HttpOnly + SameSite=Strict, rigenerazione ID dopo login, timeout 30 min (24h con "Ricordami"), scadenza assoluta 15 giorni. Timing-safe su utente inesistente per prevenire username enumeration. Autenticazione a due fattori TOTP per admin e editor — compatibile Google Authenticator, Authy e qualsiasi app TOTP. 8 codici di recupero usa-e-getta. "Ricordami" salta il 2FA per 15 giorni sullo stesso browser. Dispositivi fidati invalidati al cambio password.

💾

Backup automatico con rotazione

Script cron — mysqldump compresso gzip, single-transaction, routine e trigger. Retention 14 giorni. Compatibilità Nextcloud/WebDAV. Credenziali in file temp chmod 600, cancellato dopo il dump.

🔄

Migrazioni zero-downtime

ensureSchema() al boot: verifica colonne con SHOW COLUMNS, aggiunge mancanti con ALTER TABLE, crea tabelle nuove. Versione schema in sessione — nessun check ripetuto.

🧹

Gestione errori blindata

strip_tags + troncamento su ogni input. error_log per il dev, messaggio generico per l'utente. Shutdown handler per errori fatali. Eccezioni MySQL 1062 (duplicati) tradotte in messaggi utente.

🔗

Integrità referenziale completa

Impossibile eliminare clienti/veicoli/autisti con viaggi associati (409 con conteggio). Eliminazione viaggio → CASCADE su trip_drivers, trip_services, trip_stops. Admin non può eliminare sé stesso né cambiare il proprio ruolo.

🤖

Disaster Recovery con Claude AI

L'intero progetto — codice sorgente, struttura database, configurazioni Docker e logiche di business — è archiviato nelle conversazioni di Claude AI. In caso di perdita totale (guasto NAS, ransomware, furto), lo sviluppatore può ricostruire l'intera applicazione in tempi rapidi con assistenza AI, partendo dalla knowledge base completa del progetto. Un secondo livello di resilienza oltre al backup locale.

Come Funziona

Operativo in tre passi

Dal setup al primo viaggio pianificato — in meno di un'ora. Due percorsi, stesso risultato.

1

Scegli il Deploy

Self-hosted: docker compose up sul tuo NAS.
Cloud: ti configuro tutto io su un VPS — tu ricevi solo il link di accesso.

2

Configura la Flotta

Carica veicoli con colori personalizzati, crea autisti con account viewer, importa clienti. Username generato, duplicati prevenuti.

3

Pianifica e Parti

Crea viaggi dall'agenda, il sistema verifica conflitti. Gli autisti aprono il telefono e vedono card con countdown, timeline e Maps.

Contattami

Pronto a digitalizzare
la tua flotta?

Sono Andrea Ceol, sviluppatore di CeolAgenda. Questo è il mio primo progetto — ci ho messo testa, cuore e notti insonni. Scrivimi direttamente per una demo o per qualsiasi domanda.

🎯

Demo su misura

Ti mostro le funzionalità più rilevanti per il tuo tipo di trasporto — NCC, bus, scuolabus.

Installazione guidata

Ti affianco nel setup su NAS o server dedicato con i tuoi dati reali — dal Docker al primo login.

🤝

Supporto diretto

Parli con chi ha scritto ogni riga di codice. Nessun call center, nessun ticket.