Video_Sharing_Application

⭐Built with Mern Stack⭐

GitHub stars GitHub forks GitHub watchers Repo. Size GitHub Maintained PRs Welcome

GitHub contributors GitHub Closed issues GitHub PR Open GitHub PR closed GitHub language count GitHub top language GitHub last commit

A beginner friendly project to help you in open source contributions.

Visit the Official Website »
Report Bug · Documentation Request . Feature Request




Tech Stacks used

Javascript React MaterialUI Firebase NPM NodeJS React Redux Express.js MongoDB

Key Features

# 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

Screenshots of Website

image

image

image

(back to top)

Usage

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

# MONGO = 
# JWT = 
# PORT = 3001

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

# REACT_APP_FIREBASE_KEY = 
# GENERATE_SOURCEMAP=false

Install dependencies

# Backend deps
cd server
npm install
# client deps
cd client
npm install

Run Server

# Backend Server (Local)
cd server
npm start

# client Server (Local)
cd client
npm start

you need to setup new project in firebase and enable storage and signin with google option

(back to top)