A full-stack chess application built with React and Node.js. Originally developed as a 12th-grade graduation project, this app features real-time multiplayer capabilities, a single-player mode against the Stockfish engine, and user authentication.
- Real-Time Multiplayer: Play against other players online instantly using WebSockets (
Socket.io). - Play vs Computer: Test your skills against the powerful
Stockfishchess engine. - Move Validation & Game State: Accurate chess rules enforcement and state management using
chess.js. - User Authentication: Secure login and user management handled by
Auth0. - Interactive UI: Smooth and responsive chessboard rendering with
chessboardjsx, styled withReact-Bootstrap.
Frontend:
- React.js
- Socket.io-client
- Chess.js & Chessboardjsx
- Stockfish.js (AI Engine)
- Auth0 (Authentication)
- React-Bootstrap & FontAwesome
Backend:
Make sure you have Node.js installed on your machine.
-
Clone the repository:
git clone https://github.com/stoichy/Chess-App-Fullstack.git cd Chess-App-Fullstack -
Install all dependencies (for both frontend and backend) in one go:
npm run install-all
-
Start the development servers concurrently:
npm run dev
This single command will start both the Node.js backend server and the React frontend application simultaneously.
Since this project uses Auth0 for authentication, you will likely need to set up your environment variables in the frontend directory (e.g., creating a .env file) with your specific Auth0 Domain and Client ID to make the login system work properly.