(docs): Added todo doc

This commit is contained in:
Cipher Vance 2025-08-24 12:13:05 -05:00
parent b29d7481e7
commit 853dd67471

130
TODO.md Normal file
View file

@ -0,0 +1,130 @@
## **📋 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