Files
ExerciseDiary/DEVELOPMENT_PLAN.md
2026-01-10 16:46:49 +01:00

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)

  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.