Giter Club home page Giter Club logo

garmin-connect-data-exporter's People

Contributors

jjoonnaasss avatar juehv avatar lithanel avatar timon999 avatar wolfbros avatar

garmin-connect-data-exporter's Issues

Retrieve data after ping notification

Beschreibung:
Nachdem durch eine Ping-Notification eine URL zur Datenbeschaffung erhalten wurde, wird diese URL aufgerufen, um die Daten zu bekommen.

Akzeptanzkriterium:
Die Antwort enthält die gewünschten Daten.

Story Points: 2

Website for reconnecting User-Accounts to Garmin-Connect (with changes to start_oauth function)

Beschreibung:
Webseite, auf der Nutzer ihren Garmin-Connect Account erneut mit unserer Anwendung verknüpfen können, wenn sie bereits bei unserer Anwendung registriert sind und danach die Verbindung getrennt haben.

Akzeptanzkriterium:
Die erneute Verbindung ist nur möglich, wenn die angegebene E-Mail-Adresse bei unserer Anwendung registriert ist und das korrekte Passwort dazu eingegeben wurde. Nach Durchführung ist das Garmin-Connect Konto wieder mit unserer Anwendung verknüpft.

Story Points: 3

Retrieve callback URL and answer ping with status code 200

Beschreibung:
Die Callback-URL, die zur Datenbeschaffung benötigt wird, wird aus der Ping Notification ausgelesen. Anschließend wird dem Ping-Service mit dem HTTP status code 200 geantwortet, um ein erneutes Senden der Notification zu verhindern.

Akzeptanzkriterium:
Es wird eine gültige Callback-URL erhalten, der Ping-Service versucht nicht, die Notification erneut zu senden.

Story Points: 1

Convert Fitness-Data from Google Fit to ODV-Format

Beschreibung:
Die von Google Fit erhaltenen Fitness-Daten werden in das OpenDiabetesVault(ODV)-Format konvertiert.

Akzeptanzkriterium:
Die Datensätze werden korrekt konvertiert, wobei alle wichtigen Daten erhalten bleiben.

Story Points: 3

Function for Google-Registration

Beschreibung:
Lambda-Funktion, die einen vorhandenen DiaConvert Account mit einem Google Fit Account verknüpft, oder einen neuen DiaConvert Account erstellt, der mit einem Google Fit Account verknüpft wird.

Akzeptanzkriterium:
Wenn der Nutzer bereits einen DiaConvert Account besitzt, wird dieser nach der Zustimmung korrekt mit seinem Google Fit Account verknüpft. Wenn er noch keinen Account besitzt, wird erfolgreich ein neuer DiaConvert Account erstellt, der mit seinem Google Fit Account verknüpft wird.

Story Points: 5

Function for downloading Google Fit data

Beschreibung:
Lambda-Funktion, die Fitness-Daten für einen mit Google Fit verknüpften DiaConvert Account aus der Datenbank ausliest und sie an den Nutzer weiterleitet.

Akzeptanzkriterium:
Wenn die Funktion gestartet wird und der gewünschte DiaConvert Account mit Google Fit verknüpft ist, werden alle passenden Fitness-Daten aus der Datenbank ausgelesen und an den Nutzer weitergeleitet.

Story Points: 1

Encrypt User Access Token Secret

Beschreibung:
Die User Access Token Secrets werden symmetrisch verschlüsselt, bevor sie in der Datenbank abgespeichert werden.

Akzeptanzkriterium:
Die Secrets werden mit einem Key verschlüsselt und können mit diesem Key später wieder korrekt entschlüsselt werden.

Story Points: 1

Website for Google-Registration

Beschreibung:
Webseite, auf der ein Nutzer entweder seinen bestehenden DiaConvert Account mit seinem Google Fit Account verknüpfen oder einen neuen DiaConvert Account erstellen und diesen mit seinem Google Fit Account verknüpfen kann.

Akzeptanzkriterium:
Wenn der Nutzer bereits einen DiaConvert Account besitzt, wird dieser nach der Zustimmung korrekt mit seinem Google Fit Account verknüpft. Wenn er noch keinen Account besitzt, wird erfolgreich ein neuer DiaConvert Account erstellt, der mit seinem Google Fit Account verknüpft wird.

Story Points: 3

Function for the Password-Reset

Beschreibung:
Lambda-Funktion, die von der Website für den Passwort-Reset aufgerufen wird. Zuerst wird ein Request erstellt, dessen Datum gespeichert wird. Mit diesem Request kann dann das Passwort des gewünschten Nutzers geändert werden.

Akzeptanzkriterium:
Ein Request kann nur erstellt werden, wenn die angegebene E-Mail-Adresse bereits registriert ist. Das Passwort kann nur geändert werden, wenn der Request nicht älter als 24 Stunden ist. Wenn das Passwort geändert wird, wird der korrekte Hash-Wert des neuen Passworts in die Datenbank geschrieben.

Story Points: 3

OAuth - Step 2 (User Authorization of Request Token)

Beschreibung:
Bestätigt der Nutzer seine Zustimmung auf der Garmin Connect-Website, wird er zur Callback-URL der Anwendung weitergeleitet. Dabei übergibt Garmin der Anwendung folgende Parameter als Teil der URL: Das Request Token, mit dem der Nutzer auf die Garmin Connect-Website verwiesen wurde und einen Verifier. Der Verifier wird allerdings nur übergeben, wenn der Nutzer dem Datenzugriff zustimmt.

Akzeptanzkriterium:
Das Skript, dessen API über die Callback-URL angesprochen wird, erhält Request Token und den zugehörigen Verifier, falls der Nutzer dem Datenzugriff zustimmt.

Story Points: 1

Encrypt Fitness Data using RSA before sending it to the website

Beschreibung:
Die data_download Funktion verschlüsselt die Fitnessdaten asymmetrisch mit einem Public Key, bevor sie an die Webseite gesendet werden.

Akzeptanzkriterium:
Die verschlüsselten Daten können von der Webseite mit ihrem Private Key korrekt entschlüsselt werden.

Story Points: 1

Bugfixing, Performance Improvements etc.

Beschreibung:
Fehler, welche zum Beispiel durch Tests entdeckt werden, beheben und die Performance der Anwendung durch kleinere Änderungen der Funktionsweise verbessern.

Akzeptanzkriterium:
Fehler werden korrekt behoben, ohne dass neue Fehler verursacht werden. Verbesserungen der Performance verändern keine Ausgaben an die Nutzer.

Story Points: 5

Function for Data-Download

Beschreibung:
Lambda-Funktion, die von der Website für den Daten-Download aufgerufen wird, und der Website die Fitness-Daten des gewünschten Nutzers übergibt.

Akzeptanzkriterium:
Die Website erhält alle Fitness-Daten für den richtigen Nutzer in Form eines ZIP-Archives.

Story Points: 3

Filter duplicate Fitness Data

Beschreibung:
Doppelte Einträge in den Fitness-Daten werden herausgefiltert.

Akzeptanzkriterium:
Wenn ein Nutzer seine Daten herunterlädt, enthalten diese keine doppelten Einträge.

Story Points: 3

Website for User-Registration

Beschreibung:
Website, auf der neue Nutzer ihren Vornamen, Nachnamen, E-Mail-Adresse und Passwort angeben, dem Datenschutz-Dokument zustimmen und dann die Verknüpfung ihres Garmin-Connect Accounts mit unserer Anwendung starten können.

Akzeptanzkriterium:
Die Verknüpfung lässt sich nur starten, wenn alle Eingabefelder ausgefüllt wurden, dem Datenschutz zugestimmt wurde und die zwei Passwörter komplett übereinstimmen. Wenn die Verknüpfung gestartet wird, wird die start_oauth Lambda-Funktion aufgerufen, wobei der Funktion E-Mail-Adresse und Hashwert des Passwortes übergeben werden.

Story Points: 5

Option on the website to change between German and English

Beschreibung:
Auf den Webseiten gibt es die Möglichkeit, zwischen deutschen und englischen Texten zu wählen.

Akzeptanzkriterium:
Wenn die Sprache auf Deutsch gestellt wird, werden die deutschen Texte angezeigt, wenn sie auf Englisch gestellt wird, werden die englischen Texte angezeigt.

Story Points: 1

Website for Data-Download

Beschreibung:
Website, die es registrierten Nutzern ermöglicht, ihre Daten herunterzuladen.

Akzeptanzkriterium:
Der Nutzer erhält nur dann Daten, wenn seine E-Mail-Adresse registriert ist und das angegebene Passwort mit dem gespeicherten übereinstimmt. Die Daten werden in Form eines ZIP-Archives zum Download bereitgestellt.

Story Points: 2

OAuth - Step 3 (Acquire User Access Token and Token Secret)

Beschreibung:
Das Request Token und der Verifier werden an die Garmin Connect-API übergeben, um ein User Access Token zu erhalten. Dieses User Access Token bleibt so lange gültig, bis der Nutzer seine Zustimmung widerruft oder der OAuth-Prozess erneut gestartet wird.

Akzeptanzkriterium:
Wenn ein Request Token mit gültigem Verifier übergeben wird, wird ein gültiges User Access Token mit zugehörigem Secret zurückgegeben.

Story Points: 3

Decrypt Fitness Data using RSA

Beschreibung:
Die Webseite entschlüsselt die Fitnessdaten asymmetrisch mit ihrem Private Key, bevor sie zum Download bereitgestellt werden.

Akzeptanzkriterium:
Die Daten werden korrekt entschlüsselt.

Story Points: 1

Option to delete a DiaConvert account

Beschreibung:
Nutzer haben auf der Webseite die Möglichkeit, ihren DiaConvert Account zu löschen.

Akzeptanzkriterium:
Wenn ein Nutzer seinen Account löschen lässt, werden alle Daten, die zu diesem Account gehört haben, gelöscht.

Story Points: 2

OAuth - Step 1 (Acquire Unauthorized Request Token and Token Secret)

Beschreibung:
Kontaktieren der Garmin Connect-API, um ein Request Token mit Secret zu erhalten. Dieses kann danach verwendet werden, um die Zustimmung eines Nutzers zu erhalten, seine Garmin Connect-Daten abzurufen.

Akzeptanzkriterium:
Es wird ein gültiges Request Token erhalten, sodass eine URL zur Weiterleitung des Nutzers zum Garmin Connect-Login erzeugt werden kann.

Story Points: 2

Function for synchronizing Google Fit data

Beschreibung:
Lambda-Funktion, die neue Fitness-Daten für einen mit Google Fit verknüpften DiaConvert Account abruft und abspeichert.

Akzeptanzkriterium:
Wenn die Funktion gestartet wird und der gewünschte DiaConvert Account mit Google Fit verknüpft ist, werden alle neuen Fitness-Daten lkorrekt in der Datenbank abgespeichert.

Story Points: 5

OAuth - Signing requests

Beschreibung:
Anfragen an die Garmin Connect-API zur Datenabfrage müssen mit consumer key, consumer secret, user access token und user access secret signiert werden. Dabei identifiziert das User Access Token den Nutzer, dessen Daten abgefragt werden sollen.

Akzeptanzkriterium:
Nach abgeschlossener OAuth-Autorisierung können Datenabfragen richtig signiert werden, sodass die gewünschten Daten erhalten werden.

Story Points: 0,5

Website for the Password-Reset

Beschreibung:
Website auf, die es registrierten Nutzern ermöglicht, unter Angabe ihrer E-Mail-Adresse, eine E-Mail anzufordern, mit der sie ein neues Passwort festlegen können. Die Reset-Mail bleibt 24 Stunden gültig.

Akzeptanzkriterium:
Eine Reset-Mail kann nur angefordert werden, wenn die angegebene E-Mail-Adresse bereits registriert ist. Ist die Reset-Mail älter als 24 Stunden, kann kein neues Passwort festgelegt werden. Wird eine gültige Reset-Mail verwendet, wird das alte Passwort, das mit der E-Mail-Adresse verknüpft war, durch das gewünschte neue ersetzt, sodass sich der Nutzer wieder einloggen kann.

Story Points: 3

Convert Data to ODV-Format

Beschreibung:
Die von Garmin erhaltenen Fitness-Daten werden in das OpenDiabetesVault(ODV)-Format konvertiert.

Akzeptanzkriterium:
Die Datensätze werden korrekt konvertiert, wobei alle wichtigen Daten erhalten bleiben.

Story Points: 3

Website for synchronizing and downloading Google Fit data

Beschreibung:
Webseite, auf der ein Nutzer die Fitness-Daten für seinen mit Google Fit verknüpften DiaConvert Account synchronisieren kann. Dabei hat er die Möglichkeit, den neuen Stand der Daten herunterzuladen.

Akzeptanzkriterium:
Die Synchronisierung der Daten wird gestartet, wenn der gewünschte DiaConvert Account mit Google Fit verknüpft ist. Wenn der Nutzer angibt, die Daten herunterladen zu wollen, bekommt er sie nach der Synchronisierung zum Download angeboten.

Story Points: 2

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.