murksen: intransitiv; unfähig oder schlampig vorgehen, insbesondere bei der Arbeit, so dass nichts oder nichts Rechtes zuwege gebracht wird oder doch nicht in annehmbarer Zeit

MyActivityLog Webservice und iOS App

Kategorie: ,
490 Wörter

Es ist soweit. Ich habe seit einigen Monaten daran getüftelt sein einigen Wochen daran vibe codet.

Der MyActivityLog Webservice ist soweit fertig, zumindest fürs Erste was meine persönlichen Einsatzzwecke betrifft. Und auch die iOS App (Als Companion um die Daten zu übertragen) wurde von Apple mittlerweile zugelassen.

Also, was ist das nun und was kann es.

Fangen wir mit der App an, das ist einfacher. Sie agiert ans Bridge zwischen euren Daten in Apple Health / Healthkit. Die App wir installiert, ihr erteilt die Berechtigung, dass sie eure Apple Health Daten lesen kann und schon beginnt sie eure Workout Daten zu listen.

Ihr habt die Möglichkeiten einzelne oder alle Workouts, oder einen Zeitraum als JSON zu exportieren (das könnt ihr danach importieren im Webservice) oder aber, wenn euer Webservice aufgesetzt ist könnt ihr mittels eines dort generieren PAT (Personal Access Token) eine Verbindung herstellen und die Daten syncen.

Im Webservice von MyActivityLog landen schlussendlich eure Workouts und Trainingsdaten. Ich könnt diese sehen, analysieren und mittels Links sharen.

Ihr seht euren Trainingsverlauf, Kalorienverbrauch der Workouts, Eine Map mit euren Workouts. Die Detailansicht zeigt, vorausgesetzt Apple Health hat die Daten, Puls, GPS, Pace, die Pace für Kilometer Segmente. Und grundsätzlich wird auch euer Training Load visualisiert.

Installation geht grundsätlich einfach und habe ich auf Codeberg auch beschrieben. Voraussetzung ist die Möglichkeit Docker rennen zu lassen (idealerweise mit Linux, getestet hab ich es auf einem Ubuntu 24.04), Python3.

Zuerst holt euch die Files

git clone https://codeberg.org/klnlrchr/MyActivityLog-Web.git
cd MyActivityLog-Web

Dann führt das Script aus um Passwörter und Secrets zu setzen

python3 scripts/setup.py

Dann baut und startet die Container

docker compose up -d --build

Und setzt schlussendlich euer Admin Passwort

docker compose exec backend python set_password.py

Dann könnt ihr euch auf Localhost anmelden. Entweder Port 80 oder 443 (wenn beim Setup https/tls gewählt wurde)

Details und den Quellcode zum Projekt MyActivityLog findet ihr auf Codeberg (https://codeberg.org/klnlrchr/MyActivityLog-Web)

Die App (iOS only) findet ihr im App Store

Wer eine Android App für den Sync bauen will ist herzlich eingeladen. Es gibt eine API und in Swagger beschriebene Endpoints.

Was kommt noch?

Ich würde sagen das ganze Ding steht schon ganz gut da. Ich habe täglich eine automatisierte Prüfung des Codes und der Dependencies im Gitlab laufen. Wenns da hakt, wird der nächste Deploy auf Codeberg blockiert – also ich bin auf Sicherheit bedacht.

Ein paar Verbesserungen will ich da noch machen um das ganze weiter abzusichern. Swagger und API Docs sollen by default ausgeblendet sein um nicht unnötig die Endpoints zu exposen. Die PATs will ich nochmal überarbeiten und sauber speichern, ich habe da anfangs die Möglichkeiten nicht ganz bedacht. Das beschissene Thema Zeitzonen muss ich auch nochmal angehen, da ich ja das zuerst nur für mich gemacht habe, habe ich nicht über den Tellerrand geblickt und UTC+2 ist fix. Ein paar weitere Kleinigkeiten will ich noch angehen. Aber fürs Erste glaube ich, es ist für einen Start alles da! Legt los, installiert, schreibt Feedback und forkt wenn ihr wollt.

Buy Me a Coffee at ko-fi.com

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr verbloggt

Clemens CLI

Follow the white rabbit!

Ich podcaste auch