2.0 KiB
2.0 KiB
Development Plan: Exercise Diary
Overview
A desktop GUI application for Linux (CachyOS) to track workout sessions, exercises, and body metrics (weight, etc.).
Technology Stack
- Language: Python 3
- GUI:
customtkinter(Modern, clean, supports dark mode - similar to your Video Converter project). - Database:
SQLite(Lightweight, local file storage, no server setup required). - Plotting:
matplotlib(For visualizing progress/weight trends).
Core Features (MVP)
- Daily Health Log:
- Sleep: Duration (hours) and Quality (1-10 scale).
- Body: Weight and Waist Circumference.
- Wellness: Mood/Energy levels.
- Calisthenics Tracker:
- Focus on bodyweight exercises (e.g., Pushups, Squats, Planks).
- Track Reps, Time (for statics like Planks), and Difficulty/Variation (e.g., "Knee Pushups" vs "Standard").
- RPE (Rate of Perceived Exertion) to track effort as strength increases.
- Motivation & Gamification:
- Streaks: Visual indicator of consistency.
- Progress Graphs: Weight vs. Waist, Sleep Quality vs. Mood.
- "Level 0 to Hero": Simple milestones to acknowledge starting from a sedentary lifestyle.
- Exercise Library:
- Pre-loaded with basic calisthenics moves.
- Ability to add custom exercises.
Proposed File Structure
ExerciseDiary/
├── main.py # Entry point
├── database.py # SQLite handling (Daily logs + Workouts)
├── models.py # Data classes
├── assets/ # Icons or motivational images
├── ui/
│ ├── app.py # Main GUI window
│ ├── daily_log.py # Quick entry for Sleep/Weight/Waist
│ ├── workout.py # Calisthenics logger
│ └── stats.py # Motivation & Graphs
├── requirements.txt # Dependencies
└── README.md
Next Steps
- Initialize the project environment (virtualenv).
- Install
customtkinterandmatplotlib. - Set up the database schema.
- Build the basic GUI shell.