Repository for a full-stack darts app with a Vue 3 frontend and a NestJS backend.
- Local game: play on one device with turn handling and score tracking.
- Online game: real-time matches over websockets.
- Tournaments: create and run bracketed events.
- Training: focused practice modes and drills.
- Social: friends and dart groups.
- Stats: match and player performance tracking.
- Intuitive user interface
- Complete game logic
- Team modes
- Events
- Advanced statistics
- Scheduled tournaments
- Adapative bot tiers
- Frontend: Vue 3 (Composition API), Vite, Pinia
- Backend: NestJS, Socket.IO
- Databases: PostgreSQL (TypeORM) and MongoDB (Mongoose)
- Cache: Redis
- Local orchestration: Docker Compose
From the repo root:
docker compose --env-file .env.development up --buildApp URLs:
- Frontend: http://localhost:5173 (dev users:
admin:adminanduser:user) - Backend: http://localhost:3000
Notes:
- The frontend proxies backend calls to
:3000in development. - If you run
docker compose upwithout--env-file .env.development, Compose warns about missing Postgres env vars.
To stop:
docker compose downTo stop and remove volumes:
docker compose down -vUse Docker for data services only:
docker compose --env-file .env.development up -d postgres mongodb rediscd server
npm install
npm run start:devBackend runs on http://localhost:3000.
In a second terminal:
cd web
npm install
npm run devFrontend runs on http://localhost:5173.
Backend (server):
npm run test
npm run test:e2e
npm run lintFrontend (web):
npm run test:unit
npm run test:e2e
npm run lint
npm run build.
├── server/ # NestJS API + websocket backend
├── web/ # Vue 3 frontend
├── docker-compose.yml
└── .env.development
- Port already in use:
- Check
3000,5173,5432,27017,6379and stop conflicting services.
- Check
- Postgres env warnings in Compose output:
- Start with
--env-file .env.development.
- Start with
- Redis
vm.overcommit_memorywarning:- This is a host kernel setting warning from Redis. Development usually still works; set
vm.overcommit_memory=1on your host if needed.
- This is a host kernel setting warning from Redis. Development usually still works; set


