Meteo Gesualdo è una piattaforma meteorologica full-stack di livello professionale, progettata per l'acquisizione, l'elaborazione e la visualizzazione predittiva di dati ambientali in tempo reale. L'architettura è interamente data-driven e ottimizzata per garantire alta affidabilità e prestazioni elevate anche in ambienti hosting condivisi.
Il sistema si distingue per l'integrazione di un flusso di ingest dati proprietario, un motore statistico multidimensionale e un algoritmo previsionale ibrido che fonde dati locali e modelli globali.
Architettura Backend e Sistema API
Il nucleo del sistema è un'infrastruttura API RESTful modulare (/api/v1/) sviluppata in PHP, che comunica con un database MariaDB tramite un layer di astrazione ottimizzato. Per massimizzare l'efficienza, ogni endpoint implementa un sistema di caching file-based con TTL granulare.
- Ingest Engine: Ricezione dati in modalità push protetta da token (
ingest-wu.php). - History & Stats: Endpoint dedicati all'estrazione di serie storiche e dataset statistici (temperatura, vento, pioggia, pressione, UV, umidità).
- Astronomy Core: Calcolo in tempo reale di effemeridi, fasi lunari e cicli solari (
astro.php). - Status Monitoring: Monitoraggio costante dello stato operativo della stazione e diagnostica di rete.
Ingest Dati Real-Time (Push Mode)
A differenza dei sistemi tradizionali basati su polling, Meteo Gesualdo utilizza una modalità Push attiva: è la stazione stessa a trasmettere i pacchetti dati al server, riducendo drasticamente la latenza e il carico sulle risorse.
- Sicurezza: Autenticazione tramite Token proprietari e restrizioni a livello
.htaccess. - Integrità: Validazione rigorosa dei pacchetti raw e gestione log errori dedicata.
- Performance: Scrittura ad alta frequenza ottimizzata per minimizzare i tempi di lock del database.
Data Strategy: Archiviazione e Rollup Automatico
Per gestire volumi massivi di dati senza degradare le performance, ho implementato una strategia di Data Rollup (cron_rollup.php) che organizza le informazioni su tre livelli di granularità:
- Raw Level: Dati al minuto per analisi ad altissima precisione (retention a breve termine).
- Hourly Aggregation: Consolidamento orario delle medie e degli estremi.
- Daily History: Archiviazione permanente dei riepiloghi giornalieri per consultazioni storiche pluriennali.
Questo approccio garantisce una scalabilità teoricamente infinita del database e una velocità di risposta costante nel tempo.
Motore Previsionale Ibrido v5.0-AI (Architettura a 4 Livelli)
Il salto qualitativo dal modello originale è rappresentato da un algoritmo di fusione a 4 stadi che integra fisica dell'atmosfera e Machine Learning per correggere i bias dei modelli globali sul microclima locale:
- Livello 1 - Advanced Local Physics: Evoluzione dei modelli Zambretti e Richardson tramite regressione barometrica dinamica, analisi di persistenza e moduli di sicurezza (Sun-Safe per la radiazione e Nowcast Raining per il rilevamento immediato delle precipitazioni tramite sensore locale).
- Livello 2 - Global Modeling: Acquisizione e normalizzazione dei dati modellistici ad alta risoluzione (Open-Meteo), calibrati tramite interpolazione sulle coordinate esatte della stazione.
- Livello 3 - Smart Fusing Merge: Sistema di pesi dinamici (Pure Cross-Fade) che gestisce la transizione fluida tra i dati: dominanza del sensore locale nel brevissimo termine (0-4h) e passaggio progressivo al modello globale per il lungo raggio (fino a 168h).
- Livello 4 - Machine Learning (KNN Learning): Implementazione dell'algoritmo K-Nearest Neighbors. Il sistema scatta snapshot triorari delle previsioni e le confronta con i dati reali validati manualmente tramite bot Telegram dedicato. Analizzando pattern storici di pressione e temperatura, l'AI identifica gli errori sistematici e corregge proattivamente le probabilità delle previsioni future.
Frontend: SPA Reattiva con Ottimizzazione SEO
L'interfaccia utente è una Single Page Application (SPA) sviluppata con Vue 3 e Vite, progettata per offrire un'esperienza fluida e professionale.
- Static Site Generation (SSG): Utilizzo di tecniche di prerendering per garantire l'indicizzazione completa (SEO) pur mantenendo la reattività di una SPA.
- Data Visualization: Integrazione di grafici dinamici alimentati dagli endpoint statistici modulari.
- Custom Asset: Set di icone meteo SVG proprietarie per un'identità visiva coerente e caricamenti istantanei.
Valore Tecnico del Progetto
Meteo Gesualdo è la dimostrazione pratica della mia capacità di gestire l'intero ciclo di vita del dato: dall'hardware IoT (ingest real-time) alla modellazione matematica e IA (algoritmi previsionali ad apprendimento), fino alla visualizzazione frontend avanzata. Rappresenta una soluzione enterprise-grade capace di trasformare dati grezzi in informazioni strategiche e fruibili.