Projet Kine 2.0: Difference between revisions
Eva.bardou38 (talk | contribs) |
|||
Line 7: | Line 7: | ||
* Une '''interface Patient (Vestib+)''' codée à l'aide du framework Angular (v.8) permettant à des patients de réaliser les exercices programmés par leur kinésithérapeute à la maison via le casque connecté en BLE (Bluetooth Low Energy) sur leur application. |
* Une '''interface Patient (Vestib+)''' codée à l'aide du framework Angular (v.8) permettant à des patients de réaliser les exercices programmés par leur kinésithérapeute à la maison via le casque connecté en BLE (Bluetooth Low Energy) sur leur application. |
||
* Un '''serveur''' codé en Node.js et lié à une base de données MongoDB (via mongoose) qui sert essentiellement d'intermédiaire entre les front-ends et la base de données pour le passage des requêtes mais également pour le lancement de Socket.io qui est utilisé par le chat de nos applications. |
* Un '''serveur''' codé en Node.js et lié à une base de données MongoDB (via mongoose) qui sert essentiellement d'intermédiaire entre les front-ends et la base de données pour le passage des requêtes mais également pour le lancement de Socket.io qui est utilisé par le chat de nos applications. |
||
* Un '''casque connecté''' codé en |
* Un '''casque connecté''' codé en Arduino (proche du C++) composé d'une batterie, une carte ESP32, un module BLE (Bluetooth Low Energy), un gyroscope/accéléromètre, un boîtier et un bandeau de fixation frontale. |
||
===Réalisations demandées=== |
===Réalisations demandées=== |
Revision as of 15:42, 27 March 2020
Le projet en quelques mots
Le sujet
Ce projet a pour but de reproduire un équipement d'aide à la rééducation de l'oreille interne chez les patients souffrant de troubles (ex : équilibre) déjà présent au cabinet Vestib+, notre client. La solution mise en place doit être peu coûteuse, sans-fil et disponible à distance pour les patients et les kinésithérapeutes du cabinet Vestib+.
Nous avons repris un projet INFO5 de 2019 et notre solution se décompose en 4 parties :
- Une interface Kiné (Vestib+ Kiné) codée à l'aide du framework Angular (v.8) permettant à des kinésithérapeutes de programmer la rééducation de leurs patients. Elle permet également aux professionnels de santé de suivre l’évolution de leurs patients.
- Une interface Patient (Vestib+) codée à l'aide du framework Angular (v.8) permettant à des patients de réaliser les exercices programmés par leur kinésithérapeute à la maison via le casque connecté en BLE (Bluetooth Low Energy) sur leur application.
- Un serveur codé en Node.js et lié à une base de données MongoDB (via mongoose) qui sert essentiellement d'intermédiaire entre les front-ends et la base de données pour le passage des requêtes mais également pour le lancement de Socket.io qui est utilisé par le chat de nos applications.
- Un casque connecté codé en Arduino (proche du C++) composé d'une batterie, une carte ESP32, un module BLE (Bluetooth Low Energy), un gyroscope/accéléromètre, un boîtier et un bandeau de fixation frontale.
Réalisations demandées
Le cabinet de kinésithérapie Vestib+ voulait tout simplement que nous mettions en production l’application qui avait été développée l’année dernière par le précédent groupe d’INFO5. Cela impliquait plusieurs développements :
- Ajout de fonctionnalités de base manquantes
- Établissement d’une communication bluetooth entre le casque connecté fait par les IESE et l’interface Patient
- Déploiement des deux interfaces web, Kiné et Patient
- Production de documentation
Réalisations effectuées
- Refonte ergonomique et graphique
- Ajout de fonctionnalités de base et optionnelles
- Communication entre le casque connecté et l’interface Patient
- Correction de bugs
- Restructuration du code
- Mise en place du déploiement
- Production de documentations
L'équipe et leurs rôles
- BARDOU Eva : chef de projet et développeuse full-stack sur les deux interfaces, était principalement chargée de superviser le projet en s’assurant que le groupe avance bien et qu’il n’y avait de souci pour personne. Elle a veillé à ce que l’organisation du projet et du groupe suive le bon chemin du début à la fin du projet. Elle a également développé des fonctionnalités critiques sur l’interface Kiné comme sur l’interface Patient et activement participé à la résolution des bugs sur les deux interfaces en fin de projet.
- DEVOS Xavier : SCRUM Master, développeur full-stack sur l’interface Patient et responsable de la documentation de l’interface Patient, s’est occupé de présider les Daily Meetings et les rétrospectives de fin de sprint. Il a réalisé des petits développements sur l’interface Patient principalement au niveau du front-end et quelques fois au niveau de la logique et a participé à la résolution de bugs sur cette même interface. Il a également rédigé la totalité de la documentation technique de l’interface Patient.
- HOUBRON Adrian : développeur full-stack sur l’interface Patient et responsable de la documentation du serveur et de l’interface Kiné, a réalisé des petits développements sur l’interface Patient principalement au niveau du front-end et quelques fois au niveau de la logique et a participé à la résolution de bugs sur cette même interface. Il a également rédigé la totalité de la documentation technique du serveur et de l’interface Kiné.
- JAN Léo : responsable du Git et développeur full-stack sur les deux interfaces, avait pour rôle de s’assurer de la bonne utilisation du repository Git. Il a usé de son expérience pour réaliser les fonctionnalités restantes de l’interface Kiné et grandement participé à la production de code pour la partie Exercices de l’interface Patient. Il a également résolu de nombreux bugs sur les deux interfaces.
- PELISSON Antoine : développeur du code du casque BLE et responsable de la documentation de déploiement, a été le seul à toucher au code du casque de rééducation sans lequel le projet ne pourrait pas fonctionner. Suite à ça, il s’est penché sur la production d’une feuille de route (documentation) permettant à notre client et ses patients d’effectivement pouvoir utiliser notre projet depuis n’importe quel ordinateur.
Gestion de projet
Choix des outils
- Gitlab : pour l'implémentation, le versionning et le deploiement. Ainsi que la répartition et la gestion des tâches.
- Drive : pour le travail en collaboration et le partage de documents supplémentaires.
- Slack : pour la communication au sein du groupe.
- VSCode : pour que la totalité du groupe code avec le même IDE.
- Discord : pour les appels en vocal lors du confinement (Covid-19) mis en place par le gouvernement.
Manuel d'installation
Si de futurs développeurs sont amenés à reprendre ce projet, ils peuvent trouver le manuel d’installation du projet en local pour le développement au format Markdown à ce lien : Manuel d'installation développeur - README.md
Notre projet GitLab n’étant pas exposé au public, si vous souhaitez obtenir une autorisation de consultation, n’hésitez pas à nous contacter à l’adresse mail suivante : eva.bardou38(at)gmail(dot).com
Documentations développeur
Documentation technique de l'interface Kiné
Vous pouvez retrouver la documentation technique de l’interface Kiné, à destination de futurs développeurs, à ce lien : KC2.0 - Documentation technique de l'interface Kiné.pdf
Documentation technique de l'interface Patient
Vous pouvez retrouver la documentation technique de l’interface Patient, à destination de futurs développeurs, à ce lien : KC2.0 - Documentation technique de l'interface Patient.pdf
Documentation de l'API
Vous pouvez retrouver les instructions de lancement de la documentation technique de l’API qui alimente notre application, à destination de futurs développeurs, à ce lien : Instructions de lancement - Documentation technique API - README.md
Notre projet GitLab n’étant pas exposé au public, si vous souhaitez obtenir une autorisation de consultation, n’hésitez pas à nous contacter à l’adresse mail suivante : eva.bardou38(at)gmail(dot).com
Cette documentation est générée à l’aide de l’outil apiDoc à l’aide des commentaires présents dans le code de notre API. C’est une documentation interactive qui s’affiche sur une page web (voir capture d’écran ci-après).
SCRUM - Rétrospective des sprints
Sprint 0 - Du 28/01/2020 au 02/02/2020
Tâches à faire
- Choix du projet et formation de l'équipe
- Rencontre avec notre tuteur Sylvain Toru
- Découverte du projet
- Mise en place de l'organisation et des règles de fonctionnement de l'équipe (méthode Agile, conventions de nommage, Git workflow, ...)
- Préparation des issues pour le sprint 1
Backlog
Pas de backlog pour le sprint 0.
Tâches effectivement réalisées
Toutes
Retrospective
Nous sommes maintenant bien organisés pour commencer le projet correctement. Nous espérons que ces deux séances passées à nous organiser permettront de faciliter notre avancée dans la réalisation. A priori le fait de nous être bien organisés dès le départ nous permettra de ne pas trop nous disperser tout au long du projet et de respecter nos deadlines.
Sprint 1 - Du 03/02/2020 au 09/02/2020
Tâches à faire
- Réussir à installer et faire fonctionner l'application sur chaque ordinateur du groupe
- Récupérer les informations envoyées par bluetooth
- Liéer les informations bluetooth avec les exercices
- Créer un exécutable pour lancer l'application facilement
- Faire une réunion avec le cabinet de Kine pour établir un cahier des charges
Backlog
Pas de backlog au début du sprint.
Tâches effectivement réalisées
- Découverte du code
- Mise à jour de angular 6 à 8
- Réussir à installer et faire fonctionner l'application sur chaque ordinateur du groupe
- Récupérer les informations envoyées par bluetooth
- Liéer les informations bluetooth avec les exercices
- Créer un exécutable pour lancer l'application facilement ==> CANCELED
- Faire une réunion avec le cabinet de Kine pour établir un cahier des charges
- Concertation pour la refont des 2 interfaces
- Refont du design des pages "connexion" et "inscription"
- fixer des bugs mineurs
Retrospective
- Pour le sprint 1, nous n'avons pas réussi à lier les informations reçues par bluetooth avec l'application. Cette tâche est donc reportée au sprint 2.
- Le reste des tâches ont été réalisées. Nous avons même rajouté des issues pendant le sprint étant donné que nous sommes au début du projet.
Sprint 2 - Du 10/02/2020 au 16/02/2020
Tâches à faire
- Formation initiale sur Angular
- Finir de lier les données bluetooth avec les exercices
- Vérifier les conditions de RGPD pour les infos des patients et modifier notre site en fonction
- Développer un système d'authentification mail/mdp pour améliorer la sécurité côté patient
- Refaire le design de l'interface kine + responsive
- Refaire le design de l'interface patient + responsive
- Refaire la liste des patients côté kiné
- Modifier les barres de navigation pour chaque interface
- Modifier la page liée aux exercices pour chaque interface
Backlog
- Ajouter un tableau de bord sur les deux interfaces (récap + message pour l'interface Kiné et exercices + messages pour l'interface Patient)
- Notifier le kiné d’un nouveau message sur l’appli avec une alerte
- Suppression de la page menu sur l'interface patient
Tâches effectivement réalisées
- Formation initiale sur Angular
- Recherche d'informations concernant la RGPD
- Développer un système d'authentification mail/mdp pour améliorer la sécurité côté patient
- Refaire la liste des patients côté kiné
- Modifier les barres de navigation pour chaque interface (en cours, fait que sur Kiné pour l'instant)
- Refaire le design de l'interface kine + responsive (en cours)
Retrospective
- Pour le sprint 2, nous n'avons toujours pas réussi à lier les informations reçues par bluetooth avec l'application. Pour le sprint 3 nous allons essayer de lier le capteur avec l'application via le câble USB, si cela fonctionne on devrait réussir à connecter le capteur avec l'application via la clef USB bluetooth.
- Nous n'avons pas pu réaliser toutes les tâches attribuées à ce sprint car les recherches pour résoudre le problème du bluetooth nous a pris beaucoup de temps.
Sprint 3 - Du 17/02/2020 au 23/02/2020
Tâches à faire
- Lire les informations du capteur avec l'application (via câble USB ou bluetooth)
- Modifier notre site en fonction de RGPD
- Refaire le design de l'interface kine + responsive
- Refaire le design de l'interface patient + responsive
- Modifier la page liée aux exercices pour chaque interface
Backlog
- Ajouter un tableau de bord sur les deux interfaces (récap + message pour l'interface Kiné et exercices + messages pour l'interface Patient)
- Notifier le kiné d’un nouveau message sur l’appli avec une alerte
- Suppression de la page menu sur l'interface patient
Tâches effectivement réalisées
- Lire les informations du capteur avec l'application (via bluetooth BLE)
- Modifier notre site en fonction de RGPD
- Refaire le design de l'interface kine + responsive : 75%
- Refaire le design de l'interface patient + responsive : 30%
- Modifier la page liée aux exercices pour chaque interface
- Modifications des routes et des noms de components pour rendre le code plus clair et propre
- Correction de bugs côté Kiné
- Système d'envoi de mail pour la création ou l'oubli de mot de passe
Retrospective
- On a pris du retard (maladies + bug) qu'il faudra rattraper pendant le sprint 4.
Sprint 4 - Du 02/03/2020 au 08/03/2020
Tâches à faire
- Finir le design des 3 dernières page côté kiné
- Continuer et finir le design côté patient
- Check toutes les routes côté patient pour faire une issues par chaque page
- Adapter correctement aux exos les données reçu par bluetooth
- Développement d'un chat de discussion entre kiné et patient
- Ajouter un tableau de bord sur les deux interfaces (récap + message pour l'interface Kiné et exercices + messages pour l'interface Patient)
- Suppression de la page menu sur l'interface patient
Backlog
- Créer des scénarios pour faire une démo complète
- Mettre en production
Tâches effectivement réalisées
- Finir le design des 3 dernières page côté kiné
- Continuer et finir le design côté patient : il manque plus qu'une page (fini ce we)
- Check toutes les routes côté patient pour faire une issues par chaque page
- Adapter correctement aux exos les données reçu par bluetooth
- Développement d’une messagerie entre kiné et patient : bien avancée (fini ce we ou lundi)
- Suppression de la page menu sur l'interface patient
- Création de scénarii de démo
- Recherche de bug
- Bug fix
Retrospective
- On a bien avancé cette semaine, Les fonctionnalités principales sont développées. Cependant on a encore des tâches à finir ce week-end pour rattraper notre retard et être opérationnel pour la démo client de mardi prochain.
Sprint 5 - Du 09/03/2020 au 15/03/2020
Tâches à faire
- Préparer démo & réunion client
- Réunion Vestib+
- Éventuelles fonctionnalités à rajouter suite à la réunion avec Vestib+
- Commencer à voir pour la mise en production
- Possibilité d’adapter la vitesse limite (exercices) quand on programme un session
- Ajouter un tableau de bord sur les deux interfaces
- Recherche de bug
- Bug fix
Backlog
- Mettre en production
- Recherche de bug
- Bug fix
- Création de scénarii pour la soutenance finale
Tâches effectivement réalisées
- Préparer démo & réunion client
- Réunion Vestib+
- Programmer plusieurs date d’un coup
- Temps d’affichage du mot
- Modification des exercices de type canal
- Session entrainement
- Commencer à voir pour la mise en production
- Possibilité d’adapter la vitesse limite (exercices) quand on programme un session
- Recherche de bug
- Bug fix
Retrospective Suite à la réunion avec le client, beaucoup d’amélioration ont été proposé mais nous n’aurons pas le temps de tout réaliser d’ici la fin du projet.
Sprint 6 - Du 16/03/2020 au 20/03/2020
Tâches à faire
- Mettre en production
- Documentation pour mettre l'application en déploiement
- Documentation technique sur interface kiné + patient
- Indiquer combien d’exo il nous reste à faire
- Ajouter les liens videos pour tuto
- Suppression d’un kiné (avec redirection des patients à un autre kiné)
- Remplir les mots dans le dico
- Ajouter les 2 tableaux de bord (côté kiné & patient)
- validation de la création d’un kiné
- Recherche de bug
- Bug fix
- Préparation de la soutenance finale
- Rapport de management
Backlog
Tâches effectivement réalisées
- Mettre en production : en cours, marche sur une VM à peu près
- Documentation technique sur interface kiné + patient : complètes mais à peaufiner
- Indiquer combien d’exo il nous reste à faire
- Suppression d’un kiné (avec redirection des patients à un autre kiné)
- Remplir les mots dans le dico
- Ajouter les 2 tableaux de bord (côté kiné & patient)
- validation de la création d’un kiné
- Recherche de bug
- Bug fix
- Rapport de management
Retrospective
Ce sprint a été un peu particulier car nous avons du faire du télétravail suite à la crise du COVID-19. Cependant cela nous a permis d'être encore plus efficace que prévu.
Répartition des heures
Vous pouvez retrouver la répartition horaire du travail au sein de notre groupe à ce lien.
Fiche de suivi
Sprint 0
BARDOU Eva | DEVOS Xavier | PELISSON Antoine | HOUBRON Adrian | JAN Léo | |||
---|---|---|---|---|---|---|---|
SPRINT 0 | |||||||
Mardi 28/01 | Tâches | Attribution des groupes | |||||
Remarques | Pas de remarque | ||||||
Mercredi 29/01 | Tâches |
|
|
|
|
| |
Remarques |
Absent |
||||||
Vendredi 31/01 | Tâches |
|
|
|
|
| |
Remarques |
Absent |
Sprint 1
BARDOU Eva | DEVOS Xavier | PELISSON Antoine | HOUBRON Adrian | JAN Léo | |||
---|---|---|---|---|---|---|---|
SPRINT 1 | |||||||
Lundi 03/02 | Tâches |
|
|
|
|
| |
Remarques |
Absent |
||||||
Mardi 04/02 | Tâches |
|
|
|
|
| |
Remarques |
Absent |
||||||
Mercredi 05/02 | Tâches |
|
|
|
|
| |
Remarques |
Absente le matin |
Absent |
|||||
Jeudi 06/02 | Tâches |
|
|
|
|
| |
Remarques |
Absent pour la réunion pour cause de BULATS (examen) |
Absent |
|||||
Vendredi 07/02 | Tâches |
|
|
|
|
| |
Remarques |
Absent |
Sprint 2
BARDOU Eva | DEVOS Xavier | PELISSON Antoine | HOUBRON Adrian | JAN Léo | |||
---|---|---|---|---|---|---|---|
SPRINT 2 | |||||||
Lundi 10/02 | Tâches |
|
|
|
|
| |
Remarques |
Absent |
||||||
Mardi 11/02 | Tâches |
|
|
|
|
| |
Remarques |
Absent |
||||||
Mercredi 12/02 | Tâches |
|
|
sur le redesign |
|
| |
Remarques |
Absent |
||||||
Jeudi 13/02 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Vendredi 14/02 | Tâches |
|
|
|
|
| |
Remarques |
Sprint 3
BARDOU Eva | DEVOS Xavier | PELISSON Antoine | HOUBRON Adrian | JAN Léo | |||
---|---|---|---|---|---|---|---|
SPRINT 3 | |||||||
Lundi 17/02 | Tâches |
|
|
|
|
| |
Remarques |
Absent (malade) | ||||||
Mardi 18/02 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Mercredi 19/02 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Jeudi 20/02 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Vendredi 21/02 | Tâches |
|
|
|
|
| |
Remarques |
Absent (malade) |
Sprint 4
BARDOU Eva | DEVOS Xavier | PELISSON Antoine | HOUBRON Adrian | JAN Léo | |||
---|---|---|---|---|---|---|---|
SPRINT 4 | |||||||
Pendant les vacances | Tâches |
|
|
|
|
| |
Remarques |
Le chat a l'air un peu complexe à réaliser à voir si on abandonne l'idée si je commence à passer trop de temps dessus Si on doit avoir fini l'interface Kiné d'ici la fin de semaine ça devrait le faire car il ne reste que quelques pages où l'on doit changer le design + le tableau de bord à faire (mais c'est une add-on qui était pas forcément requise au niveau du client) |
||||||
Lundi 02/03 | Tâches |
|
|
|
|
| |
Remarques |
|
||||||
Mardi 03/03 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Mercredi 04/03 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Jeudi 05/03 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Vendredi 06/03 | Tâches |
|
|
|
|
| |
Remarques |
|
Sprint 5
BARDOU Eva | DEVOS Xavier | PELISSON Antoine | HOUBRON Adrian | JAN Léo | |||
---|---|---|---|---|---|---|---|
SPRINT 5 | |||||||
Lundi 09/03 | Tâches |
|
|
|
|
||
Remarques |
|
Absent (malade) | |||||
Mardi 10/03 | Tâches |
|
|
|
|
| |
Remarques |
Absent (malade) | ||||||
Mercredi 11/03 | Tâches |
|
|
|
|
| |
Remarques |
Absent |
Absent (malade + télétravail) | |||||
Jeudi 12/03 | Tâches |
|
|
|
|
| |
Remarques |
Absent (malade + télétravail) | ||||||
Vendredi 13/03 | Tâches |
|
|
|
|
| |
Remarques |
Sprint 6
BARDOU Eva | DEVOS Xavier | PELISSON Antoine | HOUBRON Adrian | JAN Léo | |||
---|---|---|---|---|---|---|---|
SPRINT 6 | |||||||
Lundi 16/03 | Tâches |
|
|
|
|
| |
Remarques |
Absent (déplacement pour cause de Coronavirus) |
| |||||
Mardi 17/03 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Mercredi 18/03 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Jeudi 19/03 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Vendredi 20/03 | Tâches |
|
|
|
|
| |
Remarques |
Semaine supplémentaire (confinement)
BARDOU Eva | DEVOS Xavier | PELISSON Antoine | HOUBRON Adrian | JAN Léo | |||
---|---|---|---|---|---|---|---|
Semaine supplémentaire (confinement) | |||||||
Pendant le week-end | Tâches |
|
|
|
| ||
Remarques | |||||||
Lundi 23/03 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Mardi 24/03 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Mercredi 25/03 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Jeudi 26/03 | Tâches |
|
|
|
|
| |
Remarques | |||||||
Vendredi 27/03 | Tâches |
|
|
|
|
| |
Remarques |