https://github.com/mikhailvokhrameev/workout_tracking_app
Workout tracking app featuring progressive overload monitoring
https://github.com/mikhailvokhrameev/workout_tracking_app
kivy progressive-overload python workout-tracker
Last synced: 19 days ago
JSON representation
Workout tracking app featuring progressive overload monitoring
- Host: GitHub
- URL: https://github.com/mikhailvokhrameev/workout_tracking_app
- Owner: mikhailvokhrameev
- Created: 2025-09-24T23:38:05.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-10-21T14:44:50.000Z (7 months ago)
- Last Synced: 2025-10-21T16:36:04.440Z (7 months ago)
- Topics: kivy, progressive-overload, python, workout-tracker
- Language: Python
- Homepage:
- Size: 394 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/mikhailvokhrameev/workout_tracking_app/actions/workflows/Buildozer%20Action.yml)
# Мобильное приложение для отслеживания силовых тренировок с расчетом прогрессивной перегрузки

Данный репозиторий содержит приложение, которое предназначено для автоматизации процесса планирования и отслеживания силовых тренировок на основе принципа прогрессивной перегрузки. Использовать приложение могут люди, которые занимаются спортом как на любительском, так и на профессиональном уровне.
---
### Почему я делал этот проект?
Мне хотелось разобраться с процессом разработки полноценного приложения на `Python` и запустить его на мобильном устройстве.
Мне удалось реализовать базу, на основе которой я буду в дальнейшем проводить свои эксперименты в сфере Deep Learning, путем интегрирования ИИ функций в приложение.
---
### Что такое прогрессивная перегрузка?
Это фундаментальный принцип силовых тренировок, который заключается в постепенном увеличении нагрузки на мышцы, чтобы они становились сильнее и больше. **Без постоянного вызова тело человека не будет иметь причин для адаптации.**
**Основная цель** — избежать плато в тренировках. Если выполнять одни и те же упражнения с одинаковым весом и повторениями, тело быстро адаптируется, и прогресс остановится. Прогрессия заставляет мышцы работать усерднее, что стимулирует их гипертрофию и увеличение силы.
В рамках приложения реализовано **3 вида прогрессивной перегрузки**:
* Двойная прогрессия (Double Progression)
* Линейная прогрессия (Linear Progression)
| Функция | Демонстрация |
| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Создание тренировочной программы** |
|
| **Добавление упражнений в программу** |
|
| **Запись тренировки** |
|
| **Просмотр и редактирование истории тренировок** |
|
| **Просмотр графиков 1ПМ для упражнения** |
|
### Зависимости:
- **Python 3.12.4**
- **Kivy 2.3.1**
- **kivymd 2.0.1.dev0**
- **kivy-garden 0.1.5**
- **kivy-garden-graph 0.4.1.dev0**
---
### Структура проекта
```
workout_tracking_app/
├── app/
├── kv/
│ ├── components.kv --> некоторые UI компоненты
│ ├── graph_screen.kv
│ ├── history_screen.kv
│ ├── program_detail_screen.kv
│ ├── programs_screen.kv
│ ├── progressive_overload_screen.kv
│ ├── workout_screen.kv
│ └── main_screen.kv --> организации навигации по разным экранам приложения
├── logic/
│ ├── components.py --> некоторые UI компоненты
│ ├── storage.py --> чтение/запись JSON, контейнер данных приложения
│ ├── models.py --> типизированные модели и помощники
│ ├── progression.py
│ ├── services.py --> CRUD для программы/упражнения, сохранение/summary тренировок, история, графики
│ ├── session_state.py
│ └── logic.py --> фасад
├── screens/
│ ├── __init__.py
│ ├── graph_screen.py
│ ├── history_screen.py
│ ├── program_detail_screen.py
│ ├── programs_screen.py
│ ├── progressive_overload_screen.py
│ ├── workout_screen.py
│ ├── main_screen.py --> организации навигации по разным экранам приложения
├── __init__.py
├── main.py --> главный файл, запускает приложение
├── .gitignore
├── README.md
└── requirements.txt
```
---
### Установка
Для настройки среды проекта выполните следующее:
1. **Клонируйте репозиторий:**
```bash
git clone https://github.com/mikhailvokhrameev/workout_tracking_app.git
cd workout_tracking_app
```
2. **Создайте и активируйте виртуальное окружение (рекомендуется):**
```bash
# Создание окружения
python3 -m venv venv
# Активация на macOS/Linux:
source venv/bin/activate
# Активация на Windows:
venv\Scripts\activate
```
3. **Установите:**
```bash
pip install -r requirements.txt
```
---
### Использование
**Важно:** Все команды должны запускаться из корневой папки проекта.
1. Находясь в корневой папке проекта, запустите `main.py`:
```bash
python main.py
```