The CORE Game website built with Next.js, NestJS, and Go microservices for managing tournaments, teams, and game execution.
This project consists of multiple microservices:
- Frontend - Next.js web application
- API Service - Main backend API (NestJS + PostgreSQL)
- GitHub Service - Repository management microservice
- K8s Service - Game execution in Kubernetes clusters
- Docker (running)
- k3d — k3d.io
- Tilt — docs.tilt.dev/install.html
- Helm — helm.sh/docs/intro/install
- kubectl — kubernetes.io/docs/tasks/tools
On macOS you can install all at once:
brew install k3d helm kubectl && brew install tilt-dev/tap/tiltmake devThis will:
- Create a local k3d cluster (or start it if it already exists)
- Guide you through setting up OAuth credentials in
.env.tilt - Launch Tilt, which builds and deploys all services into the cluster
Once running, services are available at:
| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| API | http://localhost:4000 |
| RabbitMQ UI | http://localhost:15672 (guest / guest) |
| SeaweedFS S3 | http://localhost:9000 |
| PostgreSQL | localhost:5432 (postgres / postgres) |
On first run, make dev will ask for OAuth credentials and save them to .env.tilt (gitignored).
You need at least a GitHub OAuth App:
- Create one at: https://github.com/settings/developers → "New OAuth App"
- Homepage URL:
http://localhost:3000 - Callback URL:
http://localhost:4000/auth/github/callback
42 Network OAuth is optional.
make stop # Stop the cluster (preserves data)
make clean # Delete the cluster entirely- Frontend ← API Service ← PostgreSQL
- GitHub Integration requires RabbitMQ + GitHub Service
- Game Execution requires Kubernetes + K8s Service + S3 Storage
- Fork the repository
- Create a feature branch
- Make your changes
- Test locally using
make dev - Submit a pull request
For issues and questions:
- Check individual service READMEs for specific setup issues
- Open an issue in this repository