Go to file
Halit Aksoy 342a2455fa feat(keycloak): give the login pages the app's three themes
A script in the page's head reads the theme the web app saved in the
mancala_theme cookie, or follows the system's color scheme, and puts the
theme's class on the page. The stylesheet takes the redesign's colors,
font, header, cards, fields and pill buttons; the logo and the board on
the card are masks in the theme's colors.
2026-10-17 02:44:54 +03:00
apps feat(keycloak): give the login pages the app's three themes 2026-10-17 02:44:54 +03:00
config feat(keycloak): add Keycloak with guest login extension 2026-10-14 01:46:48 +03:00
docs/specs feat(keycloak): give the login pages the app's three themes 2026-10-17 02:44:54 +03:00
packages feat(core): add rematch channels, series types and texts 2026-10-17 02:05:12 +03:00
.dockerignore feat(backend): replace the Node backend with the Quarkus backend 2026-10-16 11:47:40 +03:00
AGENTS.md docs: describe rematches and series 2026-10-17 02:21:01 +03:00
CLAUDE.md docs: add AGENTS.md with setup, checks and pitfalls, and CLAUDE.md pointing to it 2026-10-16 00:44:09 +03:00
package.json build: use local mancala.js and @mancala/core packages 2026-10-14 02:09:05 +03:00
README.md docs: describe the Java backend 2026-10-16 11:53:13 +03:00
TODO.md docs: describe rematches and series 2026-10-17 02:21:01 +03:00

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 .