Skip to content

reednel/cardquorum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CardQuorum

GitHub Release GitHub License Repo Size GitHub issues

A free and open source PWA for card games online. Or, it will be soon.

Development Instructions

Requires Node.js (v20+), pnpm, and Docker.

Setup

pnpm install
docker compose -f compose.dev.yml up -d # starts Postgres
cp .env.template .env                   # then fill in values

Quick Commands

pnpm 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 WebKit

More Commands

pnpm 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 formatting

E2E Tests

E2E 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)
  • .env configured with a valid DATABASE_URL
  • Playwright browsers installed (pnpm exec playwright install)
  • Dev server stopped — E2E starts its own server on :4200 with a test database
pnpm e2e              # Chromium only — fast feedback loop
pnpm e2e:all          # All browsers (Chromium, Firefox, WebKit)

Scaffolding a New Game Plugin

pnpm nx g @nx/js:lib --name=<game-name> --directory=libs/games/<game-name> --unitTestRunner=jest --bundler=none

Project Goals & AI Use

  1. To have a modern, online platform on which people can play card games (especially Sheepshead).
  2. To give something back to the self-hosting community, from which I have benefitted so much.
  3. 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.

Contributing

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.

License

This software is licensed under the AGPL-3.0 license.

Acknowledgements

We owe thanks to all the projects that make CardQuorum run. (not that it runs right now)

About

A free and open source PWA for card games online. Or, it will be soon.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages