Implement a basic Tic Tac Toe game.
Specifications:
- Fork this repository. The project is already bootstraped via create-react-app
- Commit all the steps onto your own fork
- Allow the board to be of any size. Let's say the board is NxN - it will take N horizontal/vertical/diagonal matches of the same sign to win. Where N can be greater than 2 and less than 7.
- Let the user define the board size before the start of the game
- If all squares are filled, the squares should not be clickable
- If a win/loss or draw occurs - allow the user to restart the game
- The game should keep score how many games X and O have won and how many games were draw
- Make it responsive on mobile, tablet and desktop devices
Mandatories:
- Don't copy existing applications
- Use React
- Use styled-components for styling
- Prop Types
- Use ES6 (and above if possible) features (destructuring, const...)
- Tests
- Use Redux for managing the state of the game (tip: https://medium.com/@matthew.holman/what-is-redux-ducks-46bcb1ad04b7)
Bonus points:
- Use React hooks
- Meaningful tests, not just tests for coverage
- Clean, concise, reusable code
- Make it look nice
- Clear git usage. Commit when you make a nice amount of work that doesn't break the master branch