WhatsApp Clone with Video Calls

Project Logo

About

This project is a WhatsApp clone with video call functionality, built using React.js, Node.js, MongoDB, Socket.io, and WebRTC. It allows users to send text messages, images, and make video calls in real-time, similar to the popular messaging application WhatsApp.

Features

  • User registration and authentication.
  • Real-time text messaging with individual and group chat support.
  • Image sharing within chats.
  • Dcouments sharing within chats.
  • Video calling with peer-to-peer WebRTC technology.
  • Filterization between chats
  • End-to-end encryption for secure messaging.

Demo

image

You can experience the project by visiting our live demo.

Getting Started

Prerequisites

Before you begin, ensure you have met the following requirements:

  • Node.js and npm installed on your development machine.
  • MongoDB installed and running.
  • WebRTC-compatible browsers (e.g., Chrome, Firefox).

Installation

  1. Clone the repository:

    git clone https://github.com/piyushyadav0191/Full-Stack-Whatsapp-Clone.git
    
  2. Change to the project directory:

    cd whatsapp-clone
    
  3. Install server dependencies and start server:

    cd backend && yarn && yarn dev
    
  4. Install client dependencies and start server:

    cd frontend && yarn && yarn start
    
  5. Copy your environment variables in both frontend and backend in new .env file same as .env.example

Usage

1. Visit http://localhost:3000 in your web browser to access the WhatsApp clone application.

2. Register a new account or log in with existing credentials.

3. Explore the application's features, including text messaging, image sharing, and video calls.

Technologies Used

React.js
Node.js
MongoDB
Socket.io
WebRTC
Redux toolkit

GitHub

View Github