A portfolio project built for playing chess online vs anyone in the world, or for playing against a Chess Engine. The name comes from a common joke in the online chess world where players will often criticize chess as if it were a modern game with updates.
- "When is chess 2 coming out"
- Play online against anyone in the world with <100ms move delay.
- Matchmaking for finding other players looking to play
- Your session and games are saved when leaving and returning to the site
- Play against Stockfish 11, one of the best Chess engines in the world
- Play chess variants such as Chess960 and Chess 2, a variant created by me for this project.
- Built using React and Next.js
- Styled using Tailwind
- Chess Engine is Stockfish.js which is a WASM implementation of the Stockfish engine.
- State is managed by Redux-Toolkit and react-redux
- Websocket connecting uses Socket.io
- Sound managed with use-sound
- Server is built using Expressjs and Node.js
- Database is MongoDB which is used for game state persistence and session management
- Socket.io is used to create and manage Websocket connections
- Redis is used as an adapter for the websocket connections.
- Mongoose used as an ORM
This project was built to serve as a portfolio project showing off my fullstack capabilities. I am currently looking for a job in web development so I wanted this project to be as close as I can get to a real production level application. As of writing this, I am still finishing up development of this project.