Le cœur du projet était de concevoir un site performant, accompagné d’un module de réservation intuitif, pensé dès le départ pour offrir une expérience proche de celle d’une application mobile. Pour cela, j’ai utilisé Symfony et EasyAdmin pour créer un backoffice ergonomique, permettant une gestion efficace des réservations et des utilisateurs.
Le formulaire de réservation
Le formulaire de réservation a été développé avec Vue.js, garantissant une interface fluide et réactive. Dès l’arrivée sur le site, les utilisateurs pouvaient renseigner une adresse de départ, une adresse d’arrivée et un horaire. Grâce à des appels API retraçant le chemin entre les deux points, le trajet était calculé en temps réel, incluant la distance en kilomètres. Ce calcul, effectué directement en base de données, intégrait un facteur ajustable par le gestionnaire pour répondre à des situations telles que des périodes de forte affluence. Une fois le prix affiché, les utilisateurs pouvaient finaliser leur demande en soumettant la réservation.
Les workflow Symfony pour gérer les transitions
Pour gérer le statut des réservations, j’ai intégré les workflows Symfony. Lorsqu’une demande était soumise, un email était automatiquement envoyé au chauffeur pour qu’il accepte ou refuse la course. Dans les deux cas, le client était immédiatement informé du statut de sa réservation. Enfin, un rappel était envoyé deux heures avant le trajet, à la fois au chauffeur et au client, pour confirmer les détails du rendez-vous. Le paiement s’effectuait directement dans la voiture, ce qui a simplifié le développement en évitant d’intégrer une solution de paiement en ligne.