juehv / garmin-connect-data-exporter Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU Affero General Public License v3.0
License: GNU Affero General Public License v3.0
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
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
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
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
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
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
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
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
Beschreibung:
Webseite, auf die der Nutzer weitergeleitet wird, nachdem er zugestimmt hat, seinen Garmin-Connect Account mit der Anwendung zu verbinden.
Akzeptanzkriterium:
Der Nutzer wird auf die richtige Seite weitergeleitet, nachdem er zugestimmt hat.
Story Points: 1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.