Backlogs - GregoireAntoine/DEVWEB3 GitHub Wiki
USER STORIES
US 1 Commande
PREREQUIS
Avoir la liste des produits vendus par la boulangerie.
DESCRIPTION
Lorsque je désire passer une commande, il me suffit de cliquer sur le bouton COMMANDE. Celui-ci me renvoie vers la liste des produits vendus par la boulangerie. Je peux y choisir les produits et leurs quantités et ainsi passer une réservation auprès de la boulangerie.
ACCEPTATION
Etant donné que je veux commander des produits, je me rends sur la page dédié à cette effet en cliquant sur le bouton COMMANDER.
Que je sois inscris ou non sur la site de la boulangerie, je dois pouvoir passer une commande.
Lorsque je clique sur un produit de la liste, je veux voir le descriptif du produit, son prix, choisir sa quantité.
Le résumé de la commande devra contenir les articles, leur quantités ainsi que leur prix unitaire et total.
Il faut aussi avoir la possibilité de modifier sa commande dans l'onglet panier, qui résume celle-ci.
Je dois pouvoir choisir une heure pour la réception de la commande. Cette heure se choisit dans l'onglet panier, lors de la finalisation de la commande.
Une fois ma commande effectuée, je veux recevoir une confirmation (textuelles mais dans l'idéal par mail).
(+) Si je me déconnecte/actualise le site internet, je veux pouvoir récupérer ma commande en cours.
TACHES TECHNIQUES
Mettre en place une liste qui permet à l'utilisateur de choisir ces produits ainsi que les quantités.
Mettre en place un système de vision de l'intérieur du panier.
Vérifier que les heures et jours choisit sont dans les horaires de la boulangerie.
Mettre en place le bouton qui dirige vers cette page.
Auteur : Grégoire Antoine/ Cotton Victor
US2 Accueil
En tant qu'utilisateur du site web je désir lorsque j'arrive sur le site être tout de suite au courant du fonctionnement de celui-ci, ainsi que de son but mais aussi de diverses informations générales sur la boulangerie et ces produits.
DESCRIPTION Cette page devra fournir un panel d'informations et d'options reprise ci-dessous :
-
Visualiser l'ensemble des informations concernant le site.
- Le but du site web
- Ces avantages
- Quelques produits phares.
-
Visualiser l'ensemble des informations concernant l'horaire de la boulangerie.
-
Un bouton "Accéder au produits" en dessous de la page qui permettra à l'utilisateur d'accéder aux produits.
ACCEPTATION Etant donné que je me suis rendu sur ce site j'arrive en premier lieu sur cette page d'acceuil.
TACHES TECHNIQUES
- Mettre en place une page d'accueil regroupant les informations de la boulangerie, le message de bien venu et les conditions d'utilisations.
- Mettre en place un bouton permettant de rediriger l'utilisateur vers la page de commande.
- Mettre en place une route sur l'API qui permettra de récupérer les produits phares de la boulangerie.
Auteur : Grégoire Antoine
US3 Gamme
En tant qu'utilisateur je désir voir l'assortiment de produits que je peux commander à la boulangerie. DESCRIPTION Cette page devra fournir à l'utilisateur tous les renseignements à propos des produits vendus. Et devra offrir à l'utilisateur la possibilité d'ajouter les produits qu'ils désir à son panier.
- Visualiser l'ensemble des articles ainsi que leurs prix et photo.
- Un bouton permettant d'ajouter un produit à son panier
- Des boutons permettant de modifier les produits trier par leurs nature (Patisserie, Viennoiserie, Pains, Sandwichs).
ACCEPTATION
- Etant donné que je veux me renseigner sur les produits proposés par la boulangerie, je dois me rendre sur la page comportant ces informations.
- Etant donné que je veux commander un produit je clique dessus afin de l'ajouter au panier.
- Etant donné que je sais quelle quantité je désire j'ajuste lors de cet évènement.
TACHES TECHNIQUES
- Mettre en place une table dans ma base de donnée qui contiendra toutes les informations (id, nom, photo, description et prix)
- Mettre en place une route dans l'API qui permettra de récupérer tous les éléments de cette table.
- Mettre en place des pages qui permettrons d'afficher tous les produits séparément suivant leurs nature.
Auteur : Grégoire Antoine/Victor Cotton
US4 Vérification commande
DESCRIPTION Lorsque que je suis sur la page d'acceuil, je peux cliquer sur le bouton "mes commandes", afin de voir et vérifier ma commande ainsi que d'avoir accès à mes commandes précédentes.
ACCEPTATION Etant donné que j'ai commandé des produits je veux vérifier ma commande, je me rends sur la page dédié à cette effet. Etant donné que je suis logé sur le site j'ai accès à cette page. Etant donné que j'ai déjà fait plusieurs commande je peux voir mes commande antérieur. Etant donné que je suis plus d'un jour avant la livraison de ma commande je peux la modifier.
TACHES TECHNIQUES Mettre en place une liste qui permet à l'utilisateur de voir ces produits ainsi que les quantités. mettre en place un bouton pour pouvoir modifier la commande en attente. Mettre en place un système de récupération des anciennes commandes Vérifier que le changement ne peut pas avoir lieu minimum 24h avant la livraison de la commande.
Auteur : Grégoire Antoine/ Victor Cotton
US5 Inscription
En tant que visiteur, je veux pouvoir m'inscrire sur le site web de la boulangerie. Afin d'avoir accès à mes anciennes commandes
DESCRIPTION
Sur cette page d'inscription, il doit figurer un formulaire d'inscription contenant ces différents champs :
Prénom - Nom - Email - Mot de passe
En plus de ces chams à remplir, un bouton valider sera cliquable pour valider et enregistrer l'inscription.
ACCEPTATION
Etant donné que j'ai rempli tous les champs du formulaire, je dois avoir accès au site web en étant connecté sur mon compte client
Etant donné que je me suis inscris, je dois avoir la possiblité de me connecter en tant que client sur l'interface de connection (US2)
TACHES TECHNIQUES
Créer le formulaire d'inscription avec les différents champs
Créer les routes sur l'API pour l'échange de données
Créer la table utilisateur sur la base de données
Auteur : Victor COTTON
US6 Login
- En tant qu'utilisateur, je veux pouvoir me connecter sur mon compte client du site de la boulangerie. Afin d'avoir accès à l'intégralité du site.
DESCRIPTION
Sur cette page de connexion, il doit figurer un formulaire de connexion contenant ces différents champs :
- Mot de passe
En plus de ces champs à remplir, un bouton valider sera cliquable pour valider et se connecter au site web de la boulangerie, il sera alors redirigé vers la page d'accueil où l'utilisateur sera connecté.
Tips pour mener à bien le développement
-
Pour la connexion il faudra utiliser la librairie PassportJs : npm install passport
-
Lorsqu’on appuie sur le bouton « Valider », celui-ci fera appel à des fonctions qui utilisent des requêtes POST de l’API
ACCEPTATION
- Etant donné que j'ai rempli mes données de connexion, je dois avoir accès au site web en étant connecté sur mon compte client.
- Etant donné que j'ai mal remplis mes données de connexion, un message apparait en me disant que celles-ci ont mal été encodée tout en permettant de réessayer.
TACHES TECHNIQUES
Créer le formulaire de connexion avec les différents champs
Créer les différentes routes sur l'API relative à une connexion sur site web.
Cette User Story devra s'inspirer du design ci-dessous
Auteur : Vandervelden Igor
US7 Boulanger-Config
- En tant qu'admin je souhaite modifier mon site facilement via une page de configuration.
DESCRIPTION
Cette page devra fournir un panel d'informations et d'options reprise ci-dessous :
-
Visualiser l'ensemble des articles ainsi que leurs prix et photo.
-
Un bouton pour ajouter un article qui redirige sur une page sur laquelle devra figurer :
- Un champ pour le nom de l'article
- un champ pour son prix
- Un champ pour l'url de son image
-
Un bouton "modifier" en dessous de chaque article qui redirige sur une page sur laquelle devra figurer :
- Un champ pour le nouveau nom de l'article
- un champ pour son nouveau prix
- Un champ pour la novelle url de son image
-
Un bouton "supprimer" en dessous de chaque article qui permettra de supprimer celui-ci
Tips pour mener à bien le développement
- L'ajout de produit fera appel à des fonctions qui utilisent des requêtes POST de l’API
- La modification de produit fera appel à des fonctions qui utilisent des requêtes PATCH de l’API
- La suppression de produit fera appel à des fonctions qui utilisent des requêtes PATCH de l’API
ACCEPTATION
- Etant donné que je veux changer des données je dois me login en tant qu'admin sur mon site.
- Etant donné que je veux ajouter des produits sur mon site, une page permettant de le faire dois y figurer
- Etant donné que je veux modifier des produits sur mon site, un bouton et une page le permettant dois y figurer
- Etant donné que je veux supprimer des produits sur mon site, un bouton le permettant dois figurer en dessous des articles
TACHES TECHNIQUES
- Créer le formulaire de modification de produits
- Créer le formulaire d'ajout de produits
- Créer les différentes routes sur l'API relative à la suppression, modification et ajout de produits.
Cette User Story devra s'inspirer du design ci-dessous
Auteur : Igor Vandervelden