Initial commit: Project README
This commit is contained in:
142
README.md
Normal file
142
README.md
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
# 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.
|
||||||
Reference in New Issue
Block a user