216 lines
5.7 KiB
Markdown
216 lines
5.7 KiB
Markdown
# BREEDR - Dog Breeding Genealogy Management System
|
|
|
|
A reactive, interactive dog breeding genealogy mapping system for professional kennel management.
|
|
|
|
## ⚠️ Important: Database Migration Required
|
|
|
|
**If you have an existing BREEDR installation**, you must run a migration to fix the microchip field constraint:
|
|
|
|
```bash
|
|
# Enter the container
|
|
docker exec -it breedr sh
|
|
|
|
# Run migration
|
|
node server/db/migrate_microchip.js
|
|
|
|
# Exit and restart
|
|
exit
|
|
docker restart breedr
|
|
```
|
|
|
|
**What this fixes:** The microchip field now allows multiple dogs without microchips (previously caused "UNIQUE constraint failed" errors).
|
|
|
|
**See full details:** [docs/MICROCHIP_FIX.md](docs/MICROCHIP_FIX.md)
|
|
|
|
---
|
|
|
|
## Features
|
|
|
|
- **Interactive Pedigree Visualization** - Multi-generational family trees with zoom/pan
|
|
- **Health & Genetics Tracking** - Comprehensive health records and genetic trait mapping
|
|
- **Breeding Management** - Heat cycles, pairing analysis, and litter tracking
|
|
- **Inbreeding Coefficient Calculator** - COI analysis for responsible breeding decisions
|
|
- **Trial Pairing Simulator** - Preview offspring genetics before breeding
|
|
- **Document Management** - Digital storage for certificates, contracts, and records
|
|
- **Modern UI** - Sleek, dark-themed interface with compact info cards
|
|
|
|
## Technology Stack
|
|
|
|
- **Frontend**: React 18 with modern component design
|
|
- **Visualization**: React-D3-Tree for pedigree charts
|
|
- **Backend**: Node.js/Express API
|
|
- **Database**: SQLite (embedded, zero-config)
|
|
- **Container**: Single Docker image with multi-stage build
|
|
- **Styling**: CSS custom properties with dark theme
|
|
|
|
## Installation (Unraid)
|
|
|
|
### Build the Docker Image
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
cd /mnt/user/appdata/breedr-build
|
|
git clone https://git.alwisp.com/jason/breedr.git .
|
|
git checkout feature/ui-redesign # For latest UI updates
|
|
```
|
|
|
|
2. Build the Docker image:
|
|
```bash
|
|
docker build -t breedr:latest .
|
|
```
|
|
|
|
### Deploy in Unraid
|
|
|
|
1. Go to **Docker** tab in Unraid UI
|
|
2. Click **Add Container**
|
|
3. Configure:
|
|
- **Name**: Breedr
|
|
- **Repository**: breedr:latest
|
|
- **Network Type**: Bridge
|
|
- **Port**: 3000 → 3000 (or your preferred port)
|
|
- **Path 1**: /mnt/user/appdata/breedr → /app/data (for database)
|
|
- **Path 2**: /mnt/user/appdata/breedr/uploads → /app/uploads (for photos/documents)
|
|
4. Click **Apply**
|
|
|
|
### Access the Application
|
|
|
|
Navigate to: `http://[UNRAID-IP]:3000`
|
|
|
|
## Development
|
|
|
|
### Local Development Setup
|
|
|
|
```bash
|
|
# Install dependencies
|
|
npm install
|
|
|
|
# Run development server (frontend + backend)
|
|
npm run dev
|
|
|
|
# Build for production
|
|
npm run build
|
|
```
|
|
|
|
### Project Structure
|
|
|
|
```
|
|
breedr/
|
|
├── client/ # React frontend
|
|
│ ├── src/
|
|
│ ├── public/
|
|
│ └── package.json
|
|
├── server/ # Node.js backend
|
|
│ ├── routes/
|
|
│ ├── db/
|
|
│ │ ├── init.js
|
|
│ │ └── migrate_microchip.js
|
|
│ └── index.js
|
|
├── docs/ # Documentation
|
|
│ ├── MICROCHIP_FIX.md
|
|
│ ├── UI_REDESIGN.md
|
|
│ └── COMPACT_CARDS.md
|
|
├── Dockerfile # Multi-stage Docker build
|
|
├── docker-compose.yml
|
|
├── package.json
|
|
└── README.md
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
- `NODE_ENV` - production/development (default: production)
|
|
- `PORT` - Server port (default: 3000)
|
|
- `DB_PATH` - SQLite database path (default: /app/data/breedr.db)
|
|
- `UPLOAD_PATH` - Upload directory (default: /app/uploads)
|
|
|
|
## Database Schema
|
|
|
|
SQLite database automatically initializes on first run with tables:
|
|
- `dogs` - Core dog registry
|
|
- `parents` - Parent-child relationships
|
|
- `litters` - Breeding records
|
|
- `health_records` - Medical and genetic testing
|
|
- `heat_cycles` - Breeding cycle tracking
|
|
- `traits` - Genetic trait mapping
|
|
|
|
## Upgrading
|
|
|
|
### From Earlier Versions
|
|
|
|
```bash
|
|
# Stop container
|
|
docker stop breedr
|
|
|
|
# Backup your data
|
|
cp -r /mnt/user/appdata/breedr /mnt/user/appdata/breedr-backup
|
|
|
|
# Pull latest code
|
|
cd /mnt/user/appdata/breedr-build
|
|
git pull
|
|
|
|
# Rebuild image
|
|
docker build -t breedr:latest .
|
|
|
|
# Start container (will auto-migrate)
|
|
docker start breedr
|
|
|
|
# Run migration if needed
|
|
docker exec -it breedr node server/db/migrate_microchip.js
|
|
```
|
|
|
|
## Roadmap
|
|
|
|
### ✅ Phase 1: Foundation (Complete)
|
|
- [x] Project structure
|
|
- [x] Docker containerization
|
|
- [x] Database schema
|
|
- [x] Basic API endpoints
|
|
- [x] Modern UI redesign
|
|
|
|
### 🚧 Phase 2: Core Features (In Progress)
|
|
- [x] Dog profile management (CRUD)
|
|
- [x] Photo management
|
|
- [x] Compact info card design
|
|
- [x] Search and filtering
|
|
- [ ] Interactive pedigree visualization
|
|
- [ ] Parent-child relationship mapping
|
|
|
|
### 📋 Phase 3: Breeding Tools
|
|
- [ ] Inbreeding coefficient calculator
|
|
- [ ] Trial pairing simulator
|
|
- [ ] Heat cycle tracking
|
|
- [ ] Litter management
|
|
|
|
### 📊 Phase 4: Health & Genetics
|
|
- [ ] Health record management
|
|
- [ ] Genetic trait tracking
|
|
- [ ] Document storage
|
|
|
|
### 🚀 Phase 5: Advanced Features
|
|
- [ ] PDF pedigree generation
|
|
- [ ] Reverse pedigree (descendants)
|
|
- [ ] Advanced search and filters
|
|
- [ ] Export capabilities
|
|
|
|
## Recent Updates
|
|
|
|
### March 8, 2026 - UI Redesign & Bug Fixes
|
|
- **Fixed:** Microchip field UNIQUE constraint (now properly optional)
|
|
- **Added:** Migration script for existing databases
|
|
- **Redesigned:** Modern dark theme with sleek aesthetics
|
|
- **Redesigned:** Compact horizontal info cards (80x80 avatars)
|
|
- **Improved:** Dashboard with gradient stats cards
|
|
- **Improved:** Navigation bar with glass morphism
|
|
- **Enhanced:** Age calculation and display
|
|
- **Added:** Sex-colored icons (blue ♂, pink ♀)
|
|
- **Added:** Registration number badges
|
|
|
|
## License
|
|
|
|
Private use only - All rights reserved
|
|
|
|
## Support
|
|
|
|
For issues or questions:
|
|
- Check documentation in `docs/` folder
|
|
- Review container logs: `docker logs breedr`
|
|
- Contact the system administrator |