Alors que l’urbanisation continue de s’accélérer et que les exigences des gens en matière de moyens de déplacement continuent d’augmenter, les logiciels d’appel de taxi sont devenus un élément important du transport urbain moderne. La mise en œuvre d'un logiciel d'appel de taxi similaire à Uber est un projet qui intéresse de nombreux programmeurs. Cet article explique comment utiliser Golang pour écrire un logiciel simple d'appel de taxi.
- Aperçu du projet
La fonction de base de ce logiciel d'appel de taxi est la suivante : les utilisateurs peuvent sélectionner le point de départ, la destination et le modèle de voiture requis sur le téléphone mobile et le système Faites correspondre le pilote approprié en fonction des besoins de l'utilisateur et complétez la commande. Avec cette fonction de base, nous pouvons progressivement étendre davantage de fonctions, telles que la communication entre conducteurs et passagers, l'affichage des conditions de circulation en temps réel, etc. Cependant, cet article se concentrera sur la mise en œuvre des fonctions les plus élémentaires.
- Sélection des technologies
Afin de réaliser ce projet, nous avons choisi les technologies suivantes :
#🎜🎜 # Golang : À l'exception des parties expliquées dans cet article, l'ensemble du projet utilise Golang. - MySQL : utilisé pour stocker les informations utilisateur, les informations de commande, les informations sur le véhicule, etc.
- Redis : utilisé pour stocker le statut en ligne de l'utilisateur et du pilote.
- Nginx : utilisé pour le proxy inverse et l'équilibrage de charge.
-
Processus d'implémentation-
3.1 Client
Les fonctions qui doivent être implémentées sur le client sont : sélectionner le point de départ, la destination et le modèle de voiture, passer une commande, payer et annuler la commande, etc. Ici, nous supposons que l'utilisateur s'est connecté et enregistré, et qu'il a lié le paiement Alipay ou WeChat.
Lorsque l'utilisateur clique sur le bouton de commande, le client enverra une demande au serveur, comprenant la longitude, la latitude, le modèle du véhicule et d'autres informations sur le point de départ et la destination. Le serveur stocke ces informations dans MySQL et interroge les pilotes qualifiés auprès de Redis. Les informations demandées sur le conducteur seront envoyées au terminal du conducteur et le conducteur pourra choisir d'accepter ou non la commande sur le terminal client. Si le chauffeur accepte la commande, le client peut voir l'emplacement du chauffeur, le numéro de plaque d'immatriculation et d'autres informations. Une fois la commande terminée, le client informera le serveur d'effectuer le paiement. Une fois le paiement effectué, la commande se termine.
3.2 Driver Terminal
Les fonctions que le driver terminal doit mettre en œuvre comprennent : la réception des commandes, la confirmation des commandes, le paiement et la fin des commandes, etc. Lorsque le chauffeur recevra la commande correspondante, le client enverra une demande et fournira les informations sur la commande. Une fois que le chauffeur aura confirmé la commande, le client informera le serveur de commencer la facturation. Une fois la commande terminée, le client informera le serveur de mettre fin à la facturation et enverra les informations de facturation.
3.3 Côté serveur
Les principales fonctions à mettre en œuvre côté serveur sont : le rapprochement des commandes, la facturation, la communication avec le client, côté chauffeur, etc.
La première fonction que le serveur doit implémenter est de faire correspondre les conducteurs qualifiés en fonction des conditions de point de départ et de destination fournies par le terminal passagers et de stocker les informations de commande dans MySQL. En attendant que le chauffeur reçoive la commande, le serveur doit interroger en permanence les chauffeurs qualifiés de Redis et envoyer les informations de commande au chauffeur. Le chauffeur peut choisir d'accepter ou non la commande en fonction de sa propre situation.
Lorsque la commande est acceptée, le serveur doit avertir le client pour commencer la facturation. Les règles de facturation peuvent être définies différemment en fonction de facteurs tels que la région, le modèle de voiture, l'heure, etc. Une fois la commande terminée, le serveur doit envoyer les informations de facturation aux deux clients et stocker les informations de facturation dans MySQL. Si le chauffeur a confirmé la facture, le serveur peut lancer une demande de paiement auprès du système de paiement.
Le serveur doit également mettre en œuvre une communication instantanée avec le client et le chauffeur afin que les notifications puissent être lancées à temps lorsque des changements importants surviennent dans la commande.
Summary-
Dans cet article, nous présentons le processus de base d'écriture d'un logiciel simple d'appel de taxi à l'aide de Golang. Grâce à ce projet, nous pouvons apprendre à utiliser MySQL et Redis pour le stockage de données, et à utiliser Golang pour le développement côté serveur. Cependant, le logiciel d'appel de taxi lui-même est beaucoup plus compliqué que ce projet et de nombreuses fonctions doivent être implémentées. S’ils sont intéressés, les lecteurs peuvent continuer à étudier en profondeur et améliorer et perfectionner ce projet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!