ninjainviaggio è un radar di offerte di viaggio che lavora da solo. Nessuno inserisce le offerte a mano: un motore interroga in continuazione i dati dei voli, costruisce i pacchetti più convenienti — andata e ritorno per durata, oppure solo andata — e li porta su una bacheca filtrabile e su un canale Telegram.
Obiettivo del progetto
Togliere il lavoro manuale dalla pubblicazione Le offerte non si compilano: il motore le costruisce, le confronta con lo storico dei prezzi e propone da sé quelle che valgono la pena. Le nuove occasioni e i cali di prezzo diventano bozze pronte per la revisione.
Distinguere l'occasione vera dal prezzo basso Un volo economico non è automaticamente un affare. Il motore ragiona su percentili calcolati sullo storico della singola tratta, così "€80 meno del solito" è una misura e non un'impressione.
Coprire le tratte che una sola fonte non vede L'inventario principale arriva da una sorgente massiva; una seconda fonte interroga a rotazione le origini che la prima non copre, riempiendo i buchi senza sforare le quote.
Reggere il traffico senza database esposti L'architettura separa il motore dalla vetrina: il primo elabora e possiede i dati, la seconda serve solo pagine. Nessuna porta aperta verso l'esterno.
Caratteristiche tecniche
- Frontend: Nuxt 4, Vue 3 e TypeScript in modalità strict, PWA installabile
- Motore: costruzione automatica dei pacchetti da più fonti dati, con soglie calcolate sui percentili storici
- Architettura: due ruoli dallo stesso codice — un servizio persistente che elabora e possiede i dati, una vetrina serverless che li legge tramite un ponte autenticato
- Dati: PostgreSQL per profili e partner, inventario dei voli su file versionati
- Bot: servizio Python per onboarding, radar personale e avvisi sui cali di prezzo
- Affiliazione: redirect firmati con token HMAC per attribuire correttamente i click
- Identità: SSO con sessione cifrata lato server, il token non raggiunge mai il browser
- Performance: payload SSR limitato e caricamento progressivo della griglia




