youtube-clone icon indicating copy to clipboard operation
youtube-clone copied to clipboard

A YouTube Clone using the MERN stack

MERN Stack YouTube Clone

This is a YouTube Clone that implements the main features of YouTube solely intended for educational purposes and is created under fair use.

* Video Uploads are limited to 25 MB.

Technologies

Features

  • [x] Google OAuth
  • [x] Video upload, streaming, commenting, and rating
  • [x] Channel subscriptions
  • [x] Trending, recommended, and categorized videos
  • [x] Video searching
  • [ ] Pagination
  • [ ] Watch history
  • [ ] Video Playlist
  • [ ] Updating & deleting videos
  • [ ] Going live

Running Locally

Configuring environment variables

  • Rename client's .env-sample to .env
  • Rename server's .env-sample to .env
  • Fill in the environment variable values in both .env files

Starting the App

  • npm install to install all dependencies
  • npm run dev to run both client & backend in development
  • cd server && npm run server to run only backend
  • cd client && npm start to run only client

Deploy to Heroku

The neccessary environment variables & buildpacks are defined in app.json

Deploy