Ogni estate e ogni autunno milioni di persone cercano la stessa cosa: “che sagre ci sono questo weekend vicino a me?”. Le informazioni esistono già, ma sono sparse su centinaia di siti comunali, portali regionali e pagine social. Con sagre.cornelcaba.com ho voluto dimostrare una cosa concreta: una web app con open data ben progettata può trasformare dati pubblici frammentati in un servizio utile, veloce e affidabile. In questo articolo racconto come l’ho costruita, quale stack ho scelto e perché lo stesso approccio può servire alla tua azienda.
Il problema: dati pubblici ovunque, servizio da nessuna parte
In Italia le pubbliche amministrazioni pubblicano moltissimi dati aperti sugli eventi: regioni, enti turistici e comuni espongono calendari, API e dataset con licenze CC0 o CC-BY. Il problema è che ognuno lo fa a modo suo: formati diversi, campi diversi, nomi dei comuni scritti in modi differenti, date a volte incomplete.
Il risultato è che chi cerca una sagra finisce su aggregatori pieni di pubblicità, con date copiate male o eventi di tre anni fa. Io volevo l’opposto: ogni voce collegata al programma ufficiale pubblicato dal comune o dalla regione, niente informazioni di seconda mano, niente date inventate.
Cosa fa sagre.cornelcaba.com
Oggi la piattaforma raccoglie oltre 5.900 sagre, fiere e feste gastronomiche in tutta Italia, ciascuna con date, indirizzo, orari e link alla fonte ufficiale. Dal punto di vista dell’utente è semplice:
- Ricerca per nome o per paese, con filtri per regione, provincia, mese e tipologia di evento.
- “Vicino a me”: un tocco e vedi cosa succede intorno a te stasera.
- Mappa interattiva con clustering, sempre sincronizzata con i filtri: clicchi un segnaposto e ottieni indirizzo, date, orari e indicazioni stradali.
- Filtri rapidi per ciò che conta davvero: in corso adesso, questo weekend, con cucina, solo sagre.
Niente registrazione, niente app da installare: funziona dal browser del telefono in pochi istanti.
Integrare open data in una web app: la pipeline
Il cuore del progetto non è l’interfaccia, ma la pipeline che la alimenta. Ho scritto un importer in Python che unisce nove fonti aperte: Regione Lombardia, l’Open Data Hub dell’Alto Adige, Puglia, Calabria, Umbria, Emilia-Romagna Turismo, il Comune di Bologna e una scansione nazionale dei 712 municipi che espongono un’API eventi aperta (piattaforme come OpenCity/ComunWeb, Plone io-Comune e WordPress Design Comuni).
Ogni fonte ha il suo adattatore, che normalizza i dati in un formato unico. Poi entrano in gioco due passaggi fondamentali:
- Riconciliazione dei comuni: ogni evento viene associato a uno dei 7.904 comuni ISTAT, così “S. Giovanni” e “San Giovanni” non diventano due posti diversi.
- Geocodifica self-hosted: le coordinate vengono calcolate da un indice OpenStreetMap che gira sui miei server, con zero chiamate a servizi di geocoding esterni. Nessun costo a consumo, nessun dato inviato a terzi.
Accanto ai dati aperti c’è anche un lavoro di curatela: eventi aggiunti a mano solo dopo averli verificati su una fonte ufficiale, con controllo dei duplicati. L’automazione fa il grosso del lavoro, ma la qualità del dato resta la priorità.
Lo stack tecnico: semplice di proposito
Quando progetto una web app parto sempre da una domanda: di cosa ha davvero bisogno? Per un catalogo di eventi che cambia una volta al mese, un database e un backend sempre accesi sarebbero solo complessità e superficie d’attacco in più. Per questo ho scelto un’architettura statica:
- Frontend: un singolo file HTML con JavaScript leggero e Leaflet per la mappa, tema chiaro/scuro automatico.
- Dati: un unico file JSON generato dalla pipeline, niente database da mantenere o proteggere.
- Hosting: Nginx in un container Docker, dietro Nginx Proxy Manager con certificato Let’s Encrypt.
- Performance: caricamento sotto i 100 ms, perché non c’è nulla da calcolare lato server.
Nessun backend significa nessun backend da attaccare. È la stessa filosofia che applico ai progetti per i clienti: la soluzione più semplice che risolve il problema è quasi sempre anche la più sicura e la più economica da gestire nel tempo.
Aggiornamento automatico e integrazione con altri sistemi
Un agente schedulato ricostruisce il dataset ogni mese, scarta gli eventi già conclusi e pubblica quelli futuri anche sulla mia mappa personale maps.cornelcaba.com. Al termine scrive un resoconto nella mia knowledge base, così so sempre cosa è cambiato senza aprire un terminale. Il sistema si gestisce da solo, e io intervengo solo quando serve davvero.
Cosa significa per la tua azienda
Sagre.cornelcaba.com è un progetto personale, ma i problemi che risolve sono gli stessi che vedo ogni giorno nelle aziende:
- Dati sparsi su più sistemi (gestionali, fogli Excel, portali di fornitori, API pubbliche) da unificare in un’unica vista.
- Dati sporchi o incoerenti da normalizzare e deduplicare prima di poterli usare.
- Servizi esterni costosi che si possono sostituire con componenti self-hosted, mantenendo il controllo sui dati.
- Processi manuali ripetitivi che un’automazione schedulata può eseguire ogni giorno o ogni mese senza errori.
Che si tratti di un catalogo prodotti alimentato dai listini dei fornitori, di una mappa dei punti vendita, di un portale che integra open data territoriali o di una dashboard interna, l’approccio è lo stesso: capire le fonti, costruire una pipeline robusta, scegliere lo stack più snello possibile e mettere tutto in produzione con infrastruttura curata, SSL e monitoraggio.
Come lavoro: dall’idea al prodotto online
Da sistemista che gestisce infrastrutture cloud e on-premise per diverse aziende, non mi fermo al codice. Mi occupo dell’intero ciclo:
- analisi delle fonti dati e dei requisiti reali;
- sviluppo del frontend e delle pipeline di importazione;
- deploy su server gestiti (Docker, Portainer, HestiaCP, Nginx) con certificati SSL;
- automazioni di aggiornamento e manutenzione nel tempo.
Il risultato è un prodotto che funziona, resta aggiornato e non richiede un team dedicato per restare in piedi.
Vuoi trasformare i tuoi dati in una web app utile?
Se la tua azienda ha dati sparsi, processi da automatizzare o un’idea di servizio online che aspetta solo di essere costruita, parliamone. Sviluppo web app su misura per aziende in Italia e in Europa, dalla progettazione alla messa in produzione.
Guarda il progetto dal vivo su sagre.cornelcaba.com, esplora gli altri lavori su cornelcaba.com e contattami per una prima consulenza: raccontami il tuo progetto e ti dirò come realizzarlo nel modo più semplice, sicuro ed efficace.
