Skip to content

Let’s Meet is a real-time video conferencing app inspired by Zoom. It allows users to create and join meeting rooms, connect with others via video and audio, and communicate seamlessly. Built with WebRTC and the MERN stack, it delivers a smooth, secure, and responsive video call experience.

Notifications You must be signed in to change notification settings

ishivamgaur/LetsMeet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 

Repository files navigation

Let's Meet - Full Stack Application

This is the complete documentation for Let's Meet — a real-time video conferencing web application inspired by Zoom. Built with the MERN stack (MongoDB, Express, React, Node.js), it supports user authentication, secure cookie-based sessions, and video conferencing with Socket.IO/WebRTC.


🌐 Live URLs


📦 Tech Stack

Frontend

  • React.js
  • Tailwind CSS
  • Axios
  • React Router DOM
  • Toastify (for notifications)

Backend

  • Node.js
  • Express.js
  • MongoDB with Mongoose
  • JSON Web Token (JWT)
  • WebRTC
  • Socket.IO
  • bcryptjs
  • cookie-parser
  • cors

📄 Features

  • 🔒 JWT-based secure login with cookie-based auth
  • 👥 Create, join, and manage meetings
  • 📹 Real-time communication using WebRTC (frontend)
  • 🍪 Cross-site cookie support for auth check
  • 🧠 Passwords securely hashed with bcrypt
  • 📦 REST APIs for user actions and auth
  • 🕓 View Meeting History – Users can view their previously created or joined meetings with timestamps and titles

🔐 Environment Variables (Backend)

Create a .env file inside the /server directory and add:

PORT=8000
MONGODB_URI=mongodb+srv://yourpassword:[email protected]/?retryWrites=true&w=majority&appName=Cluster0
JWT_SECRET=secret
NODE_ENV=development

🚀 Getting Started

Backend Setup

cd server
npm install
npm run dev

Runs at: http://localhost:8000

Frontend Setup

cd client
npm install
npm run dev

Runs at: http://localhost:5173


🔁 API Endpoints (Backend)

Auth

  • POST /api/v1/users/check - Check is api working
  • POST /api/v1/users/register - Register user
  • POST /api/v1/users/login - Login user
  • GET /api/v1/users/auth-check - Auth check via cookies
  • POST /api/v1/users/logout - Logout user

More API endpoints related to meetings and Socket.IO are handled on the frontend for real-time connections.


🧪 Testing

Make sure to test CORS and cookie settings properly:

  • Allow third-party cookies in your browser settings
  • Backend must allow frontend origin
  • Frontend Axios requests must use { withCredentials: true }

📬 Contact

Made with ❤️ by Shivam Gaur


About

Let’s Meet is a real-time video conferencing app inspired by Zoom. It allows users to create and join meeting rooms, connect with others via video and audio, and communicate seamlessly. Built with WebRTC and the MERN stack, it delivers a smooth, secure, and responsive video call experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages