GameClock and optional clock fields on live games, end messages, move records and finished games; getClockTimes, ClockSync, getClockAtMove and formatClock with tests. |
||
|---|---|---|
| apps | ||
| config | ||
| docs/specs | ||
| packages | ||
| .dockerignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| package.json | ||
| README.md | ||
| TODO.md | ||
Mancala
Mancala is an open source application for playing mancala game online.
Development
The apps use the local packages/mancala.js and packages/core through link: dependencies, so build those first:
yarn build:packages # from the repo root
After changing a package, rebuild it (or run yarn dev in it to rebuild on change); the apps pick up the new dist.
Postgres (games and Keycloak), Valkey (live games and caches) and Keycloak run with Docker Compose. Create
apps/.env once, then start them:
cd apps
cat > .env <<EOF
POSTGRES_PASSWORD=postgres
KEYCLOAK_DB_PASSWORD=keycloak
KEYCLOAK_ADMIN_PASSWORD=admin
MANCALA_DB_PASSWORD=mancala
EOF
docker compose up -d --build postgres valkey keycloak
Postgres is on localhost:5433 and Valkey on localhost:6379; the backend's defaults point there. Then run
yarn dev in apps/backend (port 5005) and in apps/frontend (port 1234).
Docker images for the backend and frontend are built from the repo root:
docker build -f apps/backend/Dockerfile -t jhalitaksoy/mancala-backend .
docker build -f apps/frontend/Dockerfile -t jhalitaksoy/mancala-frontend .