Titre
US03-En tant qu'utilisateur, j'aimerais pouvoir choisir la plage horaire de location afin de voir uniquement les voitures disponibles à ce moment là.
Description
Lors de l’arrivé de l’utilisateur( inscris ou non inscris) sur la page d'acceuil du site, il aura un formulaire avec des champs pour la date et l'heure de début de réservation ainsi que pour la date et l'heure de fin de réservation. Après complétion de ce formulaire, l'utilisateur est redirigé vers la page /cars ou il aura la liste des voitures triée en fonction des dates entré.
Un pannel dans la page /cars contenant les même champ dans la page d'acceuil est également mis à la disposition de l'utilisateur lui permettant d'ajuster son filtre à sa convenance.
Importance
Sur une échelle de 1 à 5 :
4, car c'est nécessaire que utilisateur indique une plage horaire lorsqu'il veut louer une voiture.
Complexité
Sur une échelle de 1 à 5, étant le plus complexe :
Cette US mettant en oeuvre les critères de réservation et la gestion de calendrier, et allant filtre les infos dans la base de données j'opterais pour une complexité de 4/5.
Critère d'acceptation
- Lorsque l’utilisateur souhaite entrer une date sur le calendrier, les dates antérieurs du calendrier ne seront pas cliquable donc il ne pourra sélectionner une date qu'à partir de la date actuelle.
- Lors de la soumission du formulaire par l'utilisateur, si la date et l’heure de début et de fin de location sont tous pareil, un message d'erreur adéquat est affiché à l'écran pour permettre à l'utilisateur de rentrer des données correctes.
- Lors de la soumission du formulaire par l'utilisateur, si la date de fin de location est inférieur à la date du début de location un message d'erreur adéquat est affiché à l'écran pour permettre à l'utilisateur d'entrer des données correctes.
- Lors de la soumission du formulaire par l'utilisateur, si la date de début et de fin de location sont semblables, l’heure de fin de location doit être supérieure à l’heure de début de location sinon un message adéquat est affiché l'écran pour permettre à l'utilisateur d'entrer des données correctes.
- Lorsque de la soumission du formulaire , si tous les champs respectent les différents critères cités ci-dessus, l'utilisateur est redirigé vers la page cars pour visualiser les voitures sur base de la plage mentionné
- Le formulaire n’est soumis que si tous les champs ont été complétés sinon un message d'erreur adéquat est affiché invitant l'utilisateur à remplir tous les champs .
Tâche composant la US :
- Dans le menu rajouter l'option de filtre en fonction de la date
- Effectuer un champ pour la date de début et de fin de location : Au clique sur le champ, afficher un calendrier permettant à l’utilisateur de choisir une date.
- Effectuer un champ pour l’horaire de début et de fin : Au clique sur le champ, permettre à l’utilisateur de choisir une heure
- Faire une requête vers la base de données pour sélectionner les voitures disponibles dans l’intervalle entré.
- Afficher les voitures sélectionnées sur l’interface.
End Point de la US
Afin de filtrer sur la plage horaire on aura besoin de faire une requête contenant les options de filtre telles que la date et l'heure de début et de fin de location
Ces options seront placés dans le query de la requête comme paramètres optionnels.
Get /api/cars
curl \
-H "Accept: application/json" \
http://localhost:3001/api/cars/ \
-d '{startDate : "2022-04-12" , startHours : "11:15", endDate : "2022-04-13" , endHours : "12:20"}'
Base de données
Ce endpoint effectu une requête get.
Dans cette requête on fera un select sur les tables cars et cars-brands dans la base de données allant chercher les véhicules qui n'ont pas encore été réservé pour cette plage horaire là.
Ensuite, on effectuera une nouvelle requête vers la table images afin d'avoir les images de ces véhicules.
Donc la requête utilisera les tables cars , cars-brands, images
Maquette de la US


Titre
US03-En tant qu'utilisateur, j'aimerais pouvoir choisir la plage horaire de location afin de voir uniquement les voitures disponibles à ce moment là.
Description
Lors de l’arrivé de l’utilisateur( inscris ou non inscris) sur la page d'acceuil du site, il aura un formulaire avec des champs pour la date et l'heure de début de réservation ainsi que pour la date et l'heure de fin de réservation. Après complétion de ce formulaire, l'utilisateur est redirigé vers la page
/carsou il aura la liste des voitures triée en fonction des dates entré.Un pannel dans la page
/carscontenant les même champ dans la page d'acceuil est également mis à la disposition de l'utilisateur lui permettant d'ajuster son filtre à sa convenance.Importance
Sur une échelle de 1 à 5 :
4, car c'est nécessaire que utilisateur indique une plage horaire lorsqu'il veut louer une voiture.
Complexité
Sur une échelle de 1 à 5, étant le plus complexe :
Cette US mettant en oeuvre les critères de réservation et la gestion de calendrier, et allant filtre les infos dans la base de données j'opterais pour une complexité de 4/5.
Critère d'acceptation
Tâche composant la US :
End Point de la US
Afin de filtrer sur la plage horaire on aura besoin de faire une requête contenant les options de filtre telles que la date et l'heure de début et de fin de location
Ces options seront placés dans le query de la requête comme paramètres optionnels.
Get /api/carsBase de données
Ce endpoint effectu une requête get.
Dans cette requête on fera un select sur les tables cars et cars-brands dans la base de données allant chercher les véhicules qui n'ont pas encore été réservé pour cette plage horaire là.
Ensuite, on effectuera une nouvelle requête vers la table images afin d'avoir les images de ces véhicules.
Donc la requête utilisera les tables cars , cars-brands, images
Maquette de la US