BUILD
Ein persönliches Planungs- und Fitnessproblem, übersetzt in ein natives Android-Produkt.
- Native Android-App
- Produkt
- Kotlin, Jetpack Compose, Material 3
Überblick
BUILD ist eine persönliche App für Fitness und Tagesroutinen auf Android. Sie bündelt Training, Ernährung, Trinkmenge, Supplements, Erinnerungen und Notizen an einem Ort – und passt sich an, wenn sich der Zeitplan ändert.
Das Problem
Training, Ernährung und Tagesroutinen verteilen sich meist auf verschiedene Apps und Notizen – und keine davon kommt gut damit zurecht, wenn eine Woche anders läuft als geplant. Der Ausgangspunkt war persönlich: eine sich ändernde Routine organisiert halten, ohne mehrere Werkzeuge zu jonglieren.
Ansatz
Statt eines einfachen Trackers behandelt BUILD die Routine als strukturierte Daten mit Zeitplan. Trainingseinheiten, Sätze, Wiederholungen und Progression stehen neben Ernährung, Protein, Trinkmenge und Supplements; Erinnerungen werden aus diesen Daten geplant, und der Plan lässt sich neu ordnen, wenn sich der Zeitplan ändert.
- Zeitplan
- App-Logik (MVVM)
- Room-Daten
- Dynamische Planung
- Erinnerungen
Omars Beitrag
- Aus einem persönlichen Routineproblem eine Produktdefinition gemacht
- Die App nativ in Kotlin mit Jetpack Compose und Material 3 entwickelt
- Architektur nach MVVM mit unidirektionalem Datenfluss
- Persistenz mit Room, reaktive Aktualisierung mit Coroutines und Flow
- Erinnerungen über AlarmManager geplant
- Automatisierte Tests mit JUnit, Robolectric und Roborazzi
Funktionen
- Trainings-Tracking: Übungen, Sätze, Wiederholungen, Progression
- Ernährung, Protein und Trinkmenge
- Supplements
- Erinnerungen und Notizen
- Dynamische Routinen, die sich an Zeitpläne anpassen
- Material-3-Design, responsive Layouts und Dark Mode
Architektur
- UI: Jetpack Compose mit Material 3
- Präsentation: MVVM mit unidirektionalem Datenfluss
- Daten: Room-Datenbank als Single Source of Truth
- Nebenläufigkeit: Kotlin Coroutines und Flow für reaktive Aktualisierung
- Planung: AlarmManager für Erinnerungen
- Qualität: JUnit, Robolectric und Roborazzi-Screenshot-Tests
Zentrale Entscheidungen
- Natives Kotlin statt Web-Wrapper – Erinnerungen und Offline-Daten brauchen die Plattform
- Room als Single Source of Truth, Flow hält die Oberfläche synchron
- Unidirektionaler Datenfluss, damit eine funktionsreiche App vorhersehbar bleibt
- Automatisierte Tests, einschließlich Screenshot-Tests, von Anfang an
Die eigentliche Herausforderung
Das Schwierige ist nicht das Tracking, sondern die Veränderung. Eine Routine, die sich verschiebt, braucht Daten, Planung und Erinnerungen, die zueinander konsistent bleiben.
Ergebnis
Eine funktionierende native Android-App mit strukturierten Daten, dynamischer Planung, Erinnerungen, persistenter Speicherung und automatisierten Tests – entwickelt rund um eine persönliche Routine.
Technologie
Kotlin
Jetpack Compose
Material 3
MVVM
Room
Coroutines & Flow
AlarmManager
JUnit · Robolectric · Roborazzi
Warum es relevant ist
Native Produktentwicklung: ein Alltagsproblem von der Idee bis zur strukturierten, getesteten Mobile-App bringen.
Nächstes Projekt
Ein Thema eingeben, einen strukturierten Lernpfad erhalten.