Le panier est une fonctionnalité présente dans cette application qui permet aux utilisateurs de sélectionner des voyages et de les ajouter à leur panier pour un achat ultérieur.

Le panier est accessible via une interface dédiée, qui peut être atteinte en cliquant sur le bouton « Panier » qui se trouve en bas à droite dans la plupart des pages. L’interface du panier affiche une liste des voyages sélectionnés par l’utilisateur, ainsi que la quantité de chaque voyage et le prix total du panier.

Session

Le panier utilise une technologie appelée session pour stocker les données des voyages sélectionnés par l’utilisateur. Une session est un mécanisme qui permet de stocker des informations spécifiques à chaque utilisateur pendant sa visite sur le site web, ces données seront stocké dans des cookies de session. Dans le contexte du panier, la session est utilisée pour stocker les identifiants des voyages sélectionnés et la quantité de chaque voyage on stockera ces informations dans le tableau « dataPanier ».

Le tableau du panier est constitué des informations suivantes :

  • Voyage : Ceci contient toute les informations du voyage selectioné afin de pouvoir afficher les détails du voyage, notamment la ville de départ et la ville d’arrivée.
  • Quantité : Cette colonne contient la quantité de places réservées pour chaque voyage

fonction « index » correspond à l’affichage de la page de panier, et permet de réccupère le panier, fonction « add »  permet de rajouter un même voyage dans le panier si l’utilisateur à besoin de plusieurs places. 

L’utilisateur peut ajouter des voyages à son panier en utilisant le bouton « Ajouter au panier » disponible sur chaque page de voyage. Lorsqu’il appuie sur ce bouton, le voyage sélectionné est ajouté à la session du panier. Si l’utilisateur tente d’ajouter plus de places que celles disponibles pour un voyage donné, un message d’erreur s’affiche et le panier est vidé.

De plus, l’utilisateur a la possibilité de modifier la quantité de chaque voyage dans le panier. Il peut augmenter ou diminuer la quantité en utilisant les boutons « + » et « – » disponibles à côté de chaque voyage dans le panier.

Pour procéder à l’achat des voyages présents dans le panier, l’utilisateur peut cliquer sur le bouton « Acheter » situé dans l’interface du panier. Lorsque cette action est effectuée, une nouvelle place sera crée pour l’utilisateur qui achète la place. Les informations du voyage ainsi que celles de l’utilisateur seront récupérées pour créer cette place qui sera ensuite stocker dans la base de donnée. Ensuite, l’utilisateur pourra voir ce voyage dans la section « Prochains voyages en tant que passager ». Une fois le voyage terminé, le voyageur aura la possibilité de laisser une note au conducteur. Le nombre de place acheter sont déduites du nombre de places disponibles pour chaque voyage.

Enfin, le panier pourra prendre également en charge le paiement via la passerelle de paiement Stripe. Lorsque l’utilisateur choisit de procéder au paiement, il est redirigé vers l’interface sécurisée de Stripe, où il peut saisir ses informations de paiement. Une fois le paiement effectué avec succès, la commande est validée et les voyages sont réservés pour l’utilisateur; mais pour l’instant je rencontre quelque problème via stripe la connexion entre l’application et stripe ne veut pas se faire.