Une tentative de résoudre le problÚme du choix des billets avant les vacances

Bonjour à tous! Je veux parler un peu de la façon dont j'ai fait, fait et ferai (probablement) pendant mon temps libre le prochain service de voyage pour rechercher des billets d'avion.


Capture d'Ă©cran d'une des pages:


image


Motivation et antécédents


Avant de m'envoler en vacances, je suis toujours confrontĂ© au problĂšme de choisir un point sur la carte oĂč s'envoler. Ce problĂšme apparemment facile peut ĂȘtre facilement rĂ©solu Ă  l'aide d'agrĂ©gateurs de billets d'avion bien connus. Mais pour une raison quelconque, il est difficile pour moi de rĂ©soudre pour les raisons suivantes:


  • la plupart des agrĂ©gateurs ont une recherche insuffisamment flexible (ringard, il n'y a pas de filtre par plage de dates infĂ©rieure Ă  un mois);
  • une recherche flexible Ă  la «partout» et «chaque fois» dans la pratique est rarement utile;

Il convient Ă©galement de noter que les blogs de voyage (communautĂ©s sur les voyages sur les rĂ©seaux sociaux qui apparaissent dans mon flux et les sites proposant des offres spĂ©ciales, par exemple, fly4free ), aident probablement quelqu'un, mais pas moi. Les offres pour les dates souhaitĂ©es (mĂȘme approximativement) ne sont jamais disponibles.


En rĂ©flĂ©chissant Ă  ce sujet, j’ai dĂ©cidĂ© qu’il valait la peine d’essayer de faire quelque chose de diffĂ©rent, mĂȘme si cela n’a pas fonctionnĂ©. Et le risque d'un Ă©chec complet (n'atteint pas les ventes) Ă©tait grand - je n'avais jamais fait le service seul auparavant, il y avait toujours des gars expĂ©rimentĂ©s Ă  proximitĂ© et ils ont tous fait leur propre petit morceau de l'ensemble.


Afin de résoudre le problÚme de sélection, j'ai formé les fonctionnalités suivantes, qui me manquent:


  • Kits avec billets d'avion (pour destinations, intĂ©rĂȘts, etc.);
  • ItinĂ©raires difficiles et prĂȘts, par exemple, point A - point B - point C - point A; (comme il s'est avĂ©rĂ© plus tard, cette fonctionnalitĂ© est partiellement implĂ©mentĂ©e sur eightydays.me )
  • Une carte oĂč vous pouvez construire vous-mĂȘme de tels itinĂ©raires complexes;
  • Recherchez "partout" dans une plage de dates flexible avec des filtres de base.

Ensuite, je décrirai briÚvement chaque tentative et le résultat intermédiaire.


Tentative # 1 # 0


Enregistrez un beau nom de domaine sur godaddy.com . Recherchez une Ă©quipe pour votre propre argent. Location de serveur sur digitalocean.com . DĂ©but du dĂ©veloppement. Échec.


Tentative n ° 1


Cette fois, j'ai décidé de ne pas me précipiter avec un beau domaine, une équipe et un serveur magnifiques. Je fais tout localement sur mon ancien macbook air avec 4 Go de RAM.


Il a Ă©tĂ© dĂ©cidĂ© qu'il n'Ă©tait pas nĂ©cessaire de tout faire en mĂȘme temps, mais de faire au moins quelque chose. Quelque chose s'est avĂ©rĂ© ĂȘtre une caractĂ©ristique de la compilation avec des billets d'avion . Comme il me semblait (il y a environ deux mois), cela semblait le meilleur de tous. Pour cela, j'avais besoin:


  • Comprendre les API qui donnent des tickets hors du cache et comprendre comment obtenir correctement des informations utiles; (ils sont bien dĂ©crits, cela n'a posĂ© aucun problĂšme)
  • CrĂ©ez votre propre API, qui la prĂ©pare Ă  la visualisation sur le site; (en python et flacon, je savais dĂ©jĂ  comment faire ça, ça va aussi);
  • DĂ©velopper les postgres pour les rĂ©pertoires - aĂ©roports, pays, intĂ©rĂȘts, etc.; (mis en deux clics)
  • DĂ©veloppez clickhouse pour stocker des donnĂ©es et des journaux intermĂ©diaires; (curieusement, il Ă©tait Ă©galement prĂȘt Ă  l'emploi en 5 minutes, mĂȘme sur un ancien macbook air avec 4 Go de RAM)
  • Se faire des amis (faire des dictionnaires) postgres et clickhouse;
  • Trouvez un gĂ©o-service gratuit pour dĂ©terminer l'emplacement;
  • Choisissez un cadre pour le site - le choix s'est portĂ© sur la vue (vuetify), comme le cadre avec le seuil d'entrĂ©e le plus bas (selon plusieurs de mes amis). Toute mon expĂ©rience de dĂ©veloppement Web jusqu'Ă  prĂ©sent n'a utilisĂ© que flask-admin. Le dĂ©veloppement Web a Ă©tĂ© le plus problĂ©matique.

Le rĂ©sultat peut ĂȘtre consultĂ© sur cheapster.travel/collections (Ă  partir d'appareils mobiles - regardez les photos)


ou en images

image


image


À ce stade, j'ai choisi un nom de domaine et louĂ© un serveur Ă  hetzner pour 5 $.


Au cours de cette tentative, la fonctionnalitĂ© ItinĂ©raires complexes prĂȘts a Ă©galement Ă©tĂ© implĂ©mentĂ©e sous la forme de collections distinctes, mais cette fonctionnalitĂ© est dĂ©sormais dĂ©sactivĂ©e en raison de problĂšmes de performances - un serveur Ă  5 $ ne suffit pas pour rĂ©soudre ce problĂšme.


Cette tentative a pris 3-4 semaines par intermittence (soir-nuit-week-end).


Tentative # 2


J'ai besoin d'une carte, ai-je pensĂ©, et j'ai commencĂ© Ă  implĂ©menter les fonctionnalitĂ©s de la carte, oĂč vous pouvez crĂ©er vous-mĂȘme des itinĂ©raires aussi complexes .


AprĂšs une heure de recherche sur Google et une brĂšve consultation avec un ami, j'ai choisi mapbox , Ă  savoir le package mapbox-gl-vue pour vue.


Avec la carte, tout s'est avéré beaucoup plus compliqué que prévu. Par conséquent, il a immédiatement abandonné l'espoir de devenir subjectivement beau. Ensuite, je ferai une autre tentative pour rendre la carte meilleure et plus fonctionnelle.


L'essence de cette fonctionnalité:


  • Une carte avec les prix de votre ville s'affiche;
  • Choisissez une option intĂ©ressante pour le prix sur la carte;
  • AprĂšs avoir choisi une option, les donnĂ©es sur la carte sont rechargĂ©es pour le point sĂ©lectionnĂ©;
  • RĂ©pĂ©tez les Ă©tapes ci-dessus le nombre de fois souhaitĂ©.

RĂ©sultat de cheapster.travel/map


Les photos

image


image


Cette tentative a pris 1 Ă  2 semaines (soir, nuit, week-end).


Tentative # 3


AprÚs les vacances du Nouvel An, le moment est venu pour la fonction Rechercher «partout» dans une plage de dates flexible .
C'est la tentative la plus simple - presque toutes les méthodes de l'API ont déjà été implémentées plus tÎt, il vous suffit de la tordre un peu et de la dessiner en utilisant vuetify (ayant déjà un peu d'expérience).


L'essence des fonctionnalités:


  • Recherche simple mais fonctionnelle sur une plage de dates flexible;
  • Il existe des filtres de base (pas de visa, uniquement direct, etc.)

RĂ©sultat de cheapster.travel/simple


image


Cette tentative a pris 14 heures. La tentative la plus réussie.


Au lieu de totaux


L'arriéré a encore un tas de tùches. J'espÚre que ces tentatives me rapprocheront de la résolution du problÚme de choix avant les vacances. Et encore mieux, sinon juste moi.


Passez une bonne journée à tous!

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


All Articles