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.
- Frontend: https://shivam-lets-meet.netlify.app
- Backend: https://letsmeet-t85e.onrender.com
- React.js
- Tailwind CSS
- Axios
- React Router DOM
- Toastify (for notifications)
- Node.js
- Express.js
- MongoDB with Mongoose
- JSON Web Token (JWT)
- WebRTC
- Socket.IO
- bcryptjs
- cookie-parser
- cors
- 🔒 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
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=developmentcd server
npm install
npm run devRuns at: http://localhost:8000
cd client
npm install
npm run devRuns at: http://localhost:5173
POST /api/v1/users/check- Check is api workingPOST /api/v1/users/register- Register userPOST /api/v1/users/login- Login userGET /api/v1/users/auth-check- Auth check via cookiesPOST /api/v1/users/logout- Logout user
More API endpoints related to meetings and Socket.IO are handled on the frontend for real-time connections.
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 }
Made with ❤️ by Shivam Gaur