Workout Tracker - System Documentation
David Oppenauer, Florian Golubic
GitLab Repository: https://git.nwt.fhstp.ac.at/cc241008/Athlo
ATHLO is a gamified workout tracking application. You can create and manage multiple workoutplans, add custom exercises or choose exercises from an API for each day of the week and collect Exp to receive rewards and unlocks.
This project is categorised as USE CASE B - Wellbeing since it is a fitness planner/tracker application.
The target user for ATHLO is a young adult (18-35) who is moderately active or fitness-motivated and enjoys structured workout planning with a sense of progression. This includes university students, casual gym-goers, and beginners who want to build consistency through simple tracking and gamification rather than complex analytics. ATHLO is especially suited to users who prefer offline-first, distraction-free tools that focus on habit-building, routine management, and personal achievement.
Main dashboard featuring daily workout plan, experience points, level progression, and exercise completion tracking with retro terminal styling.
Create and manage custom workout loadouts. Add exercises for each day of the week with customizable sets and repetitions. Mark rest days as needed.
Detailed view for adding, editing, and deleting exercises. Configure rep and set counts, assign to specific days, and organize your training schedule.
User configuration panel for updating username and resetting level progress. Additional customization options available.
Color Scheme: Retro terminal green (#00ff00) on dark grey (#2a2a2a, #1a1a1a) for authentic phosphor display aesthetic.
Typography: Monospace fonts (Courier New) for classic terminal appearance and enhanced readability.
Architecture: Jetpack Compose UI with Room database for local persistence. Full CRUD operations implemented.
Features: Gamification system with EXP tracking, level progression, customizable workout loadouts, and day-specific exercise scheduling.
• Workout Loadouts: Create multiple training programs with unique exercise configurations
• Day-Based Scheduling: Assign exercises to specific days of the week, including rest day options
• Gamification: Earn experience points for completed exercises and level up your profile
• Full CRUD Operations: Complete control over workouts, exercises, and user data
• Progress Tracking: Monitor completion status and training history
The database architecture is built on three pillars: User Progression (Gamification), Workout Management, and Retro UI Customization.
Manages user identity and the RPG-like progression system.
Handles the creation and execution of training plans.
Controls the app's retro aesthetic and reward economy.
This is my magnum Opus with the MC project I was still learning, the structure wasn't good, the logic was a little devided in the wrong places but with the CCL3 I think I did a really great job. Structure is clean as can be, logic is where it needs to be, clean small components/composables for every UI element, I really like that. My contribution was Creating the Progression Screen UI and Logic, and creating and implementing the API communication. As well as a few minor bug fixes. In my opinion the App exceeds our initial concept, as we really didn't plan on API integration but ended up doing it anyway and the reward system was also way cooler and flashed out than initially expected. Nothing really comes to mind when I think about what could be improved, I guess that means we could/should do some more User testing next time I guess.
I was glad that I could continue to work and expand on the Mobile Coding project. My inital goal was to create a simple workout tracker for personal use, but throughout the CCL3 it turned out to have its own charm and it proved that it could stand on its own. The project structure is very clean and allowed for us to easily integrate new features to the app. My contribution was rebuilding the Settings Screen, creating the Unlock Tree Screen as well as implementing the Unlock system and creating Unlockables (Visual effects, Titles and Themes). As well as few bug fixes and UI fixes based on User feedback. I was also responsible for conducting the User tests. What could be improved is the User testing, testing more users and having them go through more elaborate task, that could potentially reveal hidden usability issues. Other than that I am very happy on how this app turned out.