A simple classic minesweeper game built in ReactJS.
Rules of the game:
- The goal of the game is to find all the mines on the board.
- You reveal mines by clicking the cells, if you reveal a mine you loose.
- If you reveal a cell without mine it will show number of mines surrounding the cell.
- You can flag a field by right clicking it.
- You win the game if you are able to reveal all the cells that is not a mine or you have flagged all the cells that is a mine.
-
Have these installed on your development machine
-
Used to package the application in a container and allow it to run as a microservice
-
Allows interacting with the kubernetes API from your development machine
-
Minikube Allows creating and setting up a Kubernetes Cluster on your development machine
-
Used to lint Dockerfiles. Or, you can set this up by running:
make setup-hadolint
This will install hadolint to the bin directory
You can setup the environment by running:
npm install
# or
yarn install
# or
make install
These will install the dependencies.
After which you can run the application with:
npm run start
# or
yarn start
# or
make start
Will start up the application on this address
Tests can be found in the tests directory and can be run with:
yarn test
# or
npm run test
# or
make test
Generating a coverage report can be done with:
npm run test:coverage
# or
yarn test:coverage
# or
make test-cover
First create an optimized production build with:
npm run build
# or
yarn build
# or
make build
This will have the production build in the build folder
To serve locally, you can use:
npm run serve
# or
yarn serve
You can now deploy the build to any static server (surge, netlify, etc).
- TypeScript - Programming language used
- ReactJS - Frontend framework
- NPM - Dependency management
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us. Also read CODE_OF_CONDUCT.md for details on our code of conduct.
This project is licensed under the MIT License - see the LICENSE file for details
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Brian Lusina - Initial work - BrianLusina
See also the list of contributors who participated in this project.