Skip to content

Datamaverik/D-Meet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

D-Meet App

Welcome to the D-Meet app, a sophisticated video conferencing application built with the MERN stack and TypeScript. This app leverages modern technologies to offer seamless video calling, chat functionality, and robust user authentication.

Table of Contents

Project Overview

The Video Meet App is a powerful video conferencing solution that allows users to create rooms, join rooms, and interact via video calls and chat. Built using a rich tech stack, the app provides a robust and scalable solution for virtual meetings.

Features

  • User Authentication: Secure login and logout with GitHub OAuth 2.0 integration.
  • Room Management: Create and join rooms with unique IDs.
  • WebRTC Integration: Establish peer-to-peer connections for video calls.
  • Real-Time Communication: Use Socket.IO for real-time chat and connection management.
  • Robust Validation: Four levels of validation implemented for both frontend and backend.

Tech Stack

  • Frontend: React-logo React, typescript-logoTypeScript,charka-logo Chakra UI,
  • Backend: nodeJS-logo Node.js,express-logo Express, Typescript-logo TypeScript
  • Database: MongoDB-logo MongoDB,
  • Authentication: OAuth2.0-logo OAuth2.0, GitHub_Login-logo GitHub Login
  • Real-Time Communication: Socket-logo Socket.IO, WebRTC-logo WebRTC
  • Validation: Zod-logo Zod, Joi-logo Joi, Joi Password Complexity

Setup and Installation

To get started with the Video Meet App, follow these steps:

  1. Clone the Repository:
    git clone https://github.com/Datamaverik/D-Meet
  2. Navigate to the Project Directory
cd D-Meet-App
  1. Install Dependencies
    npm install
  2. Set Up Environment Variables Create a .env file in the root directory of Server and add the necessary environment variable. Refer to .env.example for required variables.
  3. Start the Application
    cd Server
    npm start
    Opent a new terminal in the root directory
    cd Client
    npm run dev
  4. Access the App: Open your browser and navigate to http:localhost:5173.

Usage

  • Login: Use your GitHub account to log in.
  • Create Room: Generate a unique ID and share it with other.
  • Join Room: Enter the room ID to join an existing room.
  • Video Call: Connect with others in the room using WebRTC.
  • Chat Send and recieve real-time messages in the chat window.

OAuth 2.0 Integration

We’ve integrated GitHub OAuth 2.0 for seamless user authentication. Users can log in using their GitHub credentials, enhancing security and user experience.

How It Works

  1. User Authentication: User login via GitHub OAuth 2.0 or normal register themselves to the MongoDB
  2. Room Creation: Users create or join rooms using unique IDs.
  3. WebRTC Connection: WebRTC is used for video and audio communication.
  4. Reat-Time Communication: Socket.IO manages real-time chant and signalling.

Screenshots

  • Login/Signup Page Home-Page Home-Page

  • Validation Validation-Page

  • Lobby Page Lobby-Page

  • Room-Joining Room_Join-Page

  • Room Page Room-Page

  • Chat Page Chat-Page

  • Call Page Call-Page

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages