new_bot_game starts a game against the bot at the chosen level and ends the search for an opponent. BotPlayer works out the bot's moves on its own thread pool and plays them on the game loop after the previous move's animation and a thinking time. Bot games keep their settings across restarts. |
||
|---|---|---|
| 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 web and mobile 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 the
backend (Java 25 and Quarkus, see apps/backend/README.md) and the web app:
cd apps/backend && ./mvnw quarkus:dev # port 5005
cd apps/frontend && yarn dev # 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 .