youtube-clone
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
- MongoDB & Mongoose for the database
- Node & Express for the backend
- Fluent FFMPEG for video proccessing
- Google OAuth2 for authentication
- Google Drive API for cloud storage (services like AWS S3 and Google Cloud is recommended for production applications)
- React for the frontend
- Redux for frontend application state
- Material UI for UI
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