Site e-commerce Kanap

L’application web est composée de 4 pages : Une page d’accueil montrant (de manière dynamique) tous les articles disponibles à la vente. Une page “produit” qui affiche (de manière dynamique) les détails du produit sur lequel l'utilisateur a cliqué depuis la page d’accueil. Depuis cette page, l’utilisateur peut sélectionner une quantité, une couleur, et ajouter le produit à son panier. Une page “panier”. Celle-ci contient plusieurs parties; Un résumé des produits dans le panier, le prix total et la possibilité de modifier la quantité d’un produit sélectionné ou bien de supprimer celui-ci.Un formulaire permettant de passer une commande. Les données du formulaire doivent être correctes et bien formatées avant d'être renvoyées au back-end. Par exemple, pas de chiffre dans un champ prénom. Une page “confirmation”;Un message de confirmation de commande, remerciant l'utilisateur pour sa commande, et indiquant l'identifiant de commande envoyé par l’API.

Site e-commerce Kanap

Détails Techniques

GET /

Verbe: GET Paramètre prévu: Aucun Corps de la demande: Aucun Réponse: Retourne un tableau contenant tous les éléments de l'API.

GET /{product-ID}

Verbe: GET Paramètre prévu: {product-ID} (identifiant du produit à récupérer) Corps de la demande: Aucun Réponse: Renvoie l'élément correspondant à {product-ID}, c'est-à-dire l'élément ayant l'identifiant spécifié.

POST /order

Verbe: POST Paramètre prévu: Aucun Corps de la demande: Requête JSON contenant un objet de contact et un tableau de produits. Réponse: Retourne un objet contact, un tableau de produits et un orderId (identifiant de la commande).

Validation des données pour POST /order

L'objet de contact envoyé au serveur doit contenir les champs suivants: firstName, lastName, address, city et email. Le tableau de produits envoyé au serveur doit être un array de strings product-ID. Avant l'envoi des données au serveur, les types de ces champs et leur présence doivent être validés pour s'assurer de la conformité des données.

Technologies

javascript
html
css