A free and open source PWA for card games online. Or, it will be soon.
Requires Node.js (v20+), pnpm, and Docker.
pnpm install
docker compose -f compose.dev.yml up -d # starts Postgres
cp .env.template .env # then fill in valuespnpm serve # Starts frontend on :4200, backend on :3000/api
pnpm format # Runs prettier formatter agaist the project
pnpm validate # Tests, lints, and builds the project
pnpm e2e # Runs E2E tests (Chromium only)
pnpm e2e:all # Runs E2E tests across Chromium, Firefox, and WebKitpnpm nx serve frontend # Angular dev server on :4200 (also starts backend)
pnpm nx serve backend # NestJS on :3000/api (standalone)
pnpm nx run-many -t build
pnpm nx run-many -t test
pnpm nx run-many -t lint
pnpm nx lint <project> # lint a single project
pnpm prettier --check . # check formatting
pnpm prettier --write . # fix formattingE2E tests use Playwright and run against a live frontend + backend with a dedicated test database (cardquorum_test). The test database is created and migrated automatically on first run.
Prerequisites:
- Docker Postgres running (
docker compose -f compose.dev.yml up -d) .envconfigured with a validDATABASE_URL- Playwright browsers installed (
pnpm exec playwright install) - Dev server stopped — E2E starts its own server on
:4200with a test database
pnpm e2e # Chromium only — fast feedback loop
pnpm e2e:all # All browsers (Chromium, Firefox, WebKit)pnpm nx g @nx/js:lib --name=<game-name> --directory=libs/games/<game-name> --unitTestRunner=jest --bundler=none- To have a modern, online platform on which people can play card games (especially Sheepshead).
- To give something back to the self-hosting community, from which I have benefitted so much.
- To build expertise in areas of web-dev I lack experience with, and to use AI in a way that promotes real learning, and is sustainable for a project of this scale.
Development of this software has been accelerated through the careful and restrained use of Claude AI.
Users interested in expanding functionalities in Sheepshead Online are welcome to do so. Issues reports are encouraged through Github's issue tracker. See details on how to contribute and report issues in CONTRIBUTING.md. All contributors are expected to adhere to the Code of Conduct.
This software is licensed under the AGPL-3.0 license.
We owe thanks to all the projects that make CardQuorum run. (not that it runs right now)