Initial commit

This commit is contained in:
2026-01-10 16:46:49 +01:00
commit 4ae02411aa
18 changed files with 1066 additions and 0 deletions

49
DEVELOPMENT_PLAN.md Normal file
View File

@@ -0,0 +1,49 @@
# 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)
1. **Daily Health Log:**
* **Sleep:** Duration (hours) and Quality (1-10 scale).
* **Body:** Weight and Waist Circumference.
* **Wellness:** Mood/Energy levels.
2. **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.
3. **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.
4. **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
1. Initialize the project environment (virtualenv).
2. Install `customtkinter` and `matplotlib`.
3. Set up the database schema.
4. Build the basic GUI shell.