Skip to content

kalyansaxena/YouTubeClone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

YouTube Clone ( MERN stack video sharing app )

# ReactJS in the frontend
# State management in the frontend using Redux & Redux Toolkit
# Styled components with more emphasis on custom CSS & little bit of Material UI & Icons
# Video & Image upload using firebase storage
# Search, Like & Dislike, Subscribe a channel & Comment a video features
# Video recommendations on the video page
# Light / Dark Mode toggling
# Axios http client
# JWT cookie authentication
# Hashed password saving in the MongoDB database
# Login & Signup with custom Email & Password, Google OAuth using firebase authentication
# RESTful API using ExpressJS and MongoDB with mongoose
# Error handler & Protected routes

Usage

Create .env file in the backend folder and add the following environment variables:

# PORT=5000
# MONGO_URI= your mongo uri connection string from mongodb
# JWT_SECRET=your JWT secret

Create .env file in the frontend folder and add the following environment variables, values can be found from firebase project setup

# REACT_APP_API_KEY=
# REACT_APP_AUTH_DOMAIN=
# REACT_APP_PROJECT_ID=
# REACT_APP_STORAGE_BUCKET=
# REACT_APP_MESSAGING_SENDER_ID=
# REACT_APP_APP_ID=

Install dependencies

# Backend deps
cd backend
npm install

# Frontend deps
cd frontend
npm install

Run Server

# Backend Server (Local)
cd backend
npm start

# Frontend Server (Local)
cd frontend
npm start

Demo can be found here

https://mern-youtubeclone.herokuapp.com/