ECOM-1FO 1819 Restaurant
<<<< Retour vers la page ECOM 2018-2019
Le projet en quelques mots
MyResto est une application pouvant être utilisé par différents utilisateurs. Premièrement, elle peut être utilisée par des gestionnaires voulant regarder les statistiques des restaurants qu'ils gèrent. Deuxièmement, par des serveurs de restaurants voulant réaliser leur plan de salle suite aux réservations des clients en amont. Dernièrement, par des clients souhaitant réserver un restaurant pour une date future.
L'équipe et leurs rôles
- William WEILL : Chef de projet, Frontend
- Théo LEVESQUE : Scrum Master, Devops, Backend
- Loris GENTILLON : Lead Développeur, Backend
- Benjamin BESNIER : Développeur, Backend
- Thomas OZENDA : Développeur, Frontend
Gestion de projet
Choix des outils :
- Gitlab : pour le dépôt, pour la documentation, l'intégration en continu
- ClickUp : pour la gestion des sprints et des user stories
- Google Docs : pour la répartition et la gestion des tâches hors code (rédaction de documents etc)
SCRUM
Sprint 1 25 Sept au 9 Oct
- Découverte du projet
- Mise en place des rôles au sein de l’équipe
- Détermination des dates clés du projet
- Etablissement de la longueur des sprints
- Icone de l'application
- Finalisation du diagramme de tâche
- Arbre des tâches
Sprint 2 9 Oct au 20 Oct
- Préparation à l'audit 1
- Réflexion sur les entités de l'application
- Découverte du langage JDL
- Génération et premier contact avec JHipster
- Formation sur le Spring et Angular
- Mise en place d'un processus d'integration
Sprint 3 20 Oct au 6 Nov
- Création d'une première version du JDL de l'application
- IHM Concrète
- IHM abstraite
- Diagrammes de cas d'utilisation
- Diagrammes de contexte
- Test de création de requêtes personnalisées avec JPA
- Analyse et tentative de compréhension du code généré par JHipster
- Mise en place d'un proxy HTTPS
Sprint 4 6 Nov au 20 Nov
- Préparation audit 2
- Création requête JPA personnalisées pour calcul de statistiques
- Affichage graphique dynamique avec Angular
- Génération d'un PDF avec Spring
- Amélioration du déploiement de l'application sur le serveur
Sprint 5 20 Nov au 11 Dec
- Affichage d'une carte OpenStreetMap des restaurants
- Liaison du backend et frontend pour l'affichage des stats
- Monitoring du serveur
- Résolution de bugs
- Mise en place de la recherche de restaurant coté backend
- Problème sur l'attribution des réservations sur les tables
Livrables
L3. Analyse des scénarios clients
Scénario 1
- En tant que gestionnaire, je souhaite voir les taux de remplissage passés et futurs
- En tant que gestionnaire, je souhaite pouvoir comparer les taux des différents restaurants supervisés
- En tant que gestionnaire, je souhaite pouvoir comparer les taux entre restaurants
- En tant que gestionnaire, je souhaite pouvoir filtrer les résultat (hausse, baisse)
Scénario 2
- En tant que gestionnaire des réservations, je veux pouvoir voir le nombre de réservation
- En tant que gestionnaire des réservations, je veux pouvoir voir le plan de la salle
- En tant que gestionnaire des réservations, je veux pouvoir assigner des réservations à une table
- En tant que gestionnaire des réservations, je veux pouvoir assigner des tables à un serveur
Scénario 3
- En tant que serveur, je souhaite pouvoir retrouver la réservation d’un client avec un QRCode qui aura été généré lors de la réservation.
- En tant que serveur, je souhaite voir quelle table sur le plan de salle est attribué à la réservation d’un client.
- En tant que serveur, si un client se présente sans réservation, je souhaite pouvoir lui attribuer une table.
- En tant que serveur, je souhaite voir l’intégralité des réservations pour le service à venir.
Scénario 4
- En tant que client, je veux pouvoir choisir la date ou une fourchette de ma réservation
- En tant que client, je veux pouvoir choisir les restaurant ouvert le midi et/ou le soir
Scénario 5
- En tant que client, je veux pouvoir choisir les restaurant possédant un certain type de cuisine
- En tant que client, je veux pouvoir savoir les menus des restaurants, leur prix et la quantité disponible
- En tant que restaurateur, je souhaite pouvoir faire des promotions en fonctions des quantités (groupe) ou de la période de réservation (optionnel)
- En tant que client, je veux recevoir mes billets de réservation par PDF imprimable ou en version mobile (QR Code)
- En tant que client, je veux pouvoir payer ma commande en ligne par Paypal ou CB
Scénario 6
- En tant que client, je souhaite pouvoir filtrer le résultats de recherche en fonction du lieu.
- En tant que client, je souhaite pouvoir consulter la carte du restaurant.
- En tant que client, je suis capable de réserver sans choisir un menu et donc sans payer en me créant/connectant à un compte client avec adresse e-mail et mot de passe.
- En tant que client, je souhaite être notifié du bon déroulement de ma réservation.
- En tant que client, je souhaite recevoir un justificatif de commande sur ma boîte mail.
L4. Maquette
L5. SRS
L6. Diagramme UML
Diagramme de contexte
Vue logique de haut niveau
Vues logiques détaillées
Vue physique
Vues dynamiques
L7. Modèles des tâches
Modèle de tache : Gérer restaurants
Modèle de tache : Gérer service
Modèle de tache : Effectuer une réservation
L9. Journal
L10. Dépôt Git
https://gitlab.com/myresto2018
L11. Application en ligne
L12. Evaluation IHM réalisée
L13. Evaluation qualité du projet
- Rapports SonarQube
L14. Evaluation économique du projet
Nous prenons comme salaire de base 2500€/mois et par personne.
Les rapports SonarQube nous indique les lignes de codes du projet. Au départ, JHipster génère 13 062 lignes et à la fin du projet nous avons environ 15 000 lignes. Le rapport COCOMO est le suivant :
L15. Evaluation de la cybersécurité du projet (option)
- Media:ECOM-1FO_1819_MYRESTO_RGPD_Report.pdf (1 page de type checklist)
L16. Evaluation des performances (option)
- Media:ECOM-1FO_1819_MYRESTO_PERF.pdf (résultat des injections de charge JMeter, Gatling, ...)
L17. Gestion des risques (option)
L18. Slides de présentation conception
L19. Slides de présentation finale
Media:ECOM-1FO_1819_MYRESTO_SLIDES_CONCEPTION.pdf