2026-03-08 23:04:56 -05:00
|
|
|
# BREEDR Development Roadmap
|
|
|
|
|
|
|
|
|
|
## ✅ Phase 1: Foundation (COMPLETE)
|
|
|
|
|
|
|
|
|
|
### Infrastructure
|
|
|
|
|
- [x] Docker multi-stage build configuration
|
|
|
|
|
- [x] SQLite database with automatic initialization
|
|
|
|
|
- [x] Express.js API server
|
|
|
|
|
- [x] React 18 frontend with Vite
|
|
|
|
|
- [x] Git repository structure
|
|
|
|
|
|
|
|
|
|
### Database Schema
|
|
|
|
|
- [x] Dogs table with core fields
|
|
|
|
|
- [x] Parents relationship table
|
|
|
|
|
- [x] Litters breeding records
|
|
|
|
|
- [x] Health records tracking
|
|
|
|
|
- [x] Heat cycles management
|
|
|
|
|
- [x] Traits genetic mapping
|
|
|
|
|
- [x] Indexes and triggers
|
|
|
|
|
|
|
|
|
|
### API Endpoints
|
|
|
|
|
- [x] `/api/dogs` - Full CRUD operations
|
|
|
|
|
- [x] `/api/pedigree` - Tree generation and COI calculator
|
|
|
|
|
- [x] `/api/litters` - Breeding records
|
|
|
|
|
- [x] `/api/health` - Health tracking
|
|
|
|
|
- [x] `/api/breeding` - Heat cycles and whelping calculator
|
|
|
|
|
- [x] Photo upload with Multer
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## ✅ Phase 2: Core Functionality (COMPLETE)
|
|
|
|
|
|
|
|
|
|
### Dog Management
|
|
|
|
|
- [x] Add new dogs with full form
|
|
|
|
|
- [x] Edit existing dogs
|
|
|
|
|
- [x] View dog details
|
|
|
|
|
- [x] List all dogs with search/filter
|
|
|
|
|
- [x] Upload multiple photos per dog
|
|
|
|
|
- [x] Delete photos
|
|
|
|
|
- [x] Parent selection (sire/dam)
|
|
|
|
|
|
|
|
|
|
### User Interface
|
|
|
|
|
- [x] Dashboard with statistics
|
|
|
|
|
- [x] Dog list with grid view
|
|
|
|
|
- [x] Dog detail pages
|
|
|
|
|
- [x] Modal forms for add/edit
|
|
|
|
|
- [x] Photo management UI
|
|
|
|
|
- [x] Search and sex filtering
|
|
|
|
|
- [x] Responsive navigation
|
|
|
|
|
|
|
|
|
|
### Features Implemented
|
|
|
|
|
- [x] Photo upload and storage
|
|
|
|
|
- [x] Parent-child relationships
|
|
|
|
|
- [x] Basic information tracking
|
|
|
|
|
- [x] Registration numbers
|
|
|
|
|
- [x] Microchip tracking
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-03-09 00:11:31 -05:00
|
|
|
## ✅ Phase 3: Breeding Tools (COMPLETE)
|
2026-03-08 23:04:56 -05:00
|
|
|
|
|
|
|
|
### Priority Features
|
2026-03-09 00:11:31 -05:00
|
|
|
- [x] **Interactive pedigree tree visualization**
|
|
|
|
|
- [x] Integrate React-D3-Tree
|
|
|
|
|
- [x] Show 3-5 generations
|
|
|
|
|
- [x] Click to navigate
|
|
|
|
|
- [x] Zoom and pan controls
|
|
|
|
|
- [x] Beautiful color-coded nodes
|
|
|
|
|
- [x] Male/Female distinction
|
2026-03-08 23:04:56 -05:00
|
|
|
|
|
|
|
|
- [ ] Trial Pairing Simulator
|
|
|
|
|
- [ ] Select sire and dam
|
|
|
|
|
- [ ] Display COI calculation
|
|
|
|
|
- [ ] Show common ancestors
|
|
|
|
|
- [ ] Risk assessment display
|
|
|
|
|
|
|
|
|
|
- [ ] Heat Cycle Management
|
|
|
|
|
- [ ] Add/edit heat cycles
|
|
|
|
|
- [ ] Track progesterone levels
|
|
|
|
|
- [ ] Calendar view
|
|
|
|
|
- [ ] Breeding date suggestions
|
|
|
|
|
|
2026-03-09 00:11:31 -05:00
|
|
|
- [x] **Litter Management** ✅ **NEW**
|
|
|
|
|
- [x] Create litter records
|
|
|
|
|
- [x] Link puppies to litter
|
|
|
|
|
- [x] Track whelping details
|
|
|
|
|
- [x] Auto-link parent relationships
|
|
|
|
|
- [x] Database migration for litter_id
|
|
|
|
|
- [x] Enhanced API endpoints
|
|
|
|
|
- [x] Dual parent selection mode (litter/manual)
|
2026-03-09 00:35:17 -05:00
|
|
|
- [x] UI fix for proper layout and error handling
|
2026-03-08 23:04:56 -05:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 📋 Phase 4: Health & Genetics (PLANNED)
|
|
|
|
|
|
|
|
|
|
### Health Records
|
|
|
|
|
- [ ] Add health test results
|
|
|
|
|
- [ ] Vaccination tracking
|
|
|
|
|
- [ ] Medical history timeline
|
|
|
|
|
- [ ] Document uploads (PDFs, images)
|
|
|
|
|
- [ ] Alert for expiring vaccinations
|
|
|
|
|
|
|
|
|
|
### Genetic Tracking
|
|
|
|
|
- [ ] Track inherited traits
|
|
|
|
|
- [ ] Color genetics calculator
|
|
|
|
|
- [ ] Health clearance status
|
|
|
|
|
- [ ] Link traits to ancestors
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 📋 Phase 5: Advanced Features (PLANNED)
|
|
|
|
|
|
|
|
|
|
### Pedigree Tools
|
|
|
|
|
- [ ] Reverse pedigree (descendants view)
|
|
|
|
|
- [ ] PDF pedigree generation
|
|
|
|
|
- [ ] Export to standard formats
|
|
|
|
|
- [ ] Print-friendly layouts
|
|
|
|
|
- [ ] Multi-generation COI analysis
|
|
|
|
|
|
|
|
|
|
### Breeding Planning
|
|
|
|
|
- [ ] Breeding calendar
|
|
|
|
|
- [ ] Heat cycle predictions
|
|
|
|
|
- [ ] Expected whelping alerts
|
|
|
|
|
- [ ] Breeding history reports
|
|
|
|
|
|
|
|
|
|
### Search & Analytics
|
|
|
|
|
- [ ] Advanced search filters
|
|
|
|
|
- [ ] By breed, color, age
|
|
|
|
|
- [ ] By health clearances
|
|
|
|
|
- [ ] By registration status
|
|
|
|
|
- [ ] Statistics dashboard
|
|
|
|
|
- [ ] Breeding success rates
|
|
|
|
|
- [ ] Average litter sizes
|
|
|
|
|
- [ ] Popular pairings
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 📋 Phase 6: Polish & Optimization (PLANNED)
|
|
|
|
|
|
|
|
|
|
### User Experience
|
|
|
|
|
- [ ] Loading states for all operations
|
|
|
|
|
- [ ] Better error messages
|
|
|
|
|
- [ ] Confirmation dialogs
|
|
|
|
|
- [ ] Undo functionality
|
|
|
|
|
- [ ] Keyboard shortcuts
|
|
|
|
|
|
|
|
|
|
### Performance
|
|
|
|
|
- [ ] Image optimization
|
|
|
|
|
- [ ] Lazy loading
|
|
|
|
|
- [ ] API caching
|
|
|
|
|
- [ ] Database query optimization
|
|
|
|
|
|
|
|
|
|
### Mobile
|
|
|
|
|
- [ ] Touch-friendly interface
|
|
|
|
|
- [ ] Mobile photo capture
|
|
|
|
|
- [ ] Responsive tables
|
|
|
|
|
- [ ] Offline mode
|
|
|
|
|
|
|
|
|
|
### Documentation
|
|
|
|
|
- [ ] User manual
|
|
|
|
|
- [ ] API documentation
|
|
|
|
|
- [ ] Video tutorials
|
|
|
|
|
- [ ] FAQ section
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Future Enhancements (BACKLOG)
|
|
|
|
|
|
|
|
|
|
### Multi-User Support
|
|
|
|
|
- [ ] User authentication
|
|
|
|
|
- [ ] Role-based permissions
|
|
|
|
|
- [ ] Activity logs
|
|
|
|
|
- [ ] Shared access
|
|
|
|
|
|
|
|
|
|
### Integration
|
|
|
|
|
- [ ] Import from other systems
|
|
|
|
|
- [ ] Export to Excel/CSV
|
|
|
|
|
- [ ] Integration with kennel clubs
|
|
|
|
|
- [ ] Backup to cloud storage
|
|
|
|
|
|
|
|
|
|
### Advanced Genetics
|
|
|
|
|
- [ ] DNA test result tracking
|
|
|
|
|
- [ ] Genetic diversity analysis
|
|
|
|
|
- [ ] Breed-specific calculators
|
|
|
|
|
- [ ] Health risk predictions
|
|
|
|
|
|
|
|
|
|
### Kennel Management
|
|
|
|
|
- [ ] Breeding contracts
|
|
|
|
|
- [ ] Buyer tracking
|
|
|
|
|
- [ ] Financial records
|
|
|
|
|
- [ ] Stud service management
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-03-09 00:35:17 -05:00
|
|
|
## 🎉 Latest Release: v0.3.1 - UI Fixes & Error Handling
|
2026-03-09 00:11:31 -05:00
|
|
|
|
|
|
|
|
### What's New in This Release
|
|
|
|
|
|
2026-03-09 00:35:17 -05:00
|
|
|
#### Bug Fixes
|
|
|
|
|
- ✅ Fixed blank screen issue when opening Add Dog modal
|
|
|
|
|
- ✅ Fixed overlapping radio buttons and dropdown in Parent Information section
|
|
|
|
|
- ✅ Added graceful error handling for API failures
|
|
|
|
|
- ✅ Improved layout with proper spacing and visual hierarchy
|
|
|
|
|
- ✅ Fixed typo: `useManualParents` variable name
|
|
|
|
|
|
|
|
|
|
#### UI Improvements
|
|
|
|
|
- ✅ Enhanced parent selection section with subtle indigo background
|
|
|
|
|
- ✅ Properly sized radio buttons (16px) for better clickability
|
|
|
|
|
- ✅ Horizontal radio button layout with proper flex spacing
|
|
|
|
|
- ✅ Checkmark feedback when litter is selected
|
|
|
|
|
- ✅ Conditional rendering based on litters availability
|
|
|
|
|
- ✅ Fallback to manual parent selection when litters API fails
|
|
|
|
|
|
|
|
|
|
#### Technical Changes
|
|
|
|
|
- ✅ Added `littersAvailable` state flag
|
|
|
|
|
- ✅ Wrapped API calls in try-catch blocks with fallbacks
|
|
|
|
|
- ✅ Set empty arrays as defaults to prevent undefined errors
|
|
|
|
|
- ✅ Added `name` attribute to radio buttons for proper grouping
|
|
|
|
|
|
|
|
|
|
### Migration Instructions (if not already done)
|
|
|
|
|
|
|
|
|
|
1. Run database migration:
|
2026-03-09 00:11:31 -05:00
|
|
|
```bash
|
2026-03-09 00:35:17 -05:00
|
|
|
docker exec breedr node server/db/migrate_litter_id.js
|
2026-03-09 00:11:31 -05:00
|
|
|
```
|
2026-03-09 00:35:17 -05:00
|
|
|
OR if running locally:
|
2026-03-09 00:11:31 -05:00
|
|
|
```bash
|
|
|
|
|
node server/db/migrate_litter_id.js
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-09 00:35:17 -05:00
|
|
|
2. Pull latest changes:
|
2026-03-09 00:11:31 -05:00
|
|
|
```bash
|
2026-03-09 00:35:17 -05:00
|
|
|
git pull origin fix/dog-form-litter-ui
|
2026-03-09 00:11:31 -05:00
|
|
|
```
|
|
|
|
|
|
2026-03-09 00:35:17 -05:00
|
|
|
3. Restart the application:
|
|
|
|
|
```bash
|
|
|
|
|
docker-compose restart
|
|
|
|
|
```
|
|
|
|
|
OR
|
2026-03-09 00:11:31 -05:00
|
|
|
```bash
|
|
|
|
|
npm run dev
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-03-08 23:04:56 -05:00
|
|
|
## Current Sprint Focus
|
|
|
|
|
|
|
|
|
|
### Next Up (Priority)
|
2026-03-09 00:35:17 -05:00
|
|
|
|
|
|
|
|
#### Option 1: Trial Pairing Simulator (Recommended) 🏆
|
|
|
|
|
**Complexity:** Medium | **Impact:** High | **User Value:** Excellent
|
|
|
|
|
|
|
|
|
|
**Why this is recommended:**
|
|
|
|
|
- Leverages existing COI calculator backend
|
|
|
|
|
- Provides immediate breeding decision support
|
|
|
|
|
- High value feature for breeders
|
|
|
|
|
- Relatively quick to implement
|
|
|
|
|
|
|
|
|
|
**Tasks:**
|
|
|
|
|
- Create PairingSimulator component
|
|
|
|
|
- Add sire/dam selection dropdowns
|
|
|
|
|
- Display COI calculation results
|
|
|
|
|
- Show common ancestors table
|
|
|
|
|
- Add genetic risk assessment
|
|
|
|
|
- Color-coded recommendations (green/yellow/red)
|
|
|
|
|
|
|
|
|
|
**Estimated Time:** 4-6 hours
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### Option 2: Heat Cycle Management
|
|
|
|
|
**Complexity:** Medium-High | **Impact:** Medium | **User Value:** Good
|
|
|
|
|
|
|
|
|
|
**Why consider this:**
|
|
|
|
|
- Natural extension of litter management
|
|
|
|
|
- Helps with breeding planning
|
|
|
|
|
- Provides calendar functionality
|
|
|
|
|
|
|
|
|
|
**Tasks:**
|
|
|
|
|
- Create HeatCycleForm component
|
|
|
|
|
- Add calendar view with heat cycle tracking
|
|
|
|
|
- Track progesterone levels
|
|
|
|
|
- Implement breeding date suggestions
|
|
|
|
|
- Whelping date calculator
|
|
|
|
|
|
|
|
|
|
**Estimated Time:** 6-8 hours
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### Option 3: Enhanced Litter Features
|
|
|
|
|
**Complexity:** Low-Medium | **Impact:** Medium | **User Value:** Good
|
|
|
|
|
|
|
|
|
|
**Why consider this:**
|
|
|
|
|
- Polish existing litter functionality
|
|
|
|
|
- Improves user workflow
|
|
|
|
|
- Quick wins
|
|
|
|
|
|
|
|
|
|
**Tasks:**
|
|
|
|
|
- Puppy batch addition (add multiple puppies at once)
|
|
|
|
|
- Photo gallery per litter
|
|
|
|
|
- Whelping countdown timer
|
|
|
|
|
- Expected vs actual puppy count tracking
|
|
|
|
|
- Litter statistics dashboard
|
|
|
|
|
|
|
|
|
|
**Estimated Time:** 3-5 hours
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### Option 4: Health Records System
|
|
|
|
|
**Complexity:** Medium | **Impact:** High | **User Value:** Excellent
|
|
|
|
|
|
|
|
|
|
**Why consider this:**
|
|
|
|
|
- Important for breeding decisions
|
|
|
|
|
- Vaccination tracking is valuable
|
|
|
|
|
- Document management adds utility
|
|
|
|
|
|
|
|
|
|
**Tasks:**
|
|
|
|
|
- Create HealthRecordForm component
|
|
|
|
|
- Add vaccination tracking with expiry alerts
|
|
|
|
|
- Medical history timeline view
|
|
|
|
|
- PDF/image document uploads
|
|
|
|
|
- Health clearance status badges
|
|
|
|
|
|
|
|
|
|
**Estimated Time:** 6-8 hours
|
|
|
|
|
|
|
|
|
|
---
|
2026-03-08 23:04:56 -05:00
|
|
|
|
|
|
|
|
### Testing Needed
|
2026-03-09 00:11:31 -05:00
|
|
|
- [x] Add/edit dog forms with litter selection
|
|
|
|
|
- [x] Database migration execution
|
|
|
|
|
- [x] Pedigree tree rendering
|
|
|
|
|
- [x] Zoom/pan controls
|
2026-03-09 00:35:17 -05:00
|
|
|
- [x] UI layout fixes
|
|
|
|
|
- [x] Error handling for API failures
|
2026-03-09 00:11:31 -05:00
|
|
|
- [ ] Trial pairing simulator
|
|
|
|
|
- [ ] Heat cycle tracking
|
2026-03-09 00:35:17 -05:00
|
|
|
- [ ] Enhanced litter features
|
|
|
|
|
- [ ] Health records
|
2026-03-08 23:04:56 -05:00
|
|
|
|
|
|
|
|
### Known Issues
|
2026-03-09 00:35:17 -05:00
|
|
|
- ✅ Fixed: Blank screen when opening Add Dog modal
|
|
|
|
|
- ✅ Fixed: Overlapping UI elements in parent selection
|
|
|
|
|
- ✅ Fixed: Missing error handling for litters API
|
2026-03-08 23:04:56 -05:00
|
|
|
- None currently
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## How to Contribute
|
|
|
|
|
|
|
|
|
|
1. Pick a feature from "Priority Features"
|
|
|
|
|
2. Create a feature branch: `feature/feature-name`
|
|
|
|
|
3. Implement with tests
|
|
|
|
|
4. Update this roadmap
|
|
|
|
|
5. Submit for review
|
|
|
|
|
|
|
|
|
|
## Version History
|
|
|
|
|
|
2026-03-09 00:35:17 -05:00
|
|
|
- **v0.3.1** (Current - March 9, 2026) - UI Fixes & Error Handling
|
|
|
|
|
- Fixed blank screen issue on Add Dog modal
|
|
|
|
|
- Improved parent selection layout
|
|
|
|
|
- Added comprehensive error handling
|
|
|
|
|
- Enhanced visual design with proper spacing
|
|
|
|
|
|
|
|
|
|
- **v0.3.0** - Litter Management & Interactive Pedigree
|
2026-03-09 00:11:31 -05:00
|
|
|
- Added litter_id to dogs table
|
|
|
|
|
- Implemented LitterForm component
|
|
|
|
|
- Created PedigreeView with React-D3-Tree
|
|
|
|
|
- Enhanced DogForm with dual parent selection
|
|
|
|
|
- Fixed "no such column: sire" error
|
|
|
|
|
- Added comprehensive documentation
|
|
|
|
|
|
|
|
|
|
- **v0.2.0** - Dog CRUD operations complete
|
|
|
|
|
- **v0.1.0** - Initial foundation with API and database
|