Le défi technique principal de TAG taxiMD était d'automatiser entièrement le processus de prise de commande, en prenant en considération les diverses étapes et états possibles. On voulait que le client puisse passer sa commande, visualiser la position du Taxi qui se dirige vers lui, qu'il dépose son iPhone et continue à déguster son apéro tranquilo, jusqu’au moment où...
" (ding-ding) Le taxi est là ! "

Un dialogue entre client et chauffeur
La magie de TAG taxi MD, c'est qu'un lien direct est établi entre le client et le chauffeur. Dès le moment où vous pressez le bouton " TAG-moi ", une connexion WebSocket est établie avec le serveur de TAG taxi MD, qui est propulsé par le trio NodeJS - Socket.IO - mongoDB. C’est lui qui s’affaire initialement à communiquer à notre partenaire qu’une nouvelle requête l’attend. C’est à ce moment qu’une composante cruciale du système entre en jeu.
Pour gérer la communication entre TAG taxi MD et le système de répartition du partenaire, un agent sur mesure a été développé. Celui-ci agit en tant qu’interprète: il comprend le dialecte du message reçu par le système de répartition, le transcode et le transmet au serveur TAG taxi MD.
Ainsi, lorsqu’un partenaire utilisant un système de répartition qui nous est inconnu entrera dans la danse, un nouvel agent sera “formé” pour apprendre à parler son langage, tout simplement.
Geek stuff
Contrairement au protocole HTTP, WebSocket permet d’établir un canal de communication bidirectionnel, pour lequel l’information peut être transmise simultanément dans chaque sens. Qui plus est, Socket.IO nous permet de supporter une grande variété de fureteurs et périphériques mobiles.
Les requêtes entrantes sont sauvegardées dans un système de gestion de base de données non-relationnel. Le schéma reste donc hautement flexible et le système garde un fort potentiel d’extensibilité.
Au final, l’ensemble des composantes forme un système fort adaptatif et évolutif.
Téléchargez l'application TAG taxi MD
Pour plus d'infos, visitez tag-taxi.com