Web App · Django & React

ApexGPS

Un servizio che calcola percorsi pensati per essere goduti, non solo percorsi.

ApexGPS

ApexGPS è un motore di routing che calcola percorsi panoramici e sinuosi, pensati per la guida di piacere più che per arrivare in fretta. La parte principale del progetto è il servizio backend API: calcola i percorsi, gestisce l'autenticazione con JWT e OAuth e si occupa di salvare e sincronizzare i tracciati di ogni utente. Espone una sola interfaccia dati, usata sia dall'applicazione mobile sia da quella web. I dati stradali vengono elaborati con PostGIS, mentre il frontend in React mostra i percorsi sulla mappa.

I due obiettivi del motore sono in conflitto tra loro: più si cercano strade sinuose e panoramiche, più il percorso si allunga, e oltre un certo punto diventa un percorso che nessuno farebbe davvero. Per questo il calcolo lavora con un vincolo di 40 minuti rispetto al tragitto normale. Il problema quindi non è trovare la strada più bella in assoluto, ma la migliore tra quelle che rientrano in quel margine.

  • Algoritmo di scoring custom basato su curvatura e punti di interesse
  • Ricerca di percorsi panoramici a partire da un punto di partenza
  • Tolleranza di tempo configurata perché il percorso panoramico non superi il più veloce di circa quaranta minuti
  • API universale: un'unica interfaccia dati che serve sia l'app mobile sia quella web
  • Autenticazione JWT e OAuth, con salvataggio e sincronizzazione dei percorsi per ogni utente
  • API REST containerizzata e distribuita su cloud Azure
  • Interfaccia mappa reattiva costruita in React
Django Django REST framework PostgreSQL PostGIS JWT OAuth React Tailwind CSS Docker Azure