Files
mixmaker/README.md
lemintare 1239fcee08
Some checks failed
CI / backend (push) Has been cancelled
CI / frontend (push) Has been cancelled
CI / compose (push) Has been cancelled
Initialize project with basic structure, including Docker configuration, backend and frontend setup, environment configuration, and essential files for development.
2026-07-19 00:17:31 +03:00

1.5 KiB

Mixmaker

Mixmaker is a full-stack application for organizing Overwatch community scrims: Discord authentication, role ratings and preferences, RU/EN UI, event RSVP, preference-aware balanced 1/2/2 teams, captain assignment, Bo3 drafts and results, and a single-elimination bracket.

Stack

  • Go backend with Clean Architecture
  • PostgreSQL
  • React, TypeScript, Vite, TanStack Query and Router
  • REST + Server-Sent Events
  • Docker Compose for local PostgreSQL and Coolify production deployment

Local development

Requirements: Go, Node.js/npm, Docker with Compose.

cp .env.example .env
make dev-db
make migrate

# Terminal 1
make backend

# Terminal 2
make frontend

The frontend runs at http://localhost:5173; API requests are proxied to the backend. To use the real API locally, copy frontend/.env.example to frontend/.env and set VITE_DEMO_MODE=false.

Create a Discord application, add the callback URL from DISCORD_REDIRECT_URL, and fill in DISCORD_CLIENT_ID, DISCORD_CLIENT_SECRET, and ADMIN_DISCORD_IDS.

Checks

make test
make lint
make compose-check

Production

The root compose.yaml is designed for a single Coolify Docker Compose resource. Coolify owns routing and networking; the file intentionally does not declare custom networks or publish PostgreSQL.

See deployments/coolify.md for setup, secrets, storage, and backup requirements.

Product documentation

Current decisions and domain rules live in memory_bank/.