12 KiB
BREEDR Development Roadmap
✅ Phase 1: Foundation (COMPLETE)
Infrastructure
- Docker multi-stage build configuration
- SQLite database with automatic initialization
- Express.js API server
- React 18 frontend with Vite
- Git repository structure
Database Schema
- Dogs table with core fields (NO sire/dam columns)
- Parents relationship table for sire/dam tracking
- Litters breeding records
- Health records tracking
- Heat cycles management
- Traits genetic mapping
- Indexes and triggers
- litter_id column for linking puppies to litters
- Clean schema design - NO migrations, fresh init only
API Endpoints
/api/dogs- Full CRUD operations/api/pedigree- Tree generation and COI calculator/api/litters- Breeding records/api/health- Health tracking/api/breeding- Heat cycles and whelping calculator- Photo upload with Multer
- Parent relationship handling via parents table
/static/*- Branding and static asset serving
✅ Phase 2: Core Functionality (COMPLETE)
Dog Management
- Add new dogs with full form
- Edit existing dogs
- View dog details
- List all dogs with search/filter
- Upload multiple photos per dog
- Delete photos
- Parent selection (sire/dam) via parents table
- Proper error handling for API failures
User Interface
- Dashboard with statistics
- Dog list with grid view
- Dog detail pages
- Modal forms for add/edit
- Photo management UI
- Search and sex filtering
- Responsive navigation
- Compact info cards (80x80 avatars)
- Modern dark theme with glass morphism
- Custom brand logo (br-logo.png) in navbar
- Gold-to-rusty-red gradient on BREEDR brand title
- Static asset serving via Express
/staticroute - Vite dev proxy for
/staticroutes - Route fix - static/uploads don't fall through to React router
- Logo aspect ratio fixed to 1:1 square
Features Implemented
- Photo upload and storage
- Parent-child relationships (via parents table)
- Basic information tracking
- Registration numbers
- Microchip tracking (optional)
- Litter linking with litter_id
- Clean database schema with no migrations
✅ Phase 3: Breeding Tools (COMPLETE)
Pedigree & Genetics
-
Interactive pedigree tree visualization
- Integrate React-D3-Tree
- Show 3-5 generations
- Click to navigate
- Zoom and pan controls
- Beautiful color-coded nodes
- Male/Female distinction
-
Litter Management ✅
- Create litter records
- Link puppies to litter
- Track whelping details
- Auto-link parent relationships
- Database migration for litter_id
- Enhanced API endpoints
- Dual parent selection mode (litter/manual)
- UI fix for proper layout and error handling
-
Trial Pairing Simulator ✅ (March 9, 2026)
- Sire and dam selection dropdowns
- COI calculation display with color coding
- Common ancestors table (sire-gen / dam-gen columns)
- Risk badge: Low (<5%) / Moderate (5-10%) / High (>10%)
/pairingroute + navbar linkPOST /api/pedigree/trial-pairingbackend
-
Heat Cycle Calendar ✅ (March 9, 2026)
- Full month grid calendar (Sun–Sat) with prev/next navigation
- Color-coded day cells by cycle phase
- Start Heat Cycle modal (female dropdown + date picker)
- Cycle Detail modal with phase breakdown
- Breeding date logging inline
- Whelping estimate (earliest/expected/latest)
- Active cycles list with phase badge + day counter
GET /api/breeding/heat-cyclesendpointGET /api/breeding/heat-cycles/:id/suggestionsendpoint
-
Projected Whelping Calendar Identifier ✅ (March 9, 2026 — v0.5.1)
- Gestation constants: earliest=58, expected=63, latest=65 days
getWhelpDates(cycle)client-side helper (no extra API call)- Indigo whelp window cells (days 58–65) on calendar grid
- Indigo dot marker on expected whelp day (day 63)
Babyicon + "[Name] due" label inside whelp day cells- "Whelp est. [date]" row with range on active cycle cards
- Jump-to-whelp-month button on active cycle cards
- Live whelp preview in Cycle Detail modal (client-side, instant)
- Full-width whelping banner when projected whelps exist
- "Projected Whelp" legend entry with Baby icon
- Updated page subtitle to include whelping dates
📋 Phase 4: Health & Genetics (NEXT UP)
Health Records (Priority 1)
- Health records list view per dog
- Add/edit health test results
- Vaccination tracking with expiry alerts
- Medical history timeline view
- Document uploads (PDFs, images)
- Health clearance status badges on dog cards
Genetic Tracking (Priority 2)
- 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
- Heat cycle predictions (based on cycle history)
- Expected whelping alerts / push notifications
- Breeding history reports
- iCal export for cycle events
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
- DATABASE.md - Complete schema documentation
- User-facing documentation
- API documentation
- Video tutorials
- FAQ section
Future / Extended Features (BACKLOG)
Progesterone Tracking (Moved from Phase 3)
- Log progesterone level readings per heat cycle
- Chart progesterone curve over cycle days
- LH surge detection
- Optimal breeding day prediction from levels
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
🌕 Current Sprint: v0.6.0
✅ Completed This Sprint (v0.5.1)
- Projected Whelping Calendar Identifier — indigo whelp window cells, due label, active card range, jump-to-month button
- Live whelp preview in Cycle Detail modal (client-side, no save required)
- Full-width whelping banner for months with projected whelps
- "Projected Whelp" legend entry + updated page subtitle
✅ Previously Completed (v0.5.0)
- Trial Pairing Simulator —
/pairingroute, COI%, risk badge, common ancestors - Heat Cycle Calendar — month grid, phase color coding, start-cycle modal
- Cycle Detail modal — breeding windows, inline breeding date, whelping estimate
- New backend endpoints:
GET /heat-cycles,GET /heat-cycles/:id/suggestions - Removed
progesterone_peak_datefrom POST/PUT (moved to extended backlog)
🔧 Next Up (Priority Order)
Option 1: Health Records System (Recommended) 💡
Complexity: Medium | Impact: High | User Value: Excellent
Why this is recommended:
- Natural complement to existing dog profiles
- Vaccination expiry alerts are high day-to-day utility
- Clearance badges on dog cards improve trust at a glance
- Builds toward breeding decision support
Tasks:
- Create
HealthRecordFormcomponent - Health records list/timeline per dog on DogDetail page
- Vaccination tracking with expiry date + alert badge
- Health clearance status badges (OFA, CERF, etc.)
- Optional document/PDF upload
Estimated Time: 6-8 hours
Option 2: Genetic Trait Tracking
Complexity: Medium | Impact: Medium | User Value: Good
Why consider this:
- Visual color/coat genetics are important for breeders
- Links naturally to pedigree view
- Useful for marketing/listing dogs
Tasks:
- Trait entry form (coat color, pattern, carried traits)
- Display traits on dog detail page
- Predicted trait calculator for trial pairings
Estimated Time: 5-7 hours
Testing Needed
- Add/edit dog forms with litter selection
- Database schema initialization
- Pedigree tree rendering
- Zoom/pan controls
- UI layout fixes
- Error handling for API failures
- Parent relationship creation via parents table
- Brand logo display and sizing
- Gradient title rendering
- Static asset serving in prod and dev
- Trial pairing simulator (end-to-end)
- Heat cycle calendar (start cycle, detail modal, whelping)
- Projected whelping calendar identifier (whelp cells, due label, banner)
- Health records
Known Issues
- None currently
How to Contribute
- Pick a feature from "Next Up" above
- Create a feature branch:
feat/feature-name - Implement with tests
- Update this roadmap and README.md
- Submit PR for review
Version History
-
v0.5.1 (March 9, 2026) - Projected Whelping Calendar Identifier
- Indigo whelp window cells (days 58–65) on month grid
- Indigo dot marker on exact expected whelp day (day 63)
Babyicon + "[Name] due" label in whelp day cells- "Whelp est." range row on active cycle cards
- Jump-to-whelp-month button on cycle cards
- Live whelp preview in Cycle Detail modal (client-side, instant)
- Full-width whelping banner when projected whelps exist
- "Projected Whelp" legend entry + updated page subtitle
-
v0.5.0 (March 9, 2026) - Breeding Tools Complete
- Trial Pairing Simulator: COI calculator, risk badge, common ancestors
- Heat Cycle Calendar: month grid, phase windows, start-cycle modal
- Cycle Detail: breeding windows, inline breeding date, whelping estimate
- New API:
GET /heat-cycles,GET /heat-cycles/:id/suggestions - Progesterone tracking moved to extended backlog
-
v0.4.1 (March 9, 2026) - Branding & Header Improvements
- Custom br-logo.png in navbar
- Gold-to-rusty-red gradient title
- Static asset serving via Express
- Vite dev proxy for /static
- Route fix for static/uploads paths
- Logo 1:1 aspect ratio fix
-
v0.4.0 (March 9, 2026) - Clean Database Schema
- Complete database overhaul with clean normalized design
- Removed migrations, fresh init only
- Parents table for relationships
- Comprehensive documentation
-
v0.3.1 - 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
- 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