Battle eldritch horrors with your allies to avert cosmic chaos in the pandemic - reign of Cthulhu
This is an interactive web game that brings the board game with the same title to digital implementation in TypeScript and Python.
To understand the rule of the game, see the manual at here
The screenshot below shows current map, cards in the frontend application
See the documentation below to build both of the client and server applications
See REST API documentation to understand how client and server applications interact with each other.
GPL 3.0
Core maintainers initiated this game project with a strong emphasis on practicing the techniques below, all code contribtutors are required (and encouraged) to adhere to these good practices. If you don't know any of them, this is a good opportunity to learn with us.
- Clean code , see references :
- Clean architecture , see references :
- ATDD - Acceptance Test-Driven Development, see references :
- GitHub flow
If you are adding or modifying application-specific logic to the game, be sure to run test cases and linter for syntax check before submitting your code.
Contributors are always encouraged to interact with the maintainers of this codebase, by starting a discussion in following places
- GitHub Issue , for features, refactor, bugfix, build script, and minor changes like typo/error in the code and documentation.
- GitHub Discussion , for architecture/design discussion, or questions about any technology / tool / 3rd-party library applied to the game.
After discussion, what you can do is to
- create your development branch, with the naming convention described above
- push commits / the code change to the branch
- create a PR (pull request) if you are ready to merge your development branch into the main branch, there will be core maintainer(s) coming / reviewing your code change.
Remember to keep code change in your development branch small and manageable, to make reviewers' life easier ;)
Always run the linter in frontend / backend development environment, to ensure you code adheres to the required style.