Skip to content

ChessMate is a real-time chess application built using Node.js, Express, MongoDB, Vanilla JavaScript, HTML5 & CSS3. It provides users with the ability to play chess online with friends or other players.

Notifications You must be signed in to change notification settings

parimal-paramanik/chessApp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CHESSMATE is 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

Features:

  • 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.

Technologies Used:

  • 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.

Application Flow

Feature Coded Description
Home Page Navigate the Application
Login & Register Add user and store in DB
Lobby To enter is any specific room to play
Rooms Play game with real time video and chat
Leader Board Show different user levels

How to Run the Application:

  • 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:

Run npm start to start the application.

Open the application in your web browser at http://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.

Contributors:

Landing Page

index

Login Page

index.html

Register Page

index.html

Forgot Password

index.html

Reset Password

index.html

Lobby

index.html

Room

index.html

Leader Board

index.html

Deployed Links:

License:

This project is licensed under the MIT License. See the LICENSE file for details.

About

ChessMate is a real-time chess application built using Node.js, Express, MongoDB, Vanilla JavaScript, HTML5 & CSS3. It provides users with the ability to play chess online with friends or other players.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 94.6%
  • CSS 3.7%
  • HTML 1.7%