deviceframes-3

Fitness-App – SS22 (Muscle Hustle)

Von am 22.06.2022

Bereits im Wintersemester 2021 habe ich im Zuge der Masterklasse begonnen eine Fitness-App zu entwickeln. Der Hintergrund dieser App war folgender: Als mein Hobby gehe ich regelmäßig ins Fitness-Studio und durch die verschiedenen Workouts mit den verschiedenen Übungen habe ich nach einer App gesucht, wo ich diese tracken kann, zumal die Übersicht in meinen Notizen oft unübersichtlich und unbefriedigend ist. Leider musste ich schnell feststellen, dass keine App auf den Markt meine Anforderungen erfüllt oder ab einem (viel zu frühen) Zeitpunkt kostenpflichtig ist. 

Dadurch, dass ich die App selber im Alltag nutzen möchte, habe ich die Möglichkeit ergriffen die Fitness-App im Sommersemester weiterzuentwickeln, zu verbessern und meinen Bedürfnissen anzupassen.

Technologien

Die App verwendet im Backend NestJS in Verbindung mit TypeORM und MySQL als Datenbank. Zusätzlich werden JSON Web Token für die Autorisierung und Authentifizierung verwendet. Im Frontend wird Ionic Angular verwendet.

Bisheriger Stand

Im Wintersemester wurden die Grundfunktionen umgesetzt. Unter Anderem konnte ein Workout erstellt werden, Übungen und Sets mit den jeweiligen Gewichten und Wiederholungen hinzugefügt werden. Das Workout konnte gestartet und die Sets als ‘erledigt’ markiert werden. Es gab eine Liste an Übungen mit der jeweiligen Kategorie und Muskelgruppe und es konnten eigene Übungen erstellt werden.

Design

Für das Design habe ich mir Hilfe von einer anderen Studentin im Zuge der Lehrveranstaltung ‘Tun, Forschen, Gründen’ geholt. Am Anfang des Semesters habe ich ihr meinen aktuellen Stand gezeigt, die Funktionen der App erklärt und ein Board erstellt, wo ich Farbpaletten und andere App-Design eingefügt habe, damit sie die Design-Richtung erkennt, in welche ich gehen wollte. Als erstes musste ich mich auf einen Namen festlegen, da sie für mich ein Logo gestaltet hat. Der Name der App wurde: Mustle Hustle. Ich bin wirklich sehr zufrieden mit dem Design und habe es auch Großteils bereits umgesetzt. Ein paar Kleinigkeiten fehlen noch oder müssen noch angepasst werden.

(Der Kalendar ist noch nicht an dem Design angepasst, da es ein Package ist und ich noch bisschen damit kämpfe.)

Neue Funktionen

Die neuen Funktionen, welche ich in diesem Semester entwickelt habe, sind unter Anderem:

  • Ein Rest-Timer für die Pausen zwischen den Sets
  • Die Übungen können durchsucht und nach Kategorie oder Muskelgruppe gefiltert werden
  • Bei den Einstellungen kann die Zeit des Rest-Timer individuell angepasst werden.
  • Ebenfalls bei den Einstellungen kann der Wirkout-Split (an welchem Tag, man welches Workout machen will) eingegeben werden.
  • Der Workout-Split wird dann in einem Kalendar angezeigt. Wenn man allerdings doch nicht dazu kommt das geplante Workout zu machen, kann man es einfach überspringen oder auf den nächsten Tag verschieben. Der gesamte Kalendar passt sich dann daran an.
  • Ebenfalls werden die Workouts, welche erfolgreich gemacht wurden, in dem Kalender angezeigt.

Lesson Learned

Ich habe definitiv ein besseres Verständnis für NestJS und Ionic bekommen. Allerdings mehr für Ionic, zumal das Backend schon ziemlich fertig war und dort nicht mehr viel angepasst/verändert/hinzugefügt werden musste. Mein Problem dieses Semester war es, dass ich immer fünf Schritte vorausgedacht habe. Während ich dabei war eine Funktion umzusetzen und die Bugs zu fixen, kam mir gleich eine Idee für eine Erweiterung oder eine neue Funktion, welche ich dann direkt begonnen habe einzubauen. An einem gewissen Punkt hatte ich dann fünf angefangene, unfertige Funktionen und keine Zeit mehr alle ordentlich umzusetzen. Ich habe dann Prioritäten gesetzt und ein paar der Funktionen für die Zukunft geplant.

Zukunftsausblick

Ich habe definitiv vor, dass ich an der App weiterarbeite. Da mittlerweile die wichtigsten Funktionen eingebaut sind und auch ohne Bugs funktionieren, ist der nächste Schritt, dass ich das Design komplett fertig mache und dann geht es ans testen in der Praxis. Mein Plan ist es, dass ich spätestens im Herbst die App einwandfrei bei meinem Training verwenden kann. Wenn das der Fall ist, werde ich erst die nächsten Funktionen und Verbesserungen einbauen.

Beitrag kommentieren

(*) Pflichtfeld