Skip to content

bilalcodes1/GymTech

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GymTech πŸ’ͺ

AI-powered Arabic fitness companion built with Kotlin, Jetpack Compose, Clean Architecture, Room, Hilt, and OpenAI.

GymTech is a modern Android fitness application designed for Arabic-speaking users. It helps users plan workouts, track nutrition, monitor progress, calculate ideal weight, and interact with an AI fitness coach.


Badges

Platform minSdk targetSdk Kotlin Jetpack Compose


Overview

GymTech is a fully Arabic-localized Android fitness app that combines workout planning, nutrition tracking, progress monitoring, reminders, and AI assistance in one mobile experience.

The app is designed to help users build better fitness habits through a clean interface, personalized tools, and an AI-powered fitness chat experience.


Features

Feature Description
AI Workout Planner Generate workout plans using OpenAI
AI Fitness Chat Chat with an AI fitness assistant
Nutrition Tracker Track meals, calories, and nutrition
Progress Dashboard Monitor user progress visually
Ideal Weight Calculator Calculate ideal weight based on user data
Smart Reminders Workout and hydration reminders using WorkManager
Arabic UI Arabic-first interface for Arabic-speaking users
English Support Supports Arabic and English UI
Dark / Light Theme Material 3 dark and light mode support
Local Storage Saves user data locally using Room and DataStore

Tech Stack

Category Technology
Language Kotlin 2.0.21
UI Jetpack Compose, Material 3
Architecture MVVM + Clean Architecture
Dependency Injection Hilt
Local Database Room
Networking Retrofit, OkHttp, Gson
Async Kotlin Coroutines, Flow
Background Tasks WorkManager
Image Loading Coil
Animations Lottie
Persistence DataStore Preferences
AI OpenAI Chat Completions API
Build System Gradle Kotlin DSL

Project Structure

GymTech/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ build.gradle.kts
β”‚   └── src/main/kotlin/com/gymtech/app/
β”‚       β”œβ”€β”€ data/                 # Repositories, Room database, Retrofit APIs
β”‚       β”œβ”€β”€ domain/               # Models and repository interfaces
β”‚       β”œβ”€β”€ di/                   # Hilt modules
β”‚       β”œβ”€β”€ presentation/         # Compose screens and ViewModels
β”‚       β”‚   β”œβ”€β”€ auth/             # Register and ideal weight screens
β”‚       β”‚   β”œβ”€β”€ chat/             # AI chat
β”‚       β”‚   β”œβ”€β”€ dashboard/        # Home dashboard
β”‚       β”‚   β”œβ”€β”€ nutrition/        # Nutrition tracking
β”‚       β”‚   β”œβ”€β”€ progress/         # Progress charts
β”‚       β”‚   β”œβ”€β”€ workout/          # AI-generated workouts
β”‚       β”‚   β”œβ”€β”€ settings/         # Language, theme, and profile
β”‚       β”‚   └── admin/            # Admin tools
β”‚       β”œβ”€β”€ ui/theme/             # Material 3 theme
β”‚       β”œβ”€β”€ util/                 # Helper classes
β”‚       └── worker/               # WorkManager workers
β”œβ”€β”€ gradle/libs.versions.toml
β”œβ”€β”€ build.gradle.kts
β”œβ”€β”€ settings.gradle.kts
└── local.properties              # Not committed

Getting Started

Requirements

Requirement Version
Android Studio Ladybug 2024.2.1 or newer
JDK 17
Android SDK API 35
Minimum Android Version API 26+
OpenAI API Key Required for AI features

Clone the Repository

git clone https://github.com/bilalcodes1/GymTech.git
cd GymTech

Open the project in Android Studio and wait for Gradle sync to finish.


Configuration

OpenAI API Key

For AI features, add your OpenAI API key to local.properties.

OPENAI_API_KEY=your_openai_api_key_here
OPENAI_BASE_URL=https://api.openai.com/

Then sync the project:

File β†’ Sync Project with Gradle Files

Do not commit local.properties to GitHub. It should stay private on your machine.


Building the App

Run from Android Studio

Connect an Android device or start an emulator, then press:

Run β–Ά

Build Debug APK

./gradlew assembleDebug

Output:

app/build/outputs/apk/debug/app-debug.apk

Install Debug APK

./gradlew installDebug

Run Tests

./gradlew test

Troubleshooting

SDK Location Not Found

Open the project once in Android Studio. Android Studio should automatically create local.properties with the correct sdk.dir.

Gradle JDK Error

Make sure Android Studio is using JDK 17:

Settings β†’ Build Tools β†’ Gradle β†’ Gradle JDK

AI Chat Returns 401 Unauthorized

This usually means the OpenAI API key is missing, invalid, or revoked.

Check your local.properties file:

OPENAI_API_KEY=your_openai_api_key_here
OPENAI_BASE_URL=https://api.openai.com/

Then sync Gradle again.

Hilt or KSP Errors

Make sure dependencies are synced correctly and that the project is using the correct Gradle JDK.


Security Notes

  • Do not commit API keys to GitHub.
  • Store secrets in local.properties.
  • Keep local.properties inside .gitignore.
  • Do not log BuildConfig.OPENAI_API_KEY.
  • For public release, use a secure backend instead of calling AI APIs directly from the app.
  • Release builds should use a real signing keystore, not the debug keystore.

Current Status

GymTech is a university/personal Android project focused on Arabic fitness assistance and AI-powered workout support.

Implemented areas include:

  • Arabic Android UI
  • AI fitness chat
  • Workout planning
  • Nutrition tracking
  • Progress screens
  • Ideal weight calculation
  • Local database structure
  • Reminder system
  • Settings and theme support

Future Improvements

  • Improve AI prompt quality
  • Add more workout templates
  • Add advanced progress charts
  • Add cloud sync
  • Add user authentication
  • Add exercise media library
  • Add meal database
  • Add exportable progress reports
  • Improve offline mode

Author

Bilal Zamil Ahmed Computer Science Student University of Anbar

GitHub: @bilalcodes1


License

Private project β€” All rights reserved Β© 2026 Bilal Zamil Ahmed.

About

AI-powered Arabic fitness Android app built with Kotlin, Jetpack Compose, Clean Architecture, Room, Hilt, and OpenAI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors