Skip to content

Repository files navigation

Freeman Fantasy Hockey

An intelligent, personalized fantasy hockey management platform. Not generic rankings — the platform answers, continuously and specifically to each manager: "What is the best decision this fantasy manager should make right now?"

Yahoo Fantasy Hockey is the first supported platform. The architecture is provider-agnostic so ESPN, Fantrax, and others can be added later without touching core analytics, AI, or UI code.

This repository is currently in its foundation phase. No fantasy feature UI exists yet — see docs/11-roadmap-mvp.md for what's next. What's here is the monorepo structure, shared packages, application shells, database/cache/AI/deployment architecture, and the documentation that governs how the platform is built from here on.

Start with docs/README.md for the full architecture record.

Stack

  • Frontend: Angular (standalone components, signals, RxJS), Angular Material, installable PWA
  • Backend: NestJS, REST + WebSocket, clean architecture per bounded context
  • Database: PostgreSQL via Prisma
  • Cache / queues: Redis + BullMQ
  • AI: provider-abstracted, self-hosted Ollama by default
  • Workers: independent Node processes for Yahoo sync, NHL data/projections, notifications
  • Deployment: Docker for local dev and self-hosting (Unraid-friendly), see docs/10-self-hosting-deployment.md

Repository layout

apps/
  web/            Angular PWA
  api/             NestJS backend
packages/
  domain/          Shared entities & value objects
  contracts/       DTOs / zod schemas shared across web, api, workers
  analytics/       Valuation, projection, matchup, recommendation engines
  ai/               AIProvider abstraction (Ollama today, cloud providers later)
  database/        Prisma schema + generated client
workers/
  yahoo-sync/
  projections/
  notifications/
docker/            Dev & self-host Docker Compose stacks
docs/              Architecture documentation (read this first)

Getting started (development)

corepack enable
pnpm install
cp .env.example .env

# start Postgres + Redis for local dev (add --profile ollama to also run Ollama in Docker)
pnpm docker:up

# apply the initial schema
pnpm db:migrate

pnpm dev

See each app's own README (apps/web/README.md, apps/api/README.md) for app-specific detail.

Self-hosting (Docker / Unraid)

cp .env.example .env   # fill in SESSION_SECRET, TOKEN_ENCRYPTION_KEY, VAPID_* at minimum
pnpm selfhost:up        # builds and runs api, web, all three workers, postgres, redis

See docs/10-self-hosting-deployment.md for Unraid volume mapping, reverse-proxy notes, resource sizing, and backup guidance.

About

a first-class AI-powered fantasy hockey platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages