Skip to content
This repository was archived by the owner on Nov 6, 2020. It is now read-only.

Cahier de charges

PATRICKTCHOUPE2TL1 edited this page Aug 28, 2020 · 36 revisions

Projet : SITE DE CONSULTATION MEDICALE.

Membres du groupe :

  • Tresor Tekadam
  • Joachim Sanglier
  • Patrick Tchoupe

Description du projet

Présentation du client

Médecin généraliste résidant à Londres.

Objectifs de l’application web

L’objectif principal est de proposer des consultations médicales de premier degré à des patients et être en mesure de proposer une expérience de qualité aux utilisateurs.

La cible adressée par le site

  • Personnes se trouvant dans des zones blanches médicales
  • Personnes en incapacité de déplacement.

Le site a dans un premier temps deux cibles principales mais cela peut s’étendre à toutes personnes ayant besoin d’une consultation médicale.

Fonctionnalités de l'application

  1. Utilisateur : Patient
    En tant que patient je dois pouvoir :

    • Avoir accès à la liste de médecins disponibles sur le site web afin de pouvoir choisir celui qui me convient le mieux(Un patient n'a qu'un seul médecin)

      Description de la user story :
      Dans L'espace réservé au patient, un onglet "Nos médecins" devra présenter une liste de tous les médecins disponibles sur le site. Le nom et et la spécialité du médecin devront aussi être présents. Le patient pourra alors entrer en contact UN médecin à l'aide d'un bouton "contacter", ce bouton se chargera d'envoyer automatiquement une "demande d'assistance" au médecin. La consultation ne peut commencer uniquement si le médecin a accepté la demande.

      Description Technique :
      Il faudra aller chercher le nom et spécialité de tous les médecins se trouvant dans le base de données.
      Ensuite il suffit juste de créer un composant permettant d'afficher le profil d'un médecin.Des Templates html comme "contactez moi" sont disponible sur w3school bootstrap. Une fois le composant avec la vue construite, il suffit de parcourir le tableau contenant la réponse de notre requête et insérer à chaque itération les informations de ce medecin dans la carte.
      A chaque itération de notre boucle, on ajoute le composant(carte contenant le lien vers l'image,nom et prénom de chaque médecin) dans un tableau
      Il nous suffit donc de rendre ce tableau pour afficher la liste de tous les médecins disponibles sur le site
      On peut se servir de React-router pour lier l'onglet "Nos médecins" de la navBar au composant qui contient la liste des médecins
      Si le patient clique sur contacter, une requête est envoyée au serveur qui va ajouter dans notre table consultation les identifiants du Patient et du Médecin en question avec comme valeur de la colonne status "attent"
      un message "success" est rendu par le serveur et le message "Demande d'assistance envoyé" est renvoyé comme confirmation du côté patient.

      Critère de validation :
      Cette user storie sera considérée comme terminée une fois que le message "demande d'assistance envoyée " est rendu au patient.Ce message est renvoyé uniquement si la requête permettant de contacter le médecin a abouti.

    • Entrer en discussion avec mon médecin courant (Discussion écrite exclusivement) afin de lui faire part de mon état de santé.

    • Avoir accès à mes informations personnelles afin de les mettre à jour si besoin.

    • Créer un compte afin d'avoir accès aux différentes fonctionnalités du site.

    • Me connecter à mon compte à l'aide de mes identifiants.

    • Avoir accès aux informations de mon médecin.

  2. Utilisateur : Médecin
    En tant que médecin je dois pouvoir :

    • Avoir accès à la liste des patients souhaitant entrer en contact avec moi afin d'initier la discussion.

      Description de la user story :
      Procédure (technique) similaire a celle pour récupérer la liste des médecins. Ici l'onglet concerné est l"onglet "Patients en attente", la table a interrogé est la table consultation et chaque médecin récupère le patient associé a son identifiant
      Les boutons présents sur la carte sont "Accepter" et "Refuser".
      Si le médecin accepte, une requête est envoyée au serveur pour changer la valeur de status dans la base de données, celle ci passera à "ok".
      Le patient ne se trouve alors plus dans l'onglet "Patients en attente" mais dans "Mes Patients". Si le médecin refuse, la requête changera le status en "refuse" et le médecin ne verra plus ce patient dans l'onglet "Patients en attente"

      Critère de validation :
      Cette user story est terminée une fois la valeur de la colonne status est changée en "ok" ou "refuse"

    • Avoir accès aux données de mes patients afin de savoir quel traitement lui conseiller et éventuellement,faire des recommandations auprès d'autres médecins lors des discussions.

    • Avoir accès à mes données personnelles afin de les mettre à jour si besoin.

    • Créer un compte afin d'avoir accès aux différentes fonctionnalités du site.

  3. Utilisateur: Administrateur

    En tant que administrateur du site je dois pouvoir:

    • Avoir la liste des médecins souhaitant s'inscrire sur l'application afin de vérifier leur informations.

    Description de la user story :
    Dans l'onglet admin il devrait avoir un onglet "En attente" contenant la liste de tous le médecins qui souhaitent s’inscrire sur le site. L'admin aura la possibilité de consulter les documents fournis par ces médecins afin de pourvoir accepter ou refuser l'accès au site a celui ci.

    Description technique :
    Il faudra aller chercher dans la table attente de notre BDD la liste des médecins qui souhaite s'inscrire sur le site et afficher cette liste(on peut réutiliser le même composant utilisé pour l'affichage de la liste des patient ou médecin). A chaque médecin sera associé des boutons permettant de visualiser les pièces fournies par ceux ci et un bouton "Accepter" et "Refuser" pour donner ou refuser l'accès au site.

    Critère de validation :
    Cette user story sera considérée comme terminée une fois que le médecin aura accès au site et ne sera plus présent dans la liste des médecins dans ce cas un message est envoyer manuellement par l'admin a celui ci pour confirmer son adresse.

    • Valider/Rejeter la demande d'inscription d'un médecin sur base des informations fournies par celui-ci.

Contraintes du projet

  1. Contraintes en terme de délai
    A partir de la livraison du cahier de charges,nous disposons de 60 jours pour déployer l’application. Ce délai est plutôt limite compte tenu du fait que nous avons d’autres projets en cours.
  2. Contrainte technique
    • Technologies à utiliser : Nous travaillerons avec React js en front-end et Flask en back-end et pour la Base de données nous utiliserons MySQL.
    • Le site doit être compatible avec l'ensemble des navigateurs standards : Google Chrome,Androïde, Mozilla Firefox, Internet Explorer, Safari & Opéra.

Planning

Le projet sera ensuite découpé en 3 phases :

  • Phase de prototypage (14 jours environ) : Construction des maquettes, validation des choix d'architectures et de technologies.
  • Phase de développement du pilote (1 mois environ) : Développement de l'ensemble des fonctionnalités, intégration des maquettes. . Phase de test(3 jours) :Test unitaires
  • Phase de déploiement (13 jours environ) : Hébergement du site et mise en production.

Clone this wiki locally