TYPO3 ist den meisten Webentwicklern als CMS für Webseiten bekannt. Aber TYPO3 CMS kann noch viel mehr. Für unser neuestes Projekt, eine Trainingsapp für Krafttraining, haben wir uns entschieden TYPO3 für die Verwaltung der Trainingspläne und Athleten zu verwenden.


Your Fitness Coach - Trainingsapp für Krafttraining

Die Anforderungen

Die Aufgabe war es eine Trainingsapp für iPhone und Android zu entwickeln, die von einem Trainer-Team mit neuen Trainingsplänen und Workouts gefüllt und gewartet werden kann. Die einzelnen Übungen sollten auf der Website nach Muskelgruppen kategorisiert ausgegeben werden. Zusätzlich sollten auf der Website die Funktionen der App präsentiert werden und ein Blog für redaktionelle Inhalte integriert sein.

Funktionen der Trainingsapp

Die App ist optimiert für Krafttaining und Training mit eigenem Körpergewicht (Bodyweight), aber auch Ausdauereinheiten können abgebildet werden. Eine Besonderheit, die wir bei keiner anderen App gefunden haben, ist die Eingabe der Maximalkraft. Der Athlet kann für jede Übung seine individuelle Maximalkraft eingeben und dies auch immer wieder anpassen. Dadurch erspart er sich das lästige umrechnen von % der Maximalkraft in kg. Eine weitere wichtige Funktion ist die Statistik. Ein Einblick in vergangene Trainings und ein Ist-/Sollwertvergleich nach dem Training ermöglichen eine optimale Anpassung des Trainings.

Technische Umsetzung

Wir haben uns für TYPO3 CMS entschieden, da uns eine einfache Wartung und die optimale Ausgabe der Inhalte für die unterschiedlichen Plattformen (App, Website) sehr wichtig ist. Auf der App Seite haben wir uns entschlossen Cordova zu verwenden. Das ermöglicht uns eine einfache Cross-Plattform-Entwicklung und wir können mit uns bekannten Technologien wie HTM5, CSS3 und JavaScript arbeiten.

TYPO3 Backend und Extensions

Da wir mit der Umsetzung schon letztes Jahr begonnen haben, setzen wir noch ein TYPO3 7.6 LTS ein. Mit dem ersten größeren Update möchten wir aber auch auf die neue 8.7 umstellen.

Eine der größten Herausforderungen war die Erstellung des Domain-Models. Wir haben es aber geschafft ein Model zur erstellen mit dem wir sehr flexibel sind und viele unterschiedliche Arten von Trainingsplänen, Workouts und Sätzen abbilden können.

Um die Extension nicht zu komplex zu machen, haben wir das Ganze auf drei Erweiterungen aufgeteilt (Athlet, Training und Statistik).

Die Athleten Extension erweitert die FE-User von TYPO3. Die Registrierung der User erfolgt über die Extension femanager bzw. durch einen Facebook-Login mit Easylogin.

Das Herzstück dieses Projektes ist sicher die Trainingsextension. Diese enthält die einzelnen Übungen, welche auf der Website ausgegeben werden oder zusammengefasst als Workouts bzw. Trainingspläne in der App zur Verfügung stehen.

In der Statistikextension werden alle den Athlet betreffenden Daten wie Gewicht, Maximalkraft, die absolvierten Workouts und vieles mehr gespeichert.

Die App

Durch die Verwendung von Apache Cordova war es sehr einfach die App für Android und iOS zu erstellen. Wir verwenden den Webview von Cordova in dem wir mit Backbone.js die Inhalte von TYPO3 laden und zu speichernde Werte wieder übergeben. Wir setzen hier auf eine Mischung aus HTML und JSON. Diesen Weg haben wir gewählt weil er schneller und günstiger war. Das werden wir aber in einer zukünftigen Version mit einer REST Schnittstelle ersetzen.

Google Play Store: Your Fitness Coach
Apple App Store: Your Fitness Coach

Ich hoffe ich konnte euch einen kleinen Einblick in unser neuestes Projekt geben und euch zeigen, dass TYPO3 nicht nur für Websites die richtige Wahl ist.

Your Fitness Coach Trainingsapp für Krafttraining