ATHLO_CCL3

Workout Tracker - System Documentation

David Oppenauer, Florian Golubic

[ DOWNLOAD .APK ]

GitLab Repository: https://git.nwt.fhstp.ac.at/cc241008/Athlo

Description/ Use case

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.

Target User

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.

Key Screens

Home Screen

Home Screen

Main dashboard featuring daily workout plan, experience points, level progression, and exercise completion tracking with retro terminal styling.

Workout Loadouts Screen

Workout Loadouts

Create and manage custom workout loadouts. Add exercises for each day of the week with customizable sets and repetitions. Mark rest days as needed.

Exercises Screen

Exercise Management

Detailed view for adding, editing, and deleting exercises. Configure rep and set counts, assign to specific days, and organize your training schedule.

Settings Screen

Settings

User configuration panel for updating username and resetting level progress. Additional customization options available.

Technical Specifications

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.

Core Features

• 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

Entity Relation Diagram

Entity Relation Diagram of ATHLO

ATHLO Data Schema

The database architecture is built on three pillars: User Progression (Gamification), Workout Management, and Retro UI Customization.

1. User & Gamification

Manages user identity and the RPG-like progression system.

  • user_profile: Stores global stats (Level, Current XP, Total Workouts) and the currently active loadout ID.
  • category_progress: Tracks experience points for specific types of exercise (e.g., Strength vs. Cardio levels).

2. Workout Management

Handles the creation and execution of training plans.

  • workout_loadouts: Acts as a workoutplan for a specific routine (e.g., "Cardio").
  • exercises: The individual exercises within a loadout. Contains data (Sets, Reps, Weight) and status flags (Completed, Rest Day).

3. Customization & Unlocks

Controls the app's retro aesthetic and reward economy.

  • unlockables: A reference table of all available rewards (Themes, Icons) and their required level/cost.
  • user_unlocks: Maps users to the items they have acquired.
  • user_preferences: Stores active settings like CRT filters, scanlines, and pixel fonts.

Reflection of David Oppenauer cc241030

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.

Reflection of Florian Golubic cc241008

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.