# BREEDR - Dog Breeding Genealogy Management System A reactive, interactive dog breeding genealogy mapping system for professional kennel management. ## 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 ## Technology Stack - **Frontend**: React 18 with TypeScript - **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 ## 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 . ``` 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/ │ ├── models/ │ ├── db/ │ └── index.js ├── 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 ## Roadmap ### ✅ Phase 1: Foundation (Current) - [x] Project structure - [x] Docker containerization - [x] Database schema - [x] Basic API endpoints ### 🚧 Phase 2: Core Features - [ ] Dog profile management (CRUD) - [ ] Interactive pedigree visualization - [ ] Parent-child relationship mapping - [ ] Basic photo uploads ### 📋 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 ## License Private use only - All rights reserved ## Support For issues or questions, contact the system administrator.