92 lines
3.2 KiB
Markdown
92 lines
3.2 KiB
Markdown
# Phase 06 — Intelligent Workout Adaptation & Recovery Tracking
|
|
|
|
## 🎯 Goals
|
|
Skapa intelligenta träningsprogram som anpassas baserat på muskelgruppernas återhämtning, inte bara vilket pass som kördes senast.
|
|
|
|
## 📋 Features
|
|
|
|
### 06-01: Workout Swap/Rotation System
|
|
- [ ] Add "Swap Workout" button to WorkoutPage
|
|
- [ ] Show available workouts for current week
|
|
- [ ] Replace current workout while keeping tracking
|
|
- [ ] Update UI to show swap history
|
|
- [ ] Database: Update workout_logs to track swaps
|
|
|
|
### 06-02: Muscle Group Recovery Tracking
|
|
- [ ] Model: Define muscle groups per exercise
|
|
- [ ] Calculate recovery time from last workout targeting each group
|
|
- [ ] Store: muscle_group_recovery table (timestamp, intensity)
|
|
- [ ] Display: Recovery status in ExerciseCard (red/yellow/green)
|
|
- [ ] Algorithm: Track last 7-14 days of activity per muscle group
|
|
|
|
### 06-03: Smart Workout Recommendation Engine
|
|
- [ ] Analyze: Which muscle groups were trained this week
|
|
- [ ] Identify: Most-recovered groups available to train today
|
|
- [ ] Suggest: 2-3 workouts that target recovered muscle groups
|
|
- [ ] Avoid: Overtraining same groups (48-72h rest recommendation)
|
|
- [ ] Backend: POST /api/recommendations/smart-workout
|
|
|
|
### 06-04: Recovery Metrics & Analytics
|
|
- [ ] Dashboard card: Recovery status per muscle group
|
|
- [ ] Chart: 7-day muscle group activity heatmap
|
|
- [ ] Insight: "Chest needs work", "Legs well-recovered"
|
|
- [ ] Prediction: Next recommended workout based on recovery
|
|
|
|
### 06-05: UI/UX Polish
|
|
- [ ] Integrate swap system with recommendation engine
|
|
- [ ] Show recovery timeline for each group
|
|
- [ ] Mobile-friendly recovery badges
|
|
- [ ] One-tap "Use Recommendation" button
|
|
- [ ] Visual feedback for muscle group selection
|
|
|
|
### 06-06: Testing & Validation
|
|
- [ ] E2E tests: Swap workflow
|
|
- [ ] E2E tests: Recovery calculation accuracy
|
|
- [ ] Performance: Recovery algorithm benchmarks
|
|
- [ ] User feedback: Recommendation quality validation
|
|
|
|
## 🏗️ Database Changes
|
|
```sql
|
|
-- Muscle Group Recovery Tracking
|
|
CREATE TABLE muscle_group_recovery (
|
|
id SERIAL PRIMARY KEY,
|
|
user_id INTEGER REFERENCES users(id),
|
|
muscle_group VARCHAR(50),
|
|
last_workout_date TIMESTAMP,
|
|
intensity FLOAT, -- 0-1
|
|
exercises_count INT,
|
|
created_at TIMESTAMP DEFAULT NOW()
|
|
);
|
|
|
|
-- Workout Swaps
|
|
ALTER TABLE workout_logs ADD COLUMN swapped_from_id INT REFERENCES workout_logs(id);
|
|
```
|
|
|
|
## 🔑 Key Algorithms
|
|
|
|
### Recovery Calculation
|
|
```
|
|
recovery_score = 1.0 if last_workout > 72h ago
|
|
recovery_score = 0.5 if 48h < last_workout < 72h
|
|
recovery_score = 0.2 if 24h < last_workout < 48h
|
|
recovery_score = 0.0 if last_workout < 24h
|
|
```
|
|
|
|
### Smart Recommendation
|
|
1. Get all exercises available
|
|
2. Group by muscle group
|
|
3. Calculate recovery for each group
|
|
4. Sort by recovery score (highest = best to train)
|
|
5. Filter: exclude groups with score < 0.3
|
|
6. Return: Top 3 workouts with best muscle group coverage
|
|
|
|
## 📦 Implementation Order
|
|
1. **06-01** — Basic swap functionality (UI + backend)
|
|
2. **06-02** — Recovery tracking (database + calculations)
|
|
3. **06-03** — Recommendation engine (backend algorithm)
|
|
4. **06-04** — Analytics & visualization (frontend)
|
|
5. **06-05** — Polish & integration
|
|
6. **06-06** — Testing
|
|
|
|
---
|