A comprehensive Android fitness application for managing multiple workout routines including Calisthenics, Cardio, Abs, Legs, and Back Strengthening exercises.
- 5 Workout Categories: Calisthenics, Cardio, Abs, Legs, Back Strengthening
- Circular Session Management: Progress through workouts in sequence with automatic cycling
- Progress Tracking: Log workout sessions with detailed history and charts
- Customizable Settings: Adjust workout positions, enable/disable routines, backup/restore data
- Clean Architecture: MVC/MVP pattern with separated UI, data, and business logic layers
- Dark Theme Support: Automatic theme detection with custom notification colors
- Java Development Kit: Java 11 or higher (project configured for Java 21)
- Android Studio: Latest stable version (2023.1+)
- Android SDK: API Level 33 (Android 13)
- Minimum Android Version: API Level 21 (Android 5.0)
- Gradle: Version 8.13.0 or compatible
- Android Gradle Plugin: 8.13.0
- Compile SDK Version: 33
- Target SDK Version: 33
- Build Tools Version: 33.0.0+
git clone <your-repo-url>
cd AllWorkoutsEnsure Java 11+ is installed and configured:
On Linux (Fedora/Ubuntu):
# Check Java version
java -version
# Install OpenJDK 21 if needed (Fedora)
sudo dnf install java-21-openjdk java-21-openjdk-devel
# Or on Ubuntu
sudo apt install openjdk-21-jdkOn macOS:
# Using Homebrew
brew install openjdk@21On Windows:
- Download and install OpenJDK 21 from Adoptium
- Set JAVA_HOME environment variable
- Open Android Studio
- Install Android SDK API Level 33 via SDK Manager
- Install required build tools (33.0.0+)
- Open the project:
File → Open → Select AllWorkouts folder
The project uses these key configurations (already set in gradle.properties):
org.gradle.jvmargs=-Xmx2048M
android.useAndroidX=true
android.nonTransitiveRClass=false
android.nonFinalResIds=false# Clean build
./gradlew clean
# Build debug APK
./gradlew assembleDebug
# Install and run on connected device
./gradlew installDebugapp/src/main/
├── java/com/allvens/allworkouts/
│ ├── base/ # Base classes for MVC/MVP pattern
│ ├── data_manager/ # Database and data access classes
│ ├── managers/ # Business logic and data managers
│ ├── ui/ # UI managers for activities
│ ├── utils/ # Utility classes
│ └── *.java # Activity classes
├── res/
│ ├── layout/ # XML layout files
│ ├── values/ # Colors, strings, styles
│ ├── values-night/ # Dark theme resources
│ └── drawable/ # Images and icons
└── AndroidManifest.xml # App configuration
The app follows a clean MVC/MVP architecture with:
- Activities: Slim coordinators handling lifecycle and navigation
- UI Managers: Handle all view binding, styling, and user interactions
- Data Managers: Manage preferences, database operations, and data persistence
- Controllers: Coordinate business logic between UI and data layers
- Base Classes: Provide consistent patterns and lifecycle management
- Android Support Libraries: AppCompat, RecyclerView, CardView, Design
- MPAndroidChart: For workout progress charts and data visualization
- OutlineTextView: Enhanced text rendering for workout displays
- ConstraintLayout: Modern layout management
- Code Style: Follow existing camelCase for methods/variables, PascalCase for classes
- Git:
.idea/files are ignored to prevent cross-system conflicts - Java Version: Project targets Java 11 with compatibility for Java 21
This project is configured to work seamlessly across different development machines:
- All IDE-specific files (
.idea/) are gitignored - No absolute paths in tracked configuration files
- Gradle wrapper ensures consistent build environment
- README provides complete setup instructions
-
Update version in
app/build.gradle:versionCode 3 versionName "1.4" -
Build release APK:
./gradlew assembleRelease
-
Sign APK with your keystore (configure in
build.gradleif needed)
- Follow the existing code style and architecture patterns
- Test thoroughly on multiple devices and API levels
- Update documentation for any new features or changes
- Ensure all lint warnings are addressed
[Add your license information here]
- v1.3: Added Back Strengthening workout, improved MVC architecture
- v1.2: Enhanced UI/UX, dark theme support
- v1.1: Circular workout sessions, progress tracking
- v1.0: Initial release with 4 workout categories