P4-Openclassrooms - Concevez la solution technique d'une application de restauration en ligne, Express Food
Vous venez d'être recruté(e) par la toute jeune startup ExpressFood. Elle ambitionne de livrer des plats de qualité à domicile en moins de 20 minutes grâce à un réseau de livreurs à vélo.
Chaque jour, ExpressFood élabore 2 plats et 2 desserts à son QG avec l'aide de chefs expérimentés. Ces plats sont conditionnés à froid puis transmis à des livreurs à domicile qui "maraudent" ensuite dans les rues en attendant une livraison. Dès qu'un client a commandé, l'un des livreurs (qui possède déjà les plats dans un sac) est missionné pour livrer en moins de 20 minutes.
Sur son application, ExpressFood propose à ses clients de commander un ou plusieurs plats et desserts. Les frais de livraison sont gratuits. Les plats changent chaque jour.
Une fois la commande passée, le client a accès à une page lui indiquant si un livreur a pris sa commande et le temps estimé avant livraison.
ExpressFood a besoin que vous conceviez sa base de données. Il s'agit de stocker notamment :
- La liste des clients
- La liste des différents plats du jour
- La liste des livreurs, avec leur statut (libre, en cours de livraison) et leur position
- La liste des commandes passées
- ...
Pour structurer votre réflexion vous utiliserez UML et construirez une suite de diagrammes afin de modéliser les besoins de l’application et le diagramme de classe pour modéliser les entités de l'application. Une fois que les diagrammes vous satisferont, vous réaliserez le schéma de base de données MySQL correspondant puis vous remplirez la base avec des premières valeurs fictives.
Vous veillerez à produire des schémas UML cohérents par rapport au cahier des charges et respectant les standards UML. Vous concevrez ensuite un schéma de base de données SQL adéquat.
Schémas demandés :
- Diagrammes de cas d’utilisations (création d’une commande, ajout d’un plat du jour, livraison d’une commande)
- Modèle de données
- Diagramme de classes
- Diagrammes de séquences (création d’une commande, ajout d’un plat du jour, livraison d’une commande)
Commentaire de l'évaluateur :
Avis sur les livrables : Les diagrammes sont très fournis et clairs. L'ensemble des livrables répondent aux besoins du client. La gestion des livraisons est très bien réalisée.
Avis sur la présentation : L'oral est clair et de qualité. Le contexte est bien rappelé et dans l'ensemble le client est très bien guidé tout au long de la présentation, bravo.
Avis sur la compréhension et la réalisation du projet : Les besoins du client sont bien compris dans l'ensemble. Les différents cas d'utilisations sont très bien réalisés et les conditions alternatives sur les séquences très pertinentes. Il aurait été intéressant de ne pas borner le rendu à 2 plats + 2 desserts afin d'anticiper un développement futur.
Points positifs :
- Des diagrammes de qualité
- Une base de donnée pertinente
- Bonne gestion des stocks et de la géolocalisation
- Bons choix des types de champs dans les tables
Axes d'amélioration :
- Ne pas limiter le développement potentiel de l'activité du client avec le modèle de données (PlatJour et DessertJour).
- Attention au vocabulaire parfois un peu hésitant entre "table", "base de donnée", "attributs"
- Attention à la gestion du temps. Il y a beaucoup à montrer pour peu de temps, il faut travailler l'efficacité du discours pour tout placer.
Dans l'ensemble c'est du très bon travail, bravo pour ce rendu et bonne continuation !