Progetto

Meteo Gesualdo — Piattaforma meteo locale full-stack con analisi dati e previsione ibrida
Tutti i progetti

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à:

  1. Raw Level: Dati al minuto per analisi ad altissima precisione (retention a breve termine).
  2. Hourly Aggregation: Consolidamento orario delle medie e degli estremi.
  3. 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.