This is a chess app built with vanilla JavaScript. It's an exercise to learn web development fundamentals and chess strategy, using HTML, CSS, & JS.
- The game runs in the browser
- No libraries, frameworks, templates, or preprocessors
- Limited dev tools:
- Play locally
- Support basic movements of each piece
- Recognize check and mate
- Recognize a draw
- Don't allow moves that put or leave the king in check
- Allow castling
- Allow en passant
- Promote pawns to queen
- Promote pawns to rook, bishop, or knight
- Document the game score in algebraic notation
- Play against an artificial opponent
- Play against another person remotely
Install the dependencies by running:
npm install
Start the node server with:
npm run dev
Identify syntax and style issues with:
npm run lint
Run automated tests with:
npm run test
Test the bot against itself with:
node client/play.js