3.9 KiB
3.9 KiB
📋 TODO Roadmap
Phase 1: Core Foundation ⏳
-
Project Setup
- Initialize Python project structure
- Set up virtual environment and dependencies
- Create base workout and tracker models
- Implement local JSON storage
-
Basic GUI (Tkinter)
- Main window layout
- Manual workout entry form
- Workout list display
- Basic stats (total/remaining distance)
-
Core Workout Tracking
- Workout model (date, activity, distance, duration, notes, power, cadence)
- Tracker logic (totals, weekly summaries, goal progress)
- CRUD operations for workouts
- Data validation and error handling
Phase 2: Equipment Management 🔧
-
Equipment Discovery & Selection
- Scan for all available BLE/ANT+ devices
- Device type detection (trainer vs power meter vs HR monitor)
- Equipment selection UI (dropdown/list with device info)
- Save preferred equipment to user settings
-
Multi-Device Support
- Connect to multiple devices simultaneously (trainer + HR + cadence)
- Handle device priority (e.g., power from trainer vs power meter)
- Device connection status indicators
- Automatic reconnection on disconnect
-
Equipment Profiles
- Create equipment profiles (e.g., "Indoor Setup", "Outdoor Setup")
- Quick-switch between profiles
- Profile-specific calibration settings
- Equipment-specific data recording preferences
Phase 3: Saris H3 Integration 🔄
-
Bluetooth Low Energy Connection
- Device discovery and pairing
- Connect to Saris H3 via
bleak - Handle connection errors and reconnection
-
Live Data Capture
- Read power data (Cycling Power Service)
- Read speed/cadence (Fitness Machine Service)
- Real-time display in GUI
- Data logging during rides
-
Automatic Ride Detection
- Start ride detection (power > threshold)
- Stop ride detection (power = 0 for X seconds)
- Auto-save completed rides to tracker
- Ride summary popup
-
Trainer Control (Future)
- ERG mode (set target watts)
- Resistance/slope control
- Structured workout execution
Phase 4: Data Visualization 📊
-
Charts and Analytics
- Weekly mileage chart (matplotlib)
- Power curve visualization
- Progress toward goal chart
- Training load trends (if data available)
-
Enhanced UI
- Tabbed interface (Overview, Rides, Charts, Settings)
- Dark mode toggle
- Responsive layout improvements
Phase 5: External Integrations 🔗
-
Intervals.icu Integration
- API authentication (personal API key)
- Push workouts to Intervals.icu
- Pull planned workouts
- Sync status indicators
- Error handling for API calls
-
COROS Training Hub Integration
- Research API availability (likely requires reverse engineering)
- Implement authentication
- Push/pull workout data
- Fallback: FIT/TCX file export for manual upload
-
File Import/Export
- Import FIT/TCX/GPX files (outdoor rides)
- Export to CSV
- Backup/restore functionality
Phase 6: Polish & Features ✨
-
User Experience
- Settings panel (goals, API keys, preferences)
- Workout editing/deletion
- Search and filter workouts
- Keyboard shortcuts
-
Advanced Features
- Multi-user profiles
- Workout planning calendar
- Training zones configuration
- Custom goal setting
Phase 7: Future Enhancements 🚀
-
Cloud & Mobile
- Cloud sync (Dropbox/Google Drive)
- Mobile companion app
- Web dashboard
-
Advanced Analytics
- Training Stress Score (TSS) calculation
- Chronic Training Load (CTL/ATL)
- Performance modeling
- Race prediction