Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shubho0908/youtube-clone-mern
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.
https://github.com/shubho0908/youtube-clone-mern
express-js jwt mern-stack mongodb mongoose mui nodejs reactjs youtube-clone
Last synced: 1 day ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/shubho0908/youtube-clone-mern
- Owner: shubho0908
- Created: 2023-06-14T07:09:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-26T07:23:17.000Z (7 months ago)
- Last Synced: 2024-06-26T08:45:11.948Z (7 months ago)
- Topics: express-js, jwt, mern-stack, mongodb, mongoose, mui, nodejs, reactjs, youtube-clone
- Language: JavaScript
- Homepage: https://shubho-youtube-mern.netlify.app/
- Size: 3.36 MB
- Stars: 7
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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
https://github.com/shubho0908/YouTube-clone-MERN/assets/81776711/72a75a7e-e20b-4639-ac14-13c490329dbf
Or watch the demo [here.](https://youtu.be/CJEoNpLgRRw?si=8F2vfGwuBO03jRsH)
## 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
- **M**ongoDB: Database for storing user data and video metadata.
- **E**xpress.js: Server framework for handling API requests.
- **R**eact.js: Frontend library for building the user interface.
- **N**ode.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.```bash
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.