ECOM-1FO 1819 Restaurant

From air
Jump to: navigation, search

<<<< 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

File:SlideAudit1.pdf

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

File:SlideAudit2.pdf

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

File:Sujet Myresto.pdf

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

My carte-MYRESTO.png My compte-MYRESTO.png My gerant-MYRESTO.png My liste-MYRESTO.png My recherche-MYRESTO.png My serveur-MYRESTO.png My web-MYRESTO.png

L5. SRS

SRS

L6. Diagramme UML

Diagramme de contexte

Contexte-RICM5-MYRESTO.png

Vue logique de haut niveau

LogiqueHN-RICM5-MYRESTO.png

Vues logiques détaillées

LogiqueDetail-RICM5-MYRESTO.png

Vue physique

PhysiqueView-RICM5-MYRESTO.png

Vues dynamiques

DynamiqueView-RICM5-MYRESTO.png

L7. Modèles des tâches

Modèle de tache : Gérer restaurants

Taskmodel-MYRESTO-restaurant.png

Modèle de tache : Gérer service

Taskmodel-MYRESTO-service.png

Modèle de tache : Effectuer une réservation

Taskmodel-MYRESTO-reservation.png

L9. Journal

Journal de l'équipe

L10. Dépôt Git

https://gitlab.com/myresto2018

L11. Application en ligne

Site web

API

L12. Evaluation IHM réalisée

L13. Evaluation qualité du projet

  • Rapports SonarQube

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 : Cocomo.png

L15. Evaluation de la cybersécurité du projet (option)

L16. Evaluation des performances (option)

L17. Gestion des risques (option)

L18. Slides de présentation conception

L19. Slides de présentation finale

L20. Auto-évaluation

L21. Slides de présentation client