A real-time multiplayer chess application with real-time video and chat supporting features built using webRTC and socket.io. It also includes login/signup using JWT and Google OAuth.
- Real-time multiplayer chess game: Players can play against each other in real-time. They can move pieces on the board and see the opponent's moves in real-time.
- Real-time video: Players can see each other's video streams in real-time while playing the game.
- Chat: Players can chat with each other while playing the game.
- Login/Signup: Users can sign up for the application using their email and password. They can also sign in using their Google account.
- JWT: JSON Web Token is used for user authentication and authorization.
-
WEBRTC: For real-time video and audio communication.
-
Socket.io: For real-time communication between the server and the client.
-
Node.js: For server-side development.
-
Express.js: For building the RESTful API.
-
MongoDB: As the database for storing user information and game data.
-
Google OAuth: For user authentication and authorization.
- FrontEnd: https://chessly.netlify.app/
- Backend: https://chessmate.onrender.com/
Feature | Coded | Description |
---|---|---|
Home Page | ✔ | Navigate the Application |
Login & Register | ✔ | Add user and store in DB |
Lobby | ✔ | To enter in any specific room to play |
Rooms | ✔ | Play game with real time video and chat |
Leader Board | ✔ | Show different user levels |
- Clone the repository from GitHub.
- Install Node.js and MongoDB on your local machine.
- Run npm install in the project directory to install the dependencies.
- Create a .env file in the project directory and add the following environment variables:
Open the application in your web browser at localhost:4500.
Note: You will need to obtain your own Google OAuth client ID and client secret by creating a project on the Google Developers Console.
- Amir Bhat: Landing Page | Leader Board | Gameplay Integration
- Avishek Singh: Implemented WebRTC and socket.io for Real-Time Video & Chat
- Parimal Paramanik: Coded chess gameplay logic & backend
- Raghavendra Jingade: Integrated Google OAuth & SMTP for OTP and Forgot password Integration
- Mahendra Mohane: Login Page | Register Page & Backend server integration