Merge pull request 'docs/update-readme-roadmap-v0.5' (#20) from docs/update-readme-roadmap-v0.5 into master
Some checks failed
Build & Publish Docker Image / build-and-push (push) Has been cancelled

Reviewed-on: #20
This commit was merged in pull request #20.
This commit is contained in:
2026-03-09 20:22:53 -05:00
2 changed files with 70 additions and 95 deletions

View File

@@ -12,6 +12,7 @@ A reactive, interactive dog breeding genealogy mapping system for professional k
- **✅ Interactive Pedigree Visualization** - Multi-generational family trees with zoom/pan - **✅ Interactive Pedigree Visualization** - Multi-generational family trees with zoom/pan
- **✅ Modern UI** - Sleek, dark-themed interface with compact info cards - **✅ Modern UI** - Sleek, dark-themed interface with compact info cards
- **✅ Search & Filter** - Find dogs by name, breed, sex, and more - **✅ Search & Filter** - Find dogs by name, breed, sex, and more
- **✅ Branded Navigation** - Custom logo (br-logo.png) with gold-to-rusty-red gradient title
### Database Architecture ### Database Architecture
- **✅ Clean Schema** - No migrations, fresh installs create correct structure - **✅ Clean Schema** - No migrations, fresh installs create correct structure
@@ -21,7 +22,15 @@ A reactive, interactive dog breeding genealogy mapping system for professional k
- **✅ Heat Cycles** - Breeding cycle tracking - **✅ Heat Cycles** - Breeding cycle tracking
- **✅ Genetic Traits** - Inherited trait mapping - **✅ Genetic Traits** - Inherited trait mapping
### Recently Fixed ### Recently Added (March 9, 2026)
- **✅ Brand Logo** - Custom `br-logo.png` in navbar replacing generic icon
- **✅ Gradient Title** - Gold-to-rusty-red gradient on "BREEDR" brand text
- **✅ Static Asset Serving** - `/static` directory served by Express for branding assets
- **✅ Dev Proxy** - Vite dev server proxies `/static` to Express backend
- **✅ Route Fix** - `/static` and `/uploads` paths no longer fall through to React catch-all
- **✅ Logo Sizing** - Fixed brand logo to 1:1 aspect ratio square
### Previously Fixed
- **✅ Database Schema** - Removed weight/height columns, added litter_id - **✅ Database Schema** - Removed weight/height columns, added litter_id
- **✅ Parent Handling** - Proper sire/dam via parents table - **✅ Parent Handling** - Proper sire/dam via parents table
- **✅ Microchip Field** - Optional, allows multiple dogs without microchips - **✅ Microchip Field** - Optional, allows multiple dogs without microchips
@@ -35,7 +44,7 @@ A reactive, interactive dog breeding genealogy mapping system for professional k
- **Backend**: Node.js/Express API - **Backend**: Node.js/Express API
- **Database**: SQLite (embedded, zero-config) with clean normalized schema - **Database**: SQLite (embedded, zero-config) with clean normalized schema
- **Container**: Single Docker image with multi-stage build - **Container**: Single Docker image with multi-stage build
- **Styling**: CSS custom properties with dark theme - **Styling**: CSS custom properties with dark theme + gradient branding
## Quick Start ## Quick Start
@@ -72,7 +81,7 @@ cp data/breedr.db data/breedr.db.backup
rm data/breedr.db rm data/breedr.db
# Pull latest code # Pull latest code
git pull origin docs/clean-schema-and-roadmap-update git pull origin master
# Rebuild and restart # Rebuild and restart
docker-compose up -d --build docker-compose up -d --build
@@ -134,6 +143,7 @@ breedr/
│ ├── db/ │ ├── db/
│ │ └── init.js # Clean schema (NO migrations) │ │ └── init.js # Clean schema (NO migrations)
│ └── index.js │ └── index.js
├── static/ # Branding assets (br-logo.png, etc.)
├── docs/ # Documentation ├── docs/ # Documentation
├── DATABASE.md # Schema documentation ├── DATABASE.md # Schema documentation
├── ROADMAP.md # Development roadmap ├── ROADMAP.md # Development roadmap
@@ -151,6 +161,7 @@ breedr/
- `GET /api/pedigree/:id` - Generate pedigree tree - `GET /api/pedigree/:id` - Generate pedigree tree
- `GET /api/health` - Health records - `GET /api/health` - Health records
- `GET/POST /api/breeding` - Heat cycles and breeding - `GET/POST /api/breeding` - Heat cycles and breeding
- `GET /static/*` - Branding and static assets
## Upgrading ## Upgrading
@@ -196,6 +207,10 @@ Check server logs for:
If you don't see these logs, ensure `sire_id` and `dam_id` are being sent in the API request. If you don't see these logs, ensure `sire_id` and `dam_id` are being sent in the API request.
### Logo not appearing in navbar
Ensure `br-logo.png` is placed in the `static/` directory at the project root. The file is served at `/static/br-logo.png`.
## Roadmap ## Roadmap
### ✅ Completed ### ✅ Completed
@@ -208,6 +223,8 @@ If you don't see these logs, ensure `sire_id` and `dam_id` are being sent in the
- [x] Parent-child relationships via parents table - [x] Parent-child relationships via parents table
- [x] Modern UI redesign - [x] Modern UI redesign
- [x] Search and filtering - [x] Search and filtering
- [x] Custom brand logo + gradient title
- [x] Static asset serving
### 🚧 In Progress ### 🚧 In Progress
- [ ] Trial pairing simulator - [ ] Trial pairing simulator
@@ -225,7 +242,15 @@ If you don't see these logs, ensure `sire_id` and `dam_id` are being sent in the
## Recent Updates ## Recent Updates
### March 9, 2026 - Clean Database Schema ### March 9, 2026 - Branding & Header Improvements (v0.4.1)
- **Added:** Custom `br-logo.png` brand logo in navbar
- **Added:** Gold-to-rusty-red gradient on "BREEDR" title text
- **Added:** `/static` directory for branding assets served by Express
- **Fixed:** Vite dev proxy for `/static` routes
- **Fixed:** `/static` and `/uploads` paths no longer fall through to React router
- **Fixed:** Brand logo sized as fixed 1:1 square for proper aspect ratio
### March 9, 2026 - Clean Database Schema (v0.4.0)
- **Fixed:** Database schema cleaned up - no migrations - **Fixed:** Database schema cleaned up - no migrations
- **Fixed:** Removed weight/height columns (never implemented) - **Fixed:** Removed weight/height columns (never implemented)
- **Fixed:** Proper parent handling via parents table - **Fixed:** Proper parent handling via parents table

View File

@@ -28,6 +28,7 @@
- [x] `/api/breeding` - Heat cycles and whelping calculator - [x] `/api/breeding` - Heat cycles and whelping calculator
- [x] Photo upload with Multer - [x] Photo upload with Multer
- [x] **Parent relationship handling** via parents table - [x] **Parent relationship handling** via parents table
- [x] `/static/*` - Branding and static asset serving
--- ---
@@ -53,6 +54,12 @@
- [x] Responsive navigation - [x] Responsive navigation
- [x] **Compact info cards** (80x80 avatars) - [x] **Compact info cards** (80x80 avatars)
- [x] **Modern dark theme** with glass morphism - [x] **Modern dark theme** with glass morphism
- [x] **Custom brand logo** (br-logo.png) in navbar
- [x] **Gold-to-rusty-red gradient** on BREEDR brand title
- [x] **Static asset serving** via Express `/static` route
- [x] **Vite dev proxy** for `/static` routes
- [x] **Route fix** - static/uploads don't fall through to React router
- [x] **Logo aspect ratio** fixed to 1:1 square
### Features Implemented ### Features Implemented
- [x] Photo upload and storage - [x] Photo upload and storage
@@ -100,7 +107,7 @@
--- ---
## 📊 Phase 4: Health & Genetics (PLANNED) ## 📋 Phase 4: Health & Genetics (PLANNED)
### Health Records ### Health Records
- [ ] Add health test results - [ ] Add health test results
@@ -117,7 +124,7 @@
--- ---
## 📊 Phase 5: Advanced Features (PLANNED) ## 📋 Phase 5: Advanced Features (PLANNED)
### Pedigree Tools ### Pedigree Tools
- [ ] Reverse pedigree (descendants view) - [ ] Reverse pedigree (descendants view)
@@ -144,7 +151,7 @@
--- ---
## 📊 Phase 6: Polish & Optimization (PLANNED) ## 📋 Phase 6: Polish & Optimization (PLANNED)
### User Experience ### User Experience
- [ ] Loading states for all operations - [ ] Loading states for all operations
@@ -202,87 +209,19 @@
--- ---
## 🆕 Latest Release: v0.4.0 - Clean Database Schema ## 🌕 Current Sprint: v0.5.0
### What's New in This Release ### ✅ Completed This Sprint
- [x] Custom `br-logo.png` brand logo in navbar
- [x] Gold-to-rusty-red gradient on BREEDR title
- [x] `/static` directory served by Express
- [x] Vite dev proxy for `/static`
- [x] Fixed route fall-through for `/static` and `/uploads`
- [x] Brand logo fixed to 1:1 aspect ratio
#### Database Overhaul ✅ ### 🚧 Next Up (Priority Order)
-**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
#### API Improvements #### Option 1: Trial Pairing Simulator (Recommended) 👍
-**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
#### 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
#### 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:
```bash
# Backup your data
cp data/breedr.db data/breedr.db.backup
# Delete old database
rm data/breedr.db
# Pull latest code
git pull origin docs/clean-schema-and-roadmap-update
# Restart application (creates clean database)
docker-compose restart
```
**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
---
## Current Sprint Focus
### Next Up (Priority)
#### Option 1: Trial Pairing Simulator (Recommended) 🎯
**Complexity:** Medium | **Impact:** High | **User Value:** Excellent **Complexity:** Medium | **Impact:** High | **User Value:** Excellent
**Why this is recommended:** **Why this is recommended:**
@@ -292,7 +231,7 @@ docker-compose restart
- Relatively quick to implement - Relatively quick to implement
**Tasks:** **Tasks:**
- Create PairingSimulator component - Create `PairingSimulator` component
- Add sire/dam selection dropdowns - Add sire/dam selection dropdowns
- Display COI calculation results - Display COI calculation results
- Show common ancestors table - Show common ancestors table
@@ -312,7 +251,7 @@ docker-compose restart
- Provides calendar functionality - Provides calendar functionality
**Tasks:** **Tasks:**
- Create HeatCycleForm component - Create `HeatCycleForm` component
- Add calendar view with heat cycle tracking - Add calendar view with heat cycle tracking
- Track progesterone levels - Track progesterone levels
- Implement breeding date suggestions - Implement breeding date suggestions
@@ -331,7 +270,7 @@ docker-compose restart
- Document management adds utility - Document management adds utility
**Tasks:** **Tasks:**
- Create HealthRecordForm component - Create `HealthRecordForm` component
- Add vaccination tracking with expiry alerts - Add vaccination tracking with expiry alerts
- Medical history timeline view - Medical history timeline view
- PDF/image document uploads - PDF/image document uploads
@@ -349,6 +288,9 @@ docker-compose restart
- [x] UI layout fixes - [x] UI layout fixes
- [x] Error handling for API failures - [x] Error handling for API failures
- [x] Parent relationship creation via parents table - [x] Parent relationship creation via parents table
- [x] Brand logo display and sizing
- [x] Gradient title rendering
- [x] Static asset serving in prod and dev
- [ ] Trial pairing simulator - [ ] Trial pairing simulator
- [ ] Heat cycle tracking - [ ] Heat cycle tracking
- [ ] Health records - [ ] Health records
@@ -368,7 +310,15 @@ docker-compose restart
## Version History ## Version History
- **v0.4.0** (Current - March 9, 2026) - Clean Database Schema - **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 - Complete database overhaul with clean normalized design
- Removed migrations, fresh init only - Removed migrations, fresh init only
- Parents table for relationships - Parents table for relationships