A production-ready Zoom-inspired Video Conferencing Platform built as a Full Stack Web Application. The application replicates the core meeting workflow of Zoom, allowing users to create instant meetings, join meetings using a unique meeting ID or invite link, manage meeting history, and experience real-time video communication through WebRTC.
Live Demo: https://zoom-video-app-final-frontend.onrender.com/
GitHub Repository: https://github.com/Kavish-Paraswar/Apna-MEET
This project was developed to satisfy the requirements of the Full Stack Software Development Assignment (Zoom Clone).
The primary objective was to recreate Zoom's meeting workflow while maintaining a clean architecture, modular codebase, responsive UI, and scalable backend.
- React.js
- React Router DOM
- Material UI
- Axios
- Socket.IO Client
- WebRTC
- Node.js
- Express.js
- Socket.IO
- MongoDB
- Mongoose
- bcrypt
- JWT Authentication
- MongoDB Atlas
Implemented a professional dashboard inspired by Zoom.
- Modern responsive interface
- Navigation Bar
- User Authentication
- Create Meeting
- Join Meeting
- Meeting History
- Clean UI similar to Zoom
- Responsive Layout
Implemented.
- Create meeting instantly
- Automatically generates unique Meeting ID
- Creates shareable meeting link
- Redirects directly to meeting room
- Stores meeting activity for logged-in users
Implemented.
- Join using Meeting ID
- Join using invite link
- Meeting validation
- Redirect to active meeting
- Real-time participant synchronization
Implemented using WebRTC + Socket.IO.
- Peer-to-peer video calling
- Audio communication
- Multiple participants
- Automatic connection establishment
- Live participant synchronization
Implemented.
- Real-time messaging
- Instant updates
- Socket.IO powered communication
- Meeting-specific conversations
Implemented.
- Stores previously joined meetings
- Displays user meeting history
- Allows quick rejoining of previous meetings
Implemented.
Supports
- Desktop
- Tablet
- Mobile
Responsive layouts ensure a consistent experience across different screen sizes.
- User Authentication
- Secure Password Hashing
- JWT Authentication
- Persistent Login
- Meeting History
- Responsive Design
- Real-time Communication
- Socket.IO Integration
- WebRTC Integration
- MongoDB Database Integration
User Login
│
▼
Dashboard
│
├──────────────┐
│ │
▼ ▼
New Meeting Join Meeting
│ │
▼ ▼
Meeting Created Meeting Validation
│ │
└──────┬───────┘
▼
Video Conference
│
▼
Live Chat
│
▼
Meeting Ends
│
▼
Meeting History Updated
React Frontend
│
REST APIs + Socket.IO
│
Express Backend
│
┌──────────────┴──────────────┐
│ │
MongoDB Database Socket.IO
│
WebRTC Signaling
│
Peer-to-Peer Video
Apna-MEET
├── frontend
│ ├── public
│ ├── src
│ │ ├── components
│ │ ├── pages
│ │ ├── context
│ │ ├── utils
│ │ └── assets
│ └── package.json
│
├── backend
│ ├── controllers
│ ├── middleware
│ ├── models
│ ├── routes
│ ├── socket
│ ├── database
│ └── server.js
│
└── README.md
| Field | Description |
|---|---|
| name | User Name |
| username | Unique Username |
| password | Encrypted Password |
| createdAt | Creation Timestamp |
| Field | Description |
|---|---|
| userId | User Reference |
| meetingCode | Meeting ID |
| joinedAt | Timestamp |
- Register
- Login
- Secure password hashing
- JWT Authentication
- Protected Routes
- Create Meeting
- Join Meeting
- Generate Meeting IDs
- Meeting Validation
- Meeting History
- WebRTC Video Calling
- Socket.IO Signaling
- Live Chat
- Participant Synchronization
POST /api/v1/users/registerPOST /api/v1/users/loginPOST /api/v1/users/add_to_activityGET /api/v1/users/get_all_activityClone Repository
git clone https://github.com/Kavish-Paraswar/Apna-MEET.gitFrontend
cd frontend
npm install
npm startBackend
cd backend
npm install
npm run devBackend
PORT=8000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
CLIENT_URL=http://localhost:3000Frontend
- Vercel
Backend
- Render
Database
- MongoDB Atlas
- Screen Sharing
- Meeting Scheduling
- Host Controls
- Remove Participants
- Mute All
- Waiting Room
- Meeting Passwords
- File Sharing
- Recording Meetings
- Calendar Integration
- Dark Mode
- Virtual Background
- Breakout Rooms
| Requirement | Status |
|---|---|
| Landing Dashboard | ✅ |
| Instant Meeting Creation | ✅ |
| Join Meeting | ✅ |
| Video Conferencing | ✅ |
| Real-Time Chat | ✅ |
| Meeting History | ✅ |
| Responsive UI | ✅ |
| Database Integration | ✅ |
| Clean Code Structure | ✅ |
| Modular Architecture | ✅ |
| REST APIs | ✅ |
| Authentication (Bonus) | ✅ |
- Zoom-inspired UI and meeting workflow
- Full Stack MERN Architecture
- Secure User Authentication
- Real-Time Video Conferencing using WebRTC
- Socket.IO based signaling and communication
- MongoDB Database Integration
- Responsive Design
- Clean Modular Codebase
- Production-ready Architecture
- Easily Extendable for Future Features
Kavish Paraswar