Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Zoom App

A full-stack video conferencing application built with React, Node.js, Express, MongoDB, and Socket.IO. Users can create or join meeting rooms, communicate with live audio and video, share their screen, and review meeting history.

Features

  • User registration and login
  • Meeting rooms using a shareable meeting URL
  • Real-time video, audio, and chat
  • Screen sharing
  • Meeting history in the user dashboard
  • Socket.IO communication between meeting participants

Tech Stack

Layer Technologies
Frontend React, React Router, Material UI, Socket.IO Client
Backend Node.js, Express, Socket.IO
Database MongoDB with Mongoose
Authentication Username/password authentication with token-based sessions

Project Structure

backend/     Express API, MongoDB models, routes, and Socket.IO server
frontend/    React application and meeting interface

Prerequisites

  • Node.js 18 or newer
  • npm
  • MongoDB Atlas or a local MongoDB server
  • A modern browser with camera, microphone, and screen-sharing support

Getting Started

1. Clone the repository

git clone https://github.com/jayavgune18/Zoom.git
cd Zoom

2. Configure the backend

Create a local environment file from the example:

cd backend
copy .env.example .env

Open backend/.env and set MONGO_URI to your own MongoDB connection string. Never commit this file or share the connection string publicly.

3. Install dependencies

npm install
cd ../frontend
npm install

4. Start the application

Start the backend in one terminal:

cd backend
npm run dev

Start the frontend in a second terminal:

cd frontend
npm start

Open http://localhost:3000 in your browser. The local API and Socket.IO server run on http://localhost:8000.

Configuration Notes

  • The backend reads MONGO_URI from backend/.env and uses port 8000 by default.
  • The frontend API target is configured in frontend/src/environment.js. Set IS_PROD to false for local backend development.
  • Camera, microphone, and screen sharing require browser permissions and may require HTTPS outside localhost.

Available Commands

Backend

npm run dev    # Start with Nodemon
npm start      # Start with Node.js

Frontend

npm start      # Start the development server
npm test       # Run the test suite
npm run build  # Create a production build

API Routes

User routes are available under /api/v1/users. Meeting communication is handled through Socket.IO.

License

This project is intended for learning and demonstration purposes.

About

A full-stack Zoom-like video calling app built with React, Node.js, Express, Socket.IO, and MongoDB. It includes user authentication, real-time video/audio communication, screen sharing, chat, and meeting history.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages