Docs: Update ROADMAP with clean schema completion
This commit is contained in:
183
ROADMAP.md
183
ROADMAP.md
@@ -10,13 +10,15 @@
|
||||
- [x] Git repository structure
|
||||
|
||||
### Database Schema
|
||||
- [x] Dogs table with core fields
|
||||
- [x] Parents relationship table
|
||||
- [x] Dogs table with core fields (NO sire/dam columns)
|
||||
- [x] Parents relationship table for sire/dam tracking
|
||||
- [x] Litters breeding records
|
||||
- [x] Health records tracking
|
||||
- [x] Heat cycles management
|
||||
- [x] Traits genetic mapping
|
||||
- [x] Indexes and triggers
|
||||
- [x] **litter_id column** for linking puppies to litters
|
||||
- [x] **Clean schema design** - NO migrations, fresh init only
|
||||
|
||||
### API Endpoints
|
||||
- [x] `/api/dogs` - Full CRUD operations
|
||||
@@ -25,6 +27,7 @@
|
||||
- [x] `/api/health` - Health tracking
|
||||
- [x] `/api/breeding` - Heat cycles and whelping calculator
|
||||
- [x] Photo upload with Multer
|
||||
- [x] **Parent relationship handling** via parents table
|
||||
|
||||
---
|
||||
|
||||
@@ -37,7 +40,8 @@
|
||||
- [x] List all dogs with search/filter
|
||||
- [x] Upload multiple photos per dog
|
||||
- [x] Delete photos
|
||||
- [x] Parent selection (sire/dam)
|
||||
- [x] Parent selection (sire/dam) via parents table
|
||||
- [x] **Proper error handling** for API failures
|
||||
|
||||
### User Interface
|
||||
- [x] Dashboard with statistics
|
||||
@@ -47,13 +51,17 @@
|
||||
- [x] Photo management UI
|
||||
- [x] Search and sex filtering
|
||||
- [x] Responsive navigation
|
||||
- [x] **Compact info cards** (80x80 avatars)
|
||||
- [x] **Modern dark theme** with glass morphism
|
||||
|
||||
### Features Implemented
|
||||
- [x] Photo upload and storage
|
||||
- [x] Parent-child relationships
|
||||
- [x] Parent-child relationships (via parents table)
|
||||
- [x] Basic information tracking
|
||||
- [x] Registration numbers
|
||||
- [x] Microchip tracking
|
||||
- [x] Microchip tracking (optional)
|
||||
- [x] **Litter linking** with litter_id
|
||||
- [x] **Clean database schema** with no migrations
|
||||
|
||||
---
|
||||
|
||||
@@ -68,6 +76,16 @@
|
||||
- [x] Beautiful color-coded nodes
|
||||
- [x] Male/Female distinction
|
||||
|
||||
- [x] **Litter Management** ✅
|
||||
- [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)
|
||||
- [x] UI fix for proper layout and error handling
|
||||
|
||||
- [ ] Trial Pairing Simulator
|
||||
- [ ] Select sire and dam
|
||||
- [ ] Display COI calculation
|
||||
@@ -80,19 +98,9 @@
|
||||
- [ ] Calendar view
|
||||
- [ ] Breeding date suggestions
|
||||
|
||||
- [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)
|
||||
- [x] UI fix for proper layout and error handling
|
||||
|
||||
---
|
||||
|
||||
## 📋 Phase 4: Health & Genetics (PLANNED)
|
||||
## 📊 Phase 4: Health & Genetics (PLANNED)
|
||||
|
||||
### Health Records
|
||||
- [ ] Add health test results
|
||||
@@ -109,7 +117,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 📋 Phase 5: Advanced Features (PLANNED)
|
||||
## 📊 Phase 5: Advanced Features (PLANNED)
|
||||
|
||||
### Pedigree Tools
|
||||
- [ ] Reverse pedigree (descendants view)
|
||||
@@ -136,7 +144,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 📋 Phase 6: Polish & Optimization (PLANNED)
|
||||
## 📊 Phase 6: Polish & Optimization (PLANNED)
|
||||
|
||||
### User Experience
|
||||
- [ ] Loading states for all operations
|
||||
@@ -158,7 +166,8 @@
|
||||
- [ ] Offline mode
|
||||
|
||||
### Documentation
|
||||
- [ ] User manual
|
||||
- [x] DATABASE.md - Complete schema documentation
|
||||
- [x] User-facing documentation
|
||||
- [ ] API documentation
|
||||
- [ ] Video tutorials
|
||||
- [ ] FAQ section
|
||||
@@ -193,55 +202,79 @@
|
||||
|
||||
---
|
||||
|
||||
## 🎉 Latest Release: v0.3.1 - UI Fixes & Error Handling
|
||||
## 🆕 Latest Release: v0.4.0 - Clean Database Schema
|
||||
|
||||
### What's New in This Release
|
||||
|
||||
#### 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
|
||||
#### Database Overhaul ✅
|
||||
- ✅ **Clean schema design** - NO migrations, fresh init creates correct structure
|
||||
- ✅ **Removed columns:** weight, height (never implemented)
|
||||
- ✅ **Added litter_id** column to dogs table with foreign key
|
||||
- ✅ **Parents table approach** - NO sire/dam columns in dogs table
|
||||
- ✅ **Proper relationships** - Sire/dam stored in separate parents table
|
||||
- ✅ **Database documentation** - Comprehensive DATABASE.md file
|
||||
|
||||
#### 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
|
||||
#### API Improvements
|
||||
- ✅ **Fixed parent handling** - Properly inserts into parents table
|
||||
- ✅ **Added logging** - See exactly what's happening during dog creation
|
||||
- ✅ **Error handling** - Graceful fallbacks for missing data
|
||||
- ✅ **Query optimization** - Select only existing columns
|
||||
|
||||
#### 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
|
||||
#### Server Improvements
|
||||
- ✅ **Removed migrations** - Clean init.js is source of truth
|
||||
- ✅ **Simplified startup** - Just calls initDatabase()
|
||||
- ✅ **Better logging** - Clear console output with checkmarks
|
||||
- ✅ **No schema detection** - Always uses correct structure
|
||||
|
||||
### Migration Instructions (if not already done)
|
||||
#### Documentation
|
||||
- ✅ **DATABASE.md** - Complete schema reference
|
||||
- ✅ **Updated README** - Current features and setup
|
||||
- ✅ **Updated ROADMAP** - Accurate progress tracking
|
||||
- ✅ **Troubleshooting guide** - Common issues and solutions
|
||||
|
||||
### Migration Instructions
|
||||
|
||||
For **fresh installs**, the database will initialize correctly automatically.
|
||||
|
||||
For **existing installations**, you need to start fresh:
|
||||
|
||||
1. Run database migration:
|
||||
```bash
|
||||
docker exec breedr node server/db/migrate_litter_id.js
|
||||
```
|
||||
OR if running locally:
|
||||
```bash
|
||||
node server/db/migrate_litter_id.js
|
||||
```
|
||||
# Backup your data
|
||||
cp data/breedr.db data/breedr.db.backup
|
||||
|
||||
2. Pull latest changes:
|
||||
```bash
|
||||
git pull origin fix/dog-form-litter-ui
|
||||
```
|
||||
# Delete old database
|
||||
rm data/breedr.db
|
||||
|
||||
3. Restart the application:
|
||||
```bash
|
||||
# Pull latest code
|
||||
git pull origin docs/clean-schema-and-roadmap-update
|
||||
|
||||
# Restart application (creates clean database)
|
||||
docker-compose restart
|
||||
```
|
||||
OR
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
**Note:** Parent relationship data cannot be automatically migrated due to schema change from columns to table. You'll need to re-enter parent relationships.
|
||||
|
||||
---
|
||||
|
||||
## Previous Releases
|
||||
|
||||
### 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
|
||||
|
||||
---
|
||||
|
||||
@@ -249,7 +282,7 @@
|
||||
|
||||
### Next Up (Priority)
|
||||
|
||||
#### Option 1: Trial Pairing Simulator (Recommended) 🏆
|
||||
#### Option 1: Trial Pairing Simulator (Recommended) 🎯
|
||||
**Complexity:** Medium | **Impact:** High | **User Value:** Excellent
|
||||
|
||||
**Why this is recommended:**
|
||||
@@ -289,26 +322,7 @@
|
||||
|
||||
---
|
||||
|
||||
#### 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
|
||||
#### Option 3: Health Records System
|
||||
**Complexity:** Medium | **Impact:** High | **User Value:** Excellent
|
||||
|
||||
**Why consider this:**
|
||||
@@ -329,20 +343,17 @@
|
||||
|
||||
### Testing Needed
|
||||
- [x] Add/edit dog forms with litter selection
|
||||
- [x] Database migration execution
|
||||
- [x] Database schema initialization
|
||||
- [x] Pedigree tree rendering
|
||||
- [x] Zoom/pan controls
|
||||
- [x] UI layout fixes
|
||||
- [x] Error handling for API failures
|
||||
- [x] Parent relationship creation via parents table
|
||||
- [ ] Trial pairing simulator
|
||||
- [ ] Heat cycle tracking
|
||||
- [ ] Enhanced litter features
|
||||
- [ ] Health records
|
||||
|
||||
### Known Issues
|
||||
- ✅ Fixed: Blank screen when opening Add Dog modal
|
||||
- ✅ Fixed: Overlapping UI elements in parent selection
|
||||
- ✅ Fixed: Missing error handling for litters API
|
||||
- None currently
|
||||
|
||||
---
|
||||
@@ -357,7 +368,13 @@
|
||||
|
||||
## Version History
|
||||
|
||||
- **v0.3.1** (Current - March 9, 2026) - UI Fixes & Error Handling
|
||||
- **v0.4.0** (Current - 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
|
||||
|
||||
Reference in New Issue
Block a user