Giter Site home page Giter Site logo

omg-web's People

Contributors

amostin avatar louisbrochet avatar pourbaix avatar vvandenschrieck avatar

omg-web's Issues

Page "Charts" - Prévoir un affichage par défaut

Titre:

En tant qu’utilisateur connecté, je souhaite avoir, en me rendant sur l’onglet «charts », un graphe qui s’affiche même si je n’ai pas sélectionné de tags.

Description:

Pour cette fonctionnalité, il faut trouver quelque chose à afficher dès que l’utilisateur va dans l’onglet « charts ». On pourrait afficher un graphique résumer du taux de glycémie sur les 7 derniers jours par exemple. On pourrait même faire paramétrer le graphique qui s’affiche par défaut (7 derniers jours, aujourd’hui, etc).

Imaginons que je vais souvent dans cette section pour consulter un tag en particulier. Et bien avec le graphique par défaut, il me serai possible de le configurer pour ne pas devoir à chaque fois choisir ce tag. Par conséquent, dès que je me rends sur la page, le graphique s’affiche avec le tag configuré.
On aurait donc accès à une zone pour configurer ce « Default Chart » et y indiquer :

  • Quel tag doit être afficher (ou aucun si il le souhaite),
  • La période sur laquelle ce tag doit être montré (dernière 24 heures, 48h, ce mois-ci, etc),
  • Et finalement si on veut montrer les données d’insuline et/ou de glycémie.

Image

Image

Comme pour l’affichage quotidien sur la page d’accueil (US n°6), les données de personnalisation seront stockées en « Local Storage ».

[TT] Remise en place du CI end frontend avec GitHub Actions

Remise en place du CI end frontend avec GitHub Actions

L'objectif est de remettre en place le script qui était utilisé pour l'intégration continue dans GitHub Actions pour le frontend

Étapes:

  • Récupérer le script .yml
  • Analyser
  • Le remettre en marche dans un nouveau GitHub Actions

Pouvoir supprimer n'importe quel type de données

Titre

Depuis l'interface frontend, l'utilisateur devrait pouvoir supprimer toutes les données qu'il souhaite.

Description

Données à pouvoir supprimer:

  • Données de glycémie
  • Données d'insuline
  • Données des tags
  • Identifiants de l'import automatique
  • ?

Auto-complétion des tags

Title:

En tant qu’utilisateur connecté, quand je crée un tag manuellement et que je rentre son nom, je veux avoir une auto-complétion qui m’est proposée par rapport aux tags que j’ai déjà créés.

Description:

Ceci permettra d’éviter que l’utilisateur fasse des fautes de frappe lorsqu’il entre le nom du tag et pourra aussi lui faire gagner un peu de temps.
Pour le moment, quand l’utilisateur crée un tag manuellement, il a la possibilité de choisir un nom de tag déjà existant dans une liste. L’idée serait de fournir une auto-complétion de ce que l’utilisateur tape dans le champ nom en fonction des noms de tags déjà existants.

[TT] Sécurisation de l'application + VPS

But

Le but principal de cette tâche technique consiste à sécuriser l'application et le VPS en accordances avec les différents risques mis aux jours lors de l'analyse.

Tâches

Voici la liste des éléments à mettre en place pour sécuriser le VPS:

  • Installation et configuration d'un firewall
  • Installation et configuration de fail2ban
  • Modification du port SSH

Voici la liste des éléments à mettre en place pour sécuriser l'application:

  • Installation et configuration de helmet
  • Installation et configuration d'un rate limiter

[TT] Add meal bolus tag detection to autoImport

Description

When autoImporting data from the API, we want that the detection ranges work just like with manual import.
In manual import, the detection of tags is made in the frontend, but in this case we have to do it in the backend because it is were the auto import takes place.

Automatisation des tests backend avec GitHub Actions

Automatisation des tests backend avec Github Actions

Le but est que lest tests soient exécutés à chaque push sur la branche principale

Différentes étapes de réalisation:

  • Mettre le code actuel sur la branche master
  • Créer le fichier .yml
  • Effectuer le job à chaque push sur la branche principale

[TT] Testing Frontend pour les fonctions utilitaires (hooks)

Testing frontend pour les fonctions utilitaires

=> Fournir des tests pour les fonctions utilitaires utilisées pour calculer les différentes statistiques en frontend.

Fonction a tester:

  • useCreateDataStrucure
  • useCreateGroupByDate
  • useCreateGroupByType
  • useProcessAvg
  • useProcessSumsWithArray
  • useProcessTimeInTargetZone
  • useRemoveTodayData
  • useRoundMinutesAndAddSum

[TT]: Charte RGPD

Titre

Lors de sa première visite sur le site, l'utilisateur devrai accéder à une charte détaillant les traitements effectués sur les données récoltées. Il devra, pour utiliser le site, accepter cette charte.

Visualisation des données manquantes

Titre:

En tant qu’utilisateur connecté je souhaite avoir un moyen de vérifier les tags pour lesquels il n’y a pas de taux de glycémie associé afin de de vérifier si j’ai bien uploadé les données nécessaires

Description:

Si l’import automatique n’est pas encore mis en place, il se pourrait que certains tags ne soient pas associés à des données. Pour corriger cela, il faudrait un petit utilitaire pour que l’utilisateur puisse les voir.
En se rendant dans la section « Manage » et plus précisément dans l’onglet « Tags », l’utilisateur pourra obtenir l’information

Image

Il aura également la possibilité de supprimer les tags sans données.

[TT] Modification des date et heures en UTC0 pour la détection de tags dans l'import manuel

Titre:

Modification des date et heures en UTC0 pour la détection de tags dans l'import manuel

Description:

Pour faciliter la réalisation de cette US: Ajout de la détection des tags dans l'import automatisé#29, il serait plus simple de passer tous le fonctionnement de la détection des tags avec l'import manuel en UTC0 au niveau de la base de données. Cela inclus de stocker les detection ranges en UTC0 ainsi que les tags.

Avancer/Reculer dans le temps pour les affichages de données

Titre:

En temps qu'utilisateur, je souhaite pouvoir avancer ou reculer dans le temps quand je suis sur le graphique de la page d'accueil ou dans les statistiques.

Description:

La cliente souhaiterait pouvoir reculer ou avancer dans le temps avec un pas d'un jour pour aller voir les données à des moments précis. Ceci devrai être possible à la fois sur le graphique de la page d'accueil mais aussi dans la page de statistiques.

Calcul de divers paramètres afin d'en afficher l'évolution dans le temps

Titre:

En tant qu’utilisateur connecté, je souhaite avoir accès à des données statistiques qui me donneraient des valeurs moyennes et leur évolution dans le temps.

Description:

On pourrait avoir plusieurs valeurs moyennes comme:

  • La glycémie moyenne par jour, par semaine ou par mois.
  • Le pourcentage de temps dans la zone cible [70, 180] mg de glucose par dl de sang, qui est la fourchette idéale pour le taux de glucose.
  • La quantité d’insuline injectée quotidiennement ainsi que son type (basale, bolus, bolus de correction ou un total)
  • La quantité moyenne de glucides ingérée par jour.

Affichage de l'historique glycémique quotidien avec les tags

Description

Dans le graphique de la page d'accueil, on voudrait avoir la possibilité de voir les différents tags configurés par l'utilisateur.
Tout d'abord, nous voudrions juste montrer tout les tags, il sera ensuite possible de configurer ceux que l'on veut afficher.

[TT] Testing backend des routes de l'API

Testing des routes de l'API

L'objectif est de produire un maximum de tests pour les routes de l'API existantes dans l'application

Routes à tester:

  • User (Authentification)
  • Tag
  • Data
  • DetectionRanges

Pouvoir identifier des données "invalides" (ex : cathéter défectueux)

Titre:

En tant qu’utilisateur connecté, je souhaite pouvoir indiquer au système des données qui seraient invalides afin qu’elles ne faussent pas les résultats futurs.

Description:

L’utilisateur pourra indiquer une plage horaire pour laquelle il pense que les données sont erronées du à quelques problèmes que ce soit (capteur défectueux, cathéter défectueux, etc). Pour définir cette plage on pourrait passer par un système de tags ou demander à l’utilisateur de sélectionner la plage horaire dans un calendrier et les données d’une date à une autre ne seront plus exploitées.
Dans l’onglet « Data », une section « Set invalid data range » permettra aux utilisateurs d’indiquer les périodes où les données ne seraient pas valides dû à quelques raisons que ce soit. Cela sera fait en donnant le type de données concerné (insuline ou glucose) ainsi que la date et l’heure de début et de fin de la période de non-validité.

Image

Ces données seront par la suite indiquées comme invalides dans la base de données.

Ajout de la détection des tags dans l'import automatisé

Titre

En temps qu'utilisateur, je souhaite que le processus de détection des tags soi appliquée à chaque import automatique dans l'application.

Description

Que ce soit à la connexion dans l'application ou avec le CRON job, on souhaite effectuer une détection des tags lors de l'import automatique de données. Cette détection prendrait en compte les "detection ranges" déjà créées ainsi que les données d'insulines injectées dans la DB par l'import auto.

Comme appliqué avec l'import manuel, il faut détecter le premier bolus de repas dans la tranche horaire et créer un tag y correspondant.

Analyse de l'impact des resucrages

Titre:

En tant qu’utilisateur connecté, je souhaite avoir accès à un résumé qui indique l’impact des resucrages effectués.

Description:

Un resucrage c’est une quantité de glucides et donc de sucre (d’où le mot resucrage) qui est injectée au patient lors d’une phase hypoglycémique dû notamment à un trop gros taux d’insuline.
Pour déterminer l’impact, on va donc mesurer le taux de glycémie avant et après le resucrage pour voir si on a injecté une dose correcte.
Un résumer de l’impact des resucrages indiquera pour chaque semaine, le nombre de resucrages total, le nombre de bon et de mauvais resucrage. La qualité des resucrages (bon ou mauvais) sera déterminée par les données que l’utilisateur entrera dans le système. Pour cela il peut cliquer sur le bouton « add sugar administration data » et indiquer la date et l’heure de l’injection et la quantité de glucose injectée. En fonction de ces informations, on va pouvoir aller chercher les données de glycémie qui succèdent et donc dire si l’injection a été correcte ou non.

Image

Image

On pourrait également fonctionner avec un algorithme qui détecterait les hypoglycémie en fonction de certains facteurs (taux de glycémie et durée) et les enregistrerait dans la DB (Théoriquement une hypo = un resucrage).

Tags répétitifs

Titre:

En tant qu’utilisateur connecté, je souhaiterais avoir la possibilité d’enregistrer des tags dits répétitifs, afin de pouvoir marquer les activités périodiques.

Description:

Les utilisateurs auront la possibilité de créer des tags dis « répétitifs ». Ces derniers seront utilisés pour indiquer des évènements/tâches effectuées de manière quotidienne ou du moins régulière, par exemple une séance de sport, en général un évènement répétitif dans le quotidien de la personne. L’utilisateur aura la possibilité d’indiquer le nom de son tag ainsi que l’heure à laquelle le tag devient effectif. Il pourra également indiquer si son tag doit être pris en compte tous les jours, tous les 2 jours ou une fois par semaine (si oui il donne le jour), etc.

Image

Image

Ces tags devront également être validés par les utilisateurs tout comme les tags de détections. Pour cela, nous allons séparer la page « pending tags » en 2 sections pour éviter de les confondre. La première sera nommée « tag detection » et la seconde « repeting tag » :

Image

Analyse des débits basaux en fonction du moment de la journée

Titre:

En tant qu’utilisateur connecté, je veux pouvoir observer la variation du débit basal en fonction du moment de la journée.
Le débit basal peut effectivement être irrégulier en fonction du moment de la journée, ceci dépend de plusieurs facteurs (hormones, période de sport, période de stress, etc).

On pourrait avoir un graphique qui nous montre comment il varie en fonction de la journée en faisant une moyenne sur un moi, une semaine, etc, en fonction des besoins de l’utilisateur et de ce qu’il précise.

Importation automatisée des glycémies depuis la plateforme cloud

Titre:

En tant qu’utilisateur possédant un compte, je souhaite avoir un système d’import automatisé, afin de me faciliter la tâche pour importer des données sur le patient.

Description:

Actuellement les utilisateurs sont obligés d’importer eux-mêmes les fichiers au format CSV. Il serait plus pratique que l’application fasse cela automatiquement en contactant l’API du cloud Carelink.

Pour l’ajout de données automatisées, il faut une possibilité pour l’utilisateur d’entrer ses données de compte CareLink. Pour cela, une section « Automatic Import » sera ajoutée sur la page « Import data ». Elle permettra donc d’introduire l’utilisateur et le mot de passe du compte.

Image

Une fois les données introduites, elles seront envoyées au backend pour être testées et stockées en DB.
Il est important de préciser qu’il y a deux cas d’utilisation pour ces données :

  • Quand l’utilisateur se connecte à l’application, on effectue une requête au cloud CareLink pour obtenir les dernières données,
  • Une fois toutes les 24h on effectue une requête au cloud pour que les données soient enregistrées dans la base de données malgré l’inactivité de l’utilisateur.

L’utilisateur aura également accès à une section « aide » en cliquant sur le point d’interrogation. On lui explique comment les données sont traitées et comment l’import automatique fonctionne.

Image

Details techniques:

Pour cette fonctionnalité, plusieurs points techniques sont requis:

1.End point backend:

  • Route pour ajouter ces identifiants CareLink à la DB,
  • Route pour vérifier si l'import automatique est déjà configurer ou non pour un utilisateur donné,
  • Route pour déclencher un import lors de la connexion dans l'application.

2.Page frontend:

  • Un composant permettant à l'utilisateur d'entrer ses identifiants Carelink.

Affichage de donnée sur base de combinaison de tags

Title:

En tant qu’utilisateur connecté, je voudrais avoir la possibilité d’afficher le taux de glycémie en fonction de plusieurs tags avec des conditions.

Description:

Actuellement sur le graphique des glycémies, on n’a que la possibilité d’afficher un tag à la fois. L’idée serait ici de pouvoir afficher le graphique sous diverses conditions. L’utilisateur peut alors voir des évènements qui mélangent plusieurs tags. Par exemple on pourrait montrer les évènements avec le tag « Souper » et « Lasagne » par exemple. Ou alors « lasagne » ou « brocoli » ou « macaroni ». L’idée principale est donc de pouvoir combiner des tags pour l’affichage au niveau du graphique. L’utilisateur pourra choisir quels tags sont impliqués et s’ils doivent tous être présents (ET) ou si uniquement un doit être présent (OU) pour présenter la donnée sur le graphique.

Image

Ce jeu de condition pourra être améliorer dans le futur pour permettre de nouvelles combinaisons.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.