aamirfarookh / Chessmate

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.

Home Page:https://chessly.netlify.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

index.html

CHESSMATE

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.

    Deployed Links:

Application Flow

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

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

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.

https://chessly.netlify.app/


Languages

Language:JavaScript 94.2%Language:CSS 3.9%Language:HTML 1.9%