Elkboard - Blue Elks Hockey Dashboard
| ._backup | ||
| .github | ||
| .vscode | ||
| assets | ||
| docs | ||
| nginx | ||
| packages | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| .prettierrc | ||
| build-and-push.sh | ||
| deploy.sh | ||
| docker-compose.prod.yml | ||
| docker-compose.vps.yml | ||
| docker-compose.yml | ||
| eslint.config.js | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| setup-postgres.ps1 | ||
| TODO.md | ||
| tsconfig.base.json | ||
Elkboard - Blue Elks Hockey Dashboard
Analyse- und Management-Dashboard für das Eishockey-Team "Blue Elks" (AEC U11).
Tech Stack
Frontend: React, Vite, TypeScript, Tailwind CSS, shadcn/ui, Recharts Backend: Node.js, Fastify, TypeScript, Prisma, Oslo.js Auth Database: PostgreSQL Package Manager: pnpm (Monorepo) Testing: Vitest, React Testing Library
Prerequisites
- Node.js >= 20.0.0
- pnpm >= 8.0.0
- PostgreSQL (lokal oder Docker)
Quick Start
# Install dependencies
pnpm install
# Setup database
cd packages/backend
pnpm prisma generate
pnpm prisma migrate dev
pnpm prisma db seed
# Start development
cd ../..
pnpm dev
Development URLs: Frontend http://localhost:5173 | Backend http://localhost:3001
Project Structure
elkboard/
├── packages/
│ ├── backend/ # Fastify API + Prisma
│ ├── frontend/ # React + Vite
│ └── shared/ # Zod Schemas + Types
├── .github/ # Copilot Instructions
└── docker-compose.yml # PostgreSQL
Commands
pnpm dev # Start all dev servers
pnpm build # Build all packages
pnpm test # Run all tests (31 passing)
pnpm test:coverage # Run tests with 100% coverage
pnpm lint # Lint code
pnpm format # Format code
pnpm typecheck # TypeScript check
Current Status
Backend: ✅ Complete
- Auth System (Oslo.js)
- Match/Team/Season Services
- REST API (10+ endpoints)
- 31 Tests, 100% Coverage
Frontend: 🚧 In Progress
- Basic structure ready
- API integration next
Database: ✅ Running
- PostgreSQL with seed data
- Admin:
admin@blueelks.de/admin123
Docker
# Development: PostgreSQL only
docker-compose up postgres -d
# Production: Build images locally and push to registry
./build-and-push.sh
# VPS: Deploy from registry
./deploy.sh init # First deployment
./deploy.sh quick # Quick update (just pull & restart)
./deploy.sh update # Full update (pull + migrations)
Deployment
Production: https://elkboard.duckdns.org
See docs/Deployment.md for complete deployment guide including:
- Pre-built image strategy for low-RAM VPS
- Forgejo Container Registry setup
- SSL/TLS with Let's Encrypt
- Nginx reverse proxy configuration
Documentation
- Development Guide: .github/copilot-instructions.md
- Roadmap & TODOs: TODO.md
License
MIT