fitness_app_1

Fitness-App – WS21

Von am 24.02.2022

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. 

Deswegen habe ich die Möglichkeit des Semesterprojektes (WS21), der Masterklasse Mobile, genommen, um meine eigene Fitness-App zu programmieren, welche alle, für mich, essenzielle Funktionen enthält und ich in meinem Alltag verwenden kann. 

Konzept

Im Allgemeinen soll es eine Fitness-App werden für „Fortgeschrittene“. Für Menschen, die schon länger trainieren und eine App suchen, wo sie ihr Workout festhalten können, eigene Workouts und Übungen erstellen können, die Fortschritte verfolgen können, etc.  Die App ist für das Fitness-Studio ausgerichtet oder kann auch für Home-Workouts angewandt werden. Der Kern des Konzeptes ist, dass verschiedene Workouts für die verschiedenen Muskelgruppen erstellt werden können. 

Backend

Für die Umsetzung des Backends habe ich mich für NestJS entschieden in Verbindung mit TypeOrm und MySQL als Datenbank. Die Relations zwischen den Workouts, Exercises und Sets war am Anfang ein bisschen herausfordernd und hat ein paar Trail-and-Error Versuche benötigt. Die Logik wurde besser, wie die Bibliothek der vorgefertigten Übungen eine eigene Entity und in einer eigenen Datenbank-Tabelle gespeichert wurden. Die Autorisierung und Authentifizierung wurden mit JSON Web Token umgesetzt. 

Frontend

Für die Umsetzung des Frontends habe ich mich für Ionic Angular entschieden. Die Umsetzung wurde ebenfalls ein bisschen komplizierter, als zuvor gedacht, zumal es viele verschiedene Unterseiten gibt, welche Daten austauschen müssen. Der aktuelle Stand umfasst eine Übersichtsseite, welche die verschiedenen Workouts anzeigt und wo neue Workouts erstellt werden können, wobei sich hier eine neue Unterseite öffnet. Auf der Übersichtsseite öffnet sich bei Klick auf ein Workout die Details mit Übungen. Von dieser Detailseite aus können Aktionen, wie Start, Bearbeitung oder Löschung des Workouts, ausgeführt werden. Zusätzlich gibt es eine Übersichtsseite für die Übungen mit einem Button zur Erstellung von neuen Übungen. Bei der Übersicht wird zwischen den vorgefertigten Übungen und den angelegten von dem User unterschieden, wobei die eigenen Übungen bearbeitet und gelöscht werden können. 

Lesson Learned

Ich habe das Projekt allein durchgeführt und musste mich somit mit allen Teilen des Projektes intensiv auseinandersetzen. Dies hat Vor- und Nachteile, wobei hier für mich der große Vorteil, dass ich meine Kenntnisse im Back- und Frontend weiterentwickeln konnte, definitiv gewinnt. 

Für die Zukunft habe ich gelernt, dass ich mit viel mehr Zeit für das Konzept nehmen sollte und im Detail die Logik vor der Implementierung überlegen und durchspielen sollte, zumal hier einige Probleme aufkamen und ich öfters die Logik und Struktur deswegen ändern musste. 

Zukunftsausblick

Mir war am Anfang des Projekts schon klar, dass ich die App im nächsten Semester weiterentwickeln möchte, da ich die App irgendwann im Alltag verwenden will und mir bewusst war, dass dies nach einem Semester noch nicht möglich sein wird. Neben der Verfeinerung der bisherigen Funktionen habe ich vor noch einige andere essenzielle Funktionen einzubauen. Geplant ist eine Kalenderübersicht, eine Fortschrittsansicht des Workouts, ein Protein-Tracker, ein Rest-Timer und noch einiges mehr. So Stay Tuned! 

The comments are closed.