A React implementation of the popular Conway's Game of Life, using React + Typescript + Vite + Redux + TailwindCSS.
Conway's Game of Life is a set of rules that create an algorithm that simulates simple life on a two-dimensional board. This board is made up of either dead or alive cells, and each generation produces new cells based on the following restrictions:
- Any live cell with two or three live neighbours survives.
- Any dead cell with three live neighbours becomes a live cell.
- All other live cells die in the next generation. Similarly, all other dead cells stay dead.
- NodeJS 14+
Clone the repository and navigate into it inside a terminal. Run npm i
to install all necessary dependencies, and
afterwards simply run npm run dev
to start a Vite dev server. By default, this will open a server listening
at http://localhost:3000/GameOfLife
.
To run the automated tests (located in the tests
directory), run npm run test
, which will load vitest
and
run through the various React Testing Library tests.
This project uses ESLint as an automated styling / linting tool. To ensure the project meets expected code guidelines
and quality, run npm run lint
. If the program terminates and nothing is logged, no issues were found.
Contributions are welcome! If you spot a typo or a subtle bug, please open a pull request, ensure that all tests pass and the linter detects no issues, and we'll go from there.