diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..a3ba8d0 --- /dev/null +++ b/TODO.md @@ -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