A fun card game to play with friends (or foes). Work in progress.
- Chek RULES for more information how the game is played.
- Chek BACKLOG for current development status and roadmap.
Requires Node.js v22 or greater. I'm using Volta to automatically switch Node.js versions between projects.
Install dependencies with npm install
and you are ready to go.
To play a minimal implenentation of the game locally via the CLI you can run:
npm run tiny-play
Run tests in watch mode during development:
npm test
Single test run with code coverage:
npm run test:coverage
This is a personal hobby project and I've been wanting to explore the following concepts and ideas:
- How good can the DX with modern JavaScript and JSDoc be (compared to eg. TypeScript)
- Use as few dependencies as possible
- Server Side/Node.js
- Using ESM natively without any transpilation or bundling.
- Use built-in Node.js test runner.
- Use built-in Node.js SQLite library.
- Use built-in WebSockets and/or Server Push Events
- Use built-in watch mode eg. ´node --watch` instead of eg. Nodemon
- Client Side
- No React :)
- Revisiting Modern "Vanilla" CSS. What's possible?
- View Transitions API
- Server Side/Node.js
- Architecture
- Clear seperation of concerns: Isolated game core logic that allows for multiple implementations of the game
- Service logic decouploed from protocol layer (HTTP/SSH/Telnet etc.) & API layer (REST, GraphQL, RPC etc.)
- Deployment
- Deploy "anywhere": Edge/Serverless/Docker?
Tools used to enfore code formatting: