A reasonable starter kit for building React and Node.js turn-based games.
This is a standard full stack JavaScript monorepo managed with Bun workspaces.
Frontend and backend are found in client/
and server/
, respectively.
If you have nix
and direnv
set up, just open this directory. Everything will 'just work'. Otherwise:
- Make sure you have bun installed and an
eslint
plugin, or a language server protocol plugin that will allow you to usetsserver
, installed for your editor of choice. VSCode is your go-to option if you're newer to software development. - Run
bun install
in the root directory of the entire project to install all dependencies. - Run
bun run dev
in the root directory to start up the hot reloading process.
- React functional components for templating and structure. Industry standard.
- CSS-in-JS (JSS): This is my personal preference, but it's not something we have to use.
- Express API with websockets. I think it's best to use websockets and in-memory data as much as we can, because there isn't much of a reason to create accounts and persist data yet (IMO).
- All-in-one, strongly opinionated ESLint + Prettier linting and fixing. Feel free to convert errors into warnings if something is annoying you.
- Some sort of deployment infrastructure
Mondrianesque, de Stijl inspired