An interactive, personalized gym workout planning platform that creates customized training programs based on your age, gender, fitness goals, and training schedule.
NEW: Advanced Edition Available! - Now includes weight tracking, statistics, rest day recommendations, and more! See ADVANCED_FEATURES.md for details.
- Personalized Workout Plans: Get customized workout routines tailored to your specific goals
- User Profiles: Save and load your personal information
- Progress Tracking: Log your completed workouts and track your fitness journey
- Age-Adjusted Intensity: Automatically adjusts workout intensity based on age
- Export Functionality: Save your workout plan as a text file
- Beautiful Graphical Interface: Modern GUI with buttons and forms
- Data Persistence: Your profile and progress are automatically saved
- Two Versions: Choose between GUI (graphical) or Terminal (command-line) interface
- Weight Tracking: Monitor your weight progress over time with trend analysis
- Statistics & Analytics: View workout streaks, averages, and performance metrics
- Rest Day Recommendations: Get intelligent rest day suggestions based on your activity
- Custom Workouts: Create your own personalized workout routines
- Workout Calendar: Visual 4-week workout planning and scheduling
Choose from 6 different fitness goals:
- Losing Weight - Fat-burning focused exercises
- Staying Calm and Relax - Stretching and relaxation routines
- Increasing Heart Rate - High-intensity cardio exercises
- Stronger Legs - Lower body strength training
- Stronger ABS - Core strengthening exercises
- Stronger Shoulders and Arms - Upper body strength training
- Python 3.6 or higher
- No external dependencies required! Uses only Python standard library
- Clone or download this repository
- Navigate to the project directory:
cd Gym-Workout-Planner
GUI Version (Recommended):
python3 gym_gui.py
Terminal Version:
python3 gym.py
Advanced Version (NEW - with statistics, weight tracking, rest recommendations):
python3 gym_advanced.py
Or make them executable:
chmod +x gym_gui.py gym.py gym_advanced.py
./gym_gui.py # GUI version
./gym.py # Terminal version
./gym_advanced.py # Advanced features
For detailed GUI instructions, see GUI_GUIDE.md
For quick start, see QUICKSTART.md
- Launch the program - Run
python3 gym_gui.py
(GUI) orpython3 gym.py
(Terminal) - Create your profile:
- Enter your name
- Enter your age (1-110)
- Select your biological sex (male/female)
- Choose your fitness goal (1-6)
- Specify training days per week (1-7)
- View your personalized workout plan
- Create a new profile or update your existing one
- All changes are automatically saved
- See your complete weekly workout routine
- View profile information
- Check age-adjusted workout intensity
- Save your workout plan as a text file
- File includes complete profile and all workout days
- Timestamped filename for easy organization
- Track which workouts you've completed
- Add optional notes for each session
- Build your workout history
- See all your completed workouts
- View dates and notes for each session
- Track your total workout count
- Learn more about the application
- View features and version information
- Safely exit the program
- All data is automatically saved
The program automatically adjusts workout intensity based on age:
- Ages 60-65: 0-5% reduction
- Ages 65-75: 5-25% reduction
- Ages 75-80: 25-40% reduction
- Ages 80+: 40-80% reduction (capped at 80%)
Each workout plan includes:
- Exercise name
- Number of repetitions or duration
- Number of sets
- Adjusted intensity based on age
The program intelligently alternates between:
- Your goal-specific workout
- Age and gender-appropriate general workout
This ensures balanced training that targets your specific goals while maintaining overall fitness.
- Profile data is saved in
user_data.json
- Automatically loads on program start
- Exported workout plans saved as
workout_plan_[name]_[timestamp].txt
The program is built with a clean, object-oriented architecture:
Colors
- ANSI color codes for terminal stylingWorkoutDatabase
- Stores all workout routines and goal informationUser
- Represents user profile with serialization supportWorkoutCalculator
- Handles workout adjustments and plan generationGymWorkoutPlanner
- Main application class with menu system
- Type hints for better code clarity
- Comprehensive docstrings
- Error handling for user input
- Clean separation of concerns
- Easy to maintain and extend
- Plate thrusters
- Mountain climbers
- Box jumps
- Lunges
- And more...
- Quad stretches
- Hamstring stretches
- Chest and shoulder stretches
- And more...
- Jumping jacks
- Sprints
- Mountain climbers
- Squat jumps
- And more...
- Back squats
- Hip thrusts
- Overhead presses
- Rack pulls
- And more...
- Cross crunches
- Knee ups
- Hip thrusts
- Dragon flags
- And more...
- Bench presses
- Triceps dips
- Pull ups
- Bent over rows
- And more...
Stay consistent, track your progress, and achieve your fitness goals!