Un percorso didattico modulare e progressivo pensato per guidare gli studenti nello sviluppo di un'applicazione web interattiva e orientata alla vita reale.
Dalle basi della grafica vettoriale SVG e del DOM manipulation fino all'implementazione di algoritmi di pathfinding e architetture disaccoppiate.
Il progetto adotta un approccio basato sulla separazione delle responsabilità (Clean Architecture):
Grafica scalabile (SVG): Gestione di layout vettoriali reattivi, separati in layer logici (edifici, strade, snodi).
Dati esterni asincroni (fetch()): Utilizzo di file JSON (locali.json, grafo.json) per rendere l'applicazione dinamica e facilmente estendibile senza modificare il codice sorgente.
Algoritmi e Logica di Programmazione: Modellazione della rete viaria tramite grafi pesati non orientati e implementazione pratica dell'algoritmo di Dijkstra per il calcolo del percorso minimo.
User Experience e Animazioni CSS: Creazione di feedback visivi avanzati, come la poligonale dinamica con effetto "serpentina in movimento" integrata in modo pulito nel rendering a livelli dell'SVG.
Separazione dei dati in file esterni caricati via API fetch().
Popolamento dinamico dei menu a tendina per la selezione di partenza e destinazione.
Introduzione dei nodi di snodo geometrici e degli incroci stradali per garantire percorsi realistici.
Studio ed implementazione dell'algoritmo di Dijkstra (dijkstra.js).
Tracciamento automatico e animato (effetto serpentina CSS) coordinato tra i layer della mappa.
Trasformazione della Web App in PWA installabile su dispositivi mobili con supporto Offline tramite Service Worker e manifest.