Ein Versuch, das Problem der Ticketauswahl vor dem Urlaub zu lösen

Hallo an alle! Ich möchte ein wenig darüber sprechen, wie ich (wahrscheinlich) in meiner Freizeit den nächsten Reisedienst zur Suche nach Flugtickets getan habe, getan habe und tun werde.


Screenshot einer der Seiten:


Bild


Motivation und Hintergrund


Bevor ich in den Urlaub fliege, stelle ich mich immer dem Problem, einen Punkt auf der Karte auszuwählen, an dem ich wegfliegen möchte. Dieses scheinbar einfache Problem kann mit Hilfe bekannter Flugscheinaggregatoren leicht gelöst werden. Aber aus irgendeinem Grund ist es aus den folgenden Gründen schwierig für mich zu lösen:


  • Die meisten Aggregatoren haben eine unzureichend flexible Suche (kitschig, es gibt keinen Filter nach Datumsbereich unter einem Monat).
  • flexible Suche a la "überall" und "wann immer" in der Praxis hilft selten;

Es ist auch erwähnenswert, dass Reiseblogs (Communitys über Reisen in sozialen Netzwerken, die in meinem Stream erscheinen, und Websites mit Sonderangeboten, z. B. fly4free ) wahrscheinlich jemandem helfen, aber nicht mir. Angebote für die gewünschten Daten (auch ungefähr) sind nie verfügbar.


Als ich über dieses Thema nachdachte, entschied ich, dass es sich lohnt, etwas anderes zu versuchen, auch wenn es nicht geklappt hat. Und das Risiko eines kompletten Ausfalls (der den Verkauf nicht erreicht) war groß - ich hatte den Service noch nie alleine gemacht, es waren immer erfahrene Leute in der Nähe und sie alle machten ihr eigenes kleines Stück des Ganzen.


Um das Auswahlproblem zu lösen, habe ich folgende Features gebildet, die ich vermisse:


  • Kits mit Flugtickets (für Ziele, Interessen usw.);
  • Bereiten Sie schwierige Routen vor, zum Beispiel Punkt A - Punkt B - Punkt C - Punkt A; (Wie sich später herausstellte, ist diese Funktion teilweise auf eightydays.me implementiert.)
  • Eine Karte, auf der Sie selbst so komplexe Routen erstellen können.
  • Suchen Sie "überall" in einem flexiblen Zeitraum mit grundlegenden Filtern.

Als nächstes beschreibe ich kurz jeden Versuch und das Zwischenergebnis.


Versuch # 1 # 0


Registrieren Sie einen schönen Domainnamen auf godaddy.com . Suchen Sie ein Team für Ihr eigenes Geld. Serververmietung auf digitalocean.com . Beginn der Entwicklung. Misserfolg.


Versuch 1


Dieses Mal habe ich beschlossen, mich nicht mit einer schönen Domain, einem Team und einem Server zu beeilen. Ich mache alles lokal auf meinem alten MacBook Air mit 4 GB RAM.


Es wurde beschlossen, nicht alles auf einmal zu tun, sondern zumindest etwas. Es stellte sich heraus, dass etwas in der Zusammenstellung mit Flugtickets enthalten war . Wie es mir schien (vor ungefähr zwei Monaten), schien es das Beste von allen zu sein. Dafür brauchte ich:


  • Verstehen Sie die APIs, die Tickets aus dem Cache herausgeben, und erfahren Sie, wie Sie nützliche Informationen korrekt erhalten. (sie sind gut beschrieben, es gab keine Probleme damit)
  • Erstellen Sie Ihre eigene API, die sie für die Visualisierung auf der Site vorbereitet. (In Python und Fläschchen wusste ich bereits, wie man das macht, das ist auch in Ordnung);
  • Erweitern Sie postgres für Verzeichnisse - Flughäfen, Länder, Interessen usw .; (mit zwei Klicks)
  • Erweitern Sie clickhouse, um Zwischendaten und Protokolle zu speichern. (Seltsamerweise war es auch in 5 Minuten einsatzbereit, sogar auf einem alten MacBook Air mit 4 GB RAM)
  • Freunde finden (Wörterbücher machen) Postgres und Clickhouse;
  • Finden Sie einen kostenlosen Geo-Service, um den Standort zu bestimmen.
  • Wählen Sie ein Framework für die Site - die Auswahl fiel auf vue (vuetify), als das Framework mit der niedrigsten Eintrittsschwelle (laut einigen meiner Freunde). Alle meine Webentwicklungserfahrungen haben bisher nur mit flask-admin stattgefunden. Die Webentwicklung war am problematischsten.

Das Ergebnis kann auf cheapster.travel/collections eingesehen werden (von mobilen Geräten - siehe Bilder)


oder in Bildern

Bild


Bild


Zu diesem Zeitpunkt wählte ich einen Domainnamen und mietete einen Server von hetzner für 5 US-Dollar.


Während dieses Versuchs wurde das Feature Bereit für komplexe Routen auch in Form separater Sammlungen implementiert. Diese Funktionalität ist jedoch aufgrund von Leistungsproblemen deaktiviert. Ein Server für 5 US-Dollar reicht nicht aus, um dieses Problem zu lösen.


Dieser Versuch dauerte zeitweise 3-4 Wochen (Abend-Nacht-Wochenende).


Versuch 2


Ich brauche eine Karte, dachte ich, und begann damit, Funktionen der Karte zu implementieren , mit denen Sie selbst so komplexe Routen erstellen können .


Nach einer Stunde googeln und einer kurzen Beratung mit einem Freund entschied ich mich für mapbox , nämlich das mapbox-gl-vue-Paket für vue.


Mit der Karte stellte sich heraus, dass alles viel komplizierter war als ich erwartet hatte. Deshalb gab er sofort die Hoffnung auf, subjektiv schön zu machen. Dann werde ich erneut versuchen, die Karte besser und funktionsfähiger zu machen.


Das Wesentliche dieser Funktion:


  • Eine Karte mit Preisen aus Ihrer Stadt wird angezeigt.
  • Wählen Sie eine interessante Option für den Preis auf der Karte;
  • Nach Auswahl einer Option werden die Daten auf der Karte für den ausgewählten Punkt neu geladen.
  • Wiederholen Sie die Schritte über der gewünschten Anzahl von Malen.

Ergebnis von cheapster.travel/map


Bilder

Bild


Bild


Dieser Versuch dauerte 1-2 Wochen (Abend, Nacht, Wochenende).


Versuch 3


Nach den Neujahrsferien ist es an der Zeit, die Funktion "Überall" in einem flexiblen Zeitraum zu suchen .
Dies ist der einfachste Versuch - fast alle Methoden in der API wurden bereits früher implementiert. Sie müssen sie nur ein wenig drehen und mit vuetify zeichnen (haben bereits ein wenig Erfahrung).


Das Wesen der Funktionen:


  • Einfache, aber funktionale Suche über einen flexiblen Zeitraum.
  • Es gibt grundlegende Filter (kein Visum, nur direkt, etc.)

Ergebnis von cheapster.travel/simple


Bild


Dieser Versuch dauerte 14 Uhr. Der erfolgreichste Versuch.


Anstelle von Summen


Der Rückstand hat noch eine Reihe von Aufgaben. Ich hoffe, diese Versuche bringen mich der Lösung des Problems der Wahl vor den Ferien näher. Und noch besser, wenn nicht nur ich.


Einen schönen Tag euch allen!

Source: https://habr.com/ru/post/de484222/


All Articles