Vous êtes sur la page 1sur 2

TD: Web Avancé

Une application de livraison à la demande


Sujet: Vous êtes une entreprise de restauration nouvellement installée à Bourges et vous
souhaitez concevoir une application web afin de vendre vos produits.

Objectif: Concevoir un prototype d’application et son API afin de proposer un service de


livraison à la demande (type UberEats) à vos clients.
Vous êtes libres du type de produits que vous souhaitez vendre, limitez cependant à trois ou
quatre variantes.

Cahier des charges:


L’application offrira les fonctionnalités suivantes:
1. Un utilisateur peut ajouter à son panier différents produit
2. Un utilisateur peut confirmer son panier et faire une réservation
3. Un utilisateur peut ajouter son adresse postale pour recevoir la livraison (le paiement est
fait en cash lorsque le produit est reçu donc pas de tunnel de paiement à implémenter)
4. Lorsque la quantité d’un produit est épuisée, il n’est plus disponible à la vente
5. (BONUS) L'utilisateur est authentifié à l'API
6. (BONUS) Un administrateur peut valider la commande de l’utilisateur

Afin de simplifier l’exercice la sécurité entre votre API et votre client ainsi que la gestion des
connexions des utilisateurs est optionnelle.

Aide:
● On peut imaginer que la base de données est composée de 3 tables (à titre indicatif):
● Pour faire du code bien indenté et uniforme, pensez à utiliser un linter:
https://eslint.org/docs/latest/use/getting-started
● Typescript est un excellent choix pour une application qui part en production, ici,
cependant, vous risquez d’être trop ralenti pour votre prototype.

Rendu:
● Un projet par binôme contenant une API et une application React front-end
● Le projet sera livré dans une repository Git (GitHub idéalement, pensez à me donner les
droits de faire une PR (@mikescops))
● (Optionnel) Vous pouvez utiliser un environnement Docker (docker-compose) pour
simplifier le lancement du projet (ne déployez pas le projet en ligne si vous n’avez pas
passé un peu de temps sur la sécurité).

Critères d’évaluation:
● Le projet est fonctionnel
● Le projet respecte le cahier des charges
● Le code est propre, lisible et compréhensible (l’indentation, style d’écriture uniforme…)
● Le projet est documenté (comment installer et lancer le projet ?)

● Les fonctionnalités marquées comme bonus ou optionnelles comptent comme points


bonus si la note n’est pas déjà maximale

Note: le design du site ne sera pas pris en compte, faites simple / minimal

Vous aimerez peut-être aussi