Elkboard - Blue Elks Hockey Dashboard
Find a file
2026-02-13 23:55:29 +01:00
._backup Initialer Commit 2026-02-10 15:18:30 +01:00
.github added stats and charts to dashboard 2026-02-12 14:56:02 +01:00
.vscode Environment and Database setup 2026-02-12 10:10:19 +01:00
assets WIP - styling; added logo, banner and modified color scheme 2026-02-13 14:03:27 +01:00
docs cleanup and update scripts and documentation 2026-02-13 23:55:29 +01:00
nginx update ssl in nginx config 2026-02-13 22:41:34 +01:00
packages another api url change 2026-02-13 23:17:01 +01:00
.dockerignore prepared for using foregejo as local docker hub 2026-02-13 20:08:53 +01:00
.editorconfig Environment and Database setup 2026-02-12 10:10:19 +01:00
.env.example postgres details in env 2026-02-13 21:35:21 +01:00
.gitignore WIP - E2E Tests with Playwright 2026-02-12 16:27:19 +01:00
.npmrc added stats and charts to dashboard 2026-02-12 14:56:02 +01:00
.prettierrc Initialer Commit 2026-02-10 15:18:30 +01:00
build-and-push.sh cleanup and update scripts and documentation 2026-02-13 23:55:29 +01:00
deploy.sh deploy updates 2026-02-13 22:29:29 +01:00
docker-compose.prod.yml prepared docker deployment 2026-02-13 15:58:18 +01:00
docker-compose.vps.yml prepared for using foregejo as local docker hub 2026-02-13 20:08:53 +01:00
docker-compose.yml Initialer Commit 2026-02-10 15:18:30 +01:00
eslint.config.js Environment and Database setup 2026-02-12 10:10:19 +01:00
package.json Environment and Database setup 2026-02-12 10:10:19 +01:00
pnpm-lock.yaml WIP - E2E Tests with Playwright 2026-02-12 16:27:19 +01:00
pnpm-workspace.yaml Environment and Database setup 2026-02-12 10:10:19 +01:00
README.md cleanup and update scripts and documentation 2026-02-13 23:55:29 +01:00
setup-postgres.ps1 cleanup and update scripts and documentation 2026-02-13 23:55:29 +01:00
TODO.md cleanup and update scripts and documentation 2026-02-13 23:55:29 +01:00
tsconfig.base.json Initialer Commit 2026-02-10 15:18:30 +01:00

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

License

MIT