mancala/README.md

44 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

2024-03-24 03:00:46 +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:
```sh
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:
```sh
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:
```sh
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:
```sh
docker build -f apps/backend/Dockerfile -t jhalitaksoy/mancala-backend .
docker build -f apps/frontend/Dockerfile -t jhalitaksoy/mancala-frontend .
```