Product Vision¶
La visione di Drone Sky Check, osservabile dal codice, e' costruire una piattaforma software modulare orientata alla consapevolezza operativa UAS. La web application e' il punto di accesso principale, ma il progetto comprende anche Cloud Functions, Firestore, dataset geografici, API pubbliche e servizi di aggiornamento dati che condividono informazioni e logica comune. Il progetto non si limita a mostrare una mappa: organizza dati geografici, aeronautici, meteo, terrain-aware e realtime in un ambiente unico, con attenzione alla verifica, alla contestualizzazione e alla separazione chiara delle informazioni.
Questa pagina descrive la filosofia progettuale del prodotto senza introdurre obiettivi non verificabili dal repository.
Principi Osservabili¶
| Principio | Evidenza nel prodotto |
|---|---|
| Centralita' della mappa | La mappa e' il punto di ingresso dell'applicazione e ospita layer, strumenti, pannelli e selezioni operative. |
| Supporto alle operazioni UAS | Le funzionalita' ruotano attorno a zone di volo, limiti, NOTAM, autorizzazioni, pianificazione e traffico. |
| Composizione di sorgenti diverse | Il prodotto integra GeoJSON, JSON, dati ENR/SUP/NOTAM, METAR, traffico, tracker, receiver e servizi esterni. |
| Separazione dei layer | Le zone sono organizzate in layer distinti per rendere piu' leggibile il contesto operativo. |
| Geoconsapevolezza | La piattaforma combina contesto geografico, vincoli aeronautici, traffico e strumenti di analisi per supportare decisioni prima del decollo. |
| Aggiornamento dei dati | Sono presenti file di aggiornamento, service worker con controllo build, proxy con cache e flussi realtime. |
| Estensibilita' | Il codice e' diviso in moduli funzionali per mappa, meteo, droni, air traffic, waypoint, autorizzazioni, AI e API. |
| Uso di servizi cloud | Firebase, Cloud Functions e Firestore supportano API, ingestione, realtime, statistiche e integrazioni. |
| Modularita' della piattaforma | Web application, backend cloud, API, dataset e flussi realtime sono separati, ma concorrono allo stesso contesto operativo. |
| Verifica e sicurezza operativa | Il codice applica filtri su sorgenti, coordinate, payload, limiti e chiavi API per ridurre dati non affidabili. |
Orientamento Operativo¶
Drone Sky Check e' progettato per partire da una domanda pratica: cosa devo sapere su questa zona prima di operare?
La risposta del prodotto non e' un singolo dato. Il codice mostra un approccio a piu' livelli:
- visualizzare la zona sulla mappa;
- distinguere le categorie di spazio aereo e restrizione;
- mostrare dettagli, limiti e riferimenti;
- evidenziare NOTAM o condizioni temporanee quando disponibili;
- aggiungere meteo e traffico;
- supportare pianificazione e valutazioni autorizzative;
- offrire API per valutazioni puntuali o recupero geometrie.
Questa impostazione rende il prodotto piu' vicino a uno strumento di supporto operativo che a un semplice visualizzatore cartografico. Il percorso previsto dall'applicazione non termina alla verifica di un punto: puo' estendersi alla pianificazione di una missione e alla lettura delle condizioni attorno al tracciato.
Approccio Geografico¶
La mappa e' il modello principale di interazione. I dati vengono espressi come geometrie, layer, marker, traiettorie, bounding box e selezioni spaziali.
Il codice usa dataset GeoJSON separati per categorie diverse di zone e funzioni backend che valutano punti o aree rispetto alle geometrie disponibili. Questo indica una filosofia geografica: l'utente parte da una posizione, da una zona o da una missione e il sistema costruisce il contesto attorno a quell'area.
Integrazione Dei Dati¶
Il progetto combina dati statici e dinamici.
I dati statici sono presenti nel repository e comprendono zone, glossari, dettagli, riferimenti, aggiornamenti e dataset aeronautici. I dati dinamici arrivano da funzioni cloud, Firestore e sorgenti esterne per traffico, meteo, NOTAM o integrazioni operative.
Questa combinazione permette di mantenere una base dati locale e versionabile, affiancandola a informazioni che richiedono aggiornamento o recupero al momento dell'uso.
Aggiornamento Continuo¶
Il codice mostra piu' meccanismi collegati all'aggiornamento:
build-version.jsone service worker per riconoscere nuove build dell'applicazione;updates.jsonper rappresentare variazioni nei dati;- cache temporanee per alcune chiamate backend;
- snapshot realtime Firestore per droni, ricevitori, tracker e traffico;
- funzioni programmate o di manutenzione per dati di traffico.
La visione che emerge e' quella di un prodotto che deve restare allineato a dati variabili, senza trattare la mappa come un documento statico.
Estensibilita' Del Sistema¶
Il codice e' organizzato per aree funzionali. Esistono moduli distinti per:
- layer geografici;
- meteo e METAR;
- droni, tracker e ricevitori;
- traffico aereo;
- volo sportivo;
- terreno, sole e condizioni ambientali usate dagli strumenti operativi;
- waypoint e pianificazione;
- autorizzazioni;
- vista 3D;
- AI;
- API pubbliche;
Questa organizzazione suggerisce una direzione estensibile: nuove sorgenti, strumenti o viste pubbliche possono essere aggiunti mantenendo una separazione tra le aree del prodotto.
Servizi Cloud E Realtime¶
Drone Sky Check usa servizi cloud per cio' che richiede elaborazione, integrazione o aggiornamento dinamico.
Le Cloud Functions gestiscono API, proxy, ingestione, integrazioni, analisi AI e manutenzione. Firestore consente al frontend di osservare dati aggiornati per elementi dinamici come traffico, droni, receiver e tracker.
Questa scelta consente al frontend di restare una PWA web, delegando al backend cloud le operazioni che richiedono accesso a sorgenti esterne, validazione o persistenza.
Verifica Delle Informazioni¶
Nel codice sono presenti filtri e controlli che indicano attenzione alla qualita' dei dati:
- sorgenti UAS consentite;
- validazione di coordinate e payload;
- esclusione di dati scaduti o non plausibili;
- limiti di quota per il traffico aereo visualizzato;
- cache con durata limitata per dati esterni;
- sicurezza applicata agli endpoint API;
- sanitizzazione di campi testuali ricevuti da sorgenti esterne.
La filosofia non e' accettare qualsiasi dato disponibile, ma filtrarlo e presentarlo in modo coerente con il contesto operativo.
Ruolo Dell'AI¶
L'integrazione AI e' presente come supporto alla lettura del contesto operativo. Il frontend costruisce un input a partire da zona, posizione e dati disponibili; il backend espone funzioni dedicate all'analisi di contesti UAS, zone e NOTAM.
Nel prodotto, l'AI appare come uno strumento di interpretazione assistita, non come fonte primaria dei dati.
Limiti Della Visione Documentata¶
Questa visione e' limitata a cio' che il codice rende verificabile. Non vengono dichiarati obiettivi commerciali, roadmap non implementate o promesse funzionali non presenti nei moduli public/ e functions/.
Le evoluzioni future dovranno essere documentate solo quando saranno supportate da codice, dataset o configurazioni effettivamente presenti nel repository.