Skip to content

A YouTube clone with a lot of features developed with the MERN stack, JWT for authentication, and Firebase Storage for video and file storage. This project intends to emulate YouTube's main functionality, allowing users to upload, view, like, comment on, and interact with videos. Please note, this app is still under development.

Notifications You must be signed in to change notification settings

shubho0908/YouTube-clone-MERN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

MERN YouTube Clone

A feature-rich YouTube clone built using the MERN stack, JWT for authentication, and Firebase Storage for video and file storage. This project aims to replicate the core functionalities of YouTube, allowing users to upload, view, like, comment, and interact with videos.

Demo

Youtube.Clone.MERN.mp4

Or watch the demo here.

Features

  • User Authentication using JWT.
  • User Registration and Login.
  • Uploading and viewing videos.
  • Create a channel and upload content.
  • Like, comment, save, and share videos.
  • Create playlists and share them with others.
  • Video storage using Firebase Storage.
  • YouTube studio to manage channel and content.
  • Responsive design for mobile and desktop.
  • And much more...

Technologies Used

  • MongoDB: Database for storing user data and video metadata.
  • Express.js: Server framework for handling API requests.
  • React.js: Frontend library for building the user interface.
  • Node.js: JavaScript runtime for the server.
  • Firebase Storage: Cloud storage for video uploads.
  • JSON Web Tokens (JWT): For user authentication.
  • React Icons & MUI: For icons.

Configuration

  1. Create a .env file in the root directory of your project.
  2. Add necessary environment variables to the .env file, such as database connection URLs, API keys, or other sensitive data.
  3. Add your own MongoDB Atlas URI in the datbase file inside the backend folder.
SECRET_KEY=your-secret-key
EMAIL=email-to-use-as-nodemailer-service
PASSWORD=google-app-password

Running the Application

Server

Install server dependencies:

npm install

Start the server:

npm start

Client

Install client dependencies:

npm install

Start the client application:

npm run dev

Open your web browser and visit http://localhost:5173 to access the application.

About

A YouTube clone with a lot of features developed with the MERN stack, JWT for authentication, and Firebase Storage for video and file storage. This project intends to emulate YouTube's main functionality, allowing users to upload, view, like, comment on, and interact with videos. Please note, this app is still under development.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages