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 =

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.

L5. SRS
SRS

L9. Journal
Journal de l'équipe

L10. Dépôt Git
https://gitlab.com/myresto2018

L11. Application en ligne
Site web

API

L13. Evaluation qualité du projet
SonarQube
 * Rapports SonarQube

L14. Evaluation économique du projet
Nous prenons comme salaire de base 5000€/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)

 * [[Media:ECOM-1FO_1819_MYRESTO_RISQUES.pdf]]

L18. Slides de présentation conception

 * [[File:SlideAudit2.pdf]]

L19. Slides de présentation finale

 * [[Media:ECOM-1FO_1819_MYRESTO_SLIDES_FINALE.pdf]]

L20. Auto-évaluation

 * [[Media:ECOM-1FO_1819_MYRESTO_EVAL.pdf]]

L21. Slides de présentation client

 * [[Media:ECOM-1FO_1819_MYRESTO_SLIDES_CLIENT.pdf]]