# BREEDR - Dog Breeding Genealogy Management System A reactive, interactive dog breeding genealogy mapping system for professional kennel management. --- ## 🌟 Recent Highlights (v0.8.1 β€” July 2026) - **βœ… Fresh-install fix** β€” Schema definitions reconciled with the routes; a brand-new database now boots with heat cycles, litters, and puppy logs fully working. - **βœ… Health Records overhaul** β€” Per-type record forms (OFA / vaccination / exam / surgery / medication), document upload (PDF/image), OFA age validation, and delete actions. - **βœ… UX layer** β€” Toast notifications, proper confirmation dialogs, load-error banners with retry, a 404 page, and mobile-friendly layouts across all pages. - **βœ… Hardened API** β€” Sire/dam sex validation, transactional writes, and safe photo handling. --- ## πŸš€ Quick Start ### 1. Docker Deployment (Recommended) ```bash git clone https://git.alwisp.com/jason/breedr.git cd breedr docker-compose up -d --build ``` Access at: `http://localhost:3000` ### 2. Manual Development Setup Requires **Node.js 18+** (better-sqlite3 v11 ships prebuilds for Node 18–24). ```bash npm install cd client && npm install && cd .. npm run dev # runs API (nodemon, :3000) + client (vite, :5173) together ``` > **Note:** The database initializes automatically on first boot β€” tables and columns are created/added via safe guards. No manual migrations are required. --- ## πŸ• Managing Your Kennel - **Adding Dogs**: Go to the **Dogs** page, click **Add New Dog**. You can mark dogs as **External** if they aren't in your kennel but are needed for pedigree mapping. - **Champion Tracking**: Toggle the **Champion** status to title dogs. Offspring will automatically display the "Champion Bloodline" badge. - **Photo Management**: Multiple high-quality photos per dog with a compact gallery view. - **Litter Tracking**: Link puppies to breeding records automatically to track weight and health from birth. ## 🧬 Breeding & Genetics - **Interactive Pedigree**: 5-generation trees with zoom/pan. Toggle the **Reverse Pedigree** switch to see descendant lineage. - **Trial Pairing Simulator**: Calculate Wright's Inbreeding Coefficient (COI) instantly. Identifies common ancestors and providing risk badges (Low/Moderate/High). - **Heat Cycles**: Track female cycles on the calendar. Includes **projected whelping alerts** (indigo windows) and expected due dates. - **Health Records**: OFA clearances (hip, elbow, patella, heart, eyes, thyroid), GRCA/CHIC clearance summaries, vaccinations, exams, surgeries, and medications β€” with supporting-document upload. - **DNA Panel**: Golden Retriever genetic markers (PRA, ICH, NCL, DM, MD) with carrier-risk checks on trial pairings. --- ## πŸ› οΈ Technology Stack - **Frontend**: React 18, Vite, Lucide Icons - **Visualization**: React-D3-Tree, D3.js - **Backend**: Node.js, Express.js - **Database**: SQLite (Zero-config, safe `ALTER TABLE` migrations) - **Deployment**: Multi-stage Docker --- ## πŸ“‚ Project Structure ``` breedr/ β”œβ”€β”€ client/ # React frontend (Pages: Pedigree, Pairing, Calendar, Settings) β”œβ”€β”€ server/ # Node.js backend (Routes: Dogs, Pedigree, Breeding, Settings) β”œβ”€β”€ static/ # Branded assets (logos, etc.) β”œβ”€β”€ data/ # SQLite database storage (mapped in Docker) β”œβ”€β”€ uploads/ # Dog photo storage (mapped in Docker) └── docs/ # Technical documentation and design history ``` --- ## πŸ•’ Release Summary - **v0.8.1** (Jul 2026): Fresh-install schema fix, health record overhaul, toast/dialog UX layer, API hardening, mobile responsiveness. - **v0.8.0** (Mar 2026): Reverse Pedigree & External dog parentage. - **v0.7.0**: Health & Genetics (OFA clearances, DNA panels, cancer history). - **v0.6.1**: COI calculation fix for direct parentΓ—offspring relations. - **v0.6.0**: Champion status tracking & Kennel settings API. --- ## ❓ Troubleshooting - **COI shows 0.00%?**: Ensure both parents are mapped and have shared ancestors. - **Missing Columns?**: Restart the server; auto-init guards add columns automatically. - **Logo not appearing?**: Place `br-logo.png` in the `static/` directory. --- **Full Documentation**: [Installation Guide](INSTALL.md) | [Development & Architecture](DEVELOPMENT.md) | [API Reference](API.md) | [Roadmap](ROADMAP.md)