https://github.com/syed007hassan/netflix-mern
A Netflix clone where Users can get authenticated to watch Movies, Series of the different genres available in the list category. The Admin can add Movies, and Series and can categorise them in different lists. All the CRUD operations on Users, Movies/Series, and Lists have been implemented using REST APIS.
https://github.com/syed007hassan/netflix-mern
css expressjs firebase jwt-authentication mongodb nodejs reactjs scss-framework
Last synced: 6 months ago
JSON representation
A Netflix clone where Users can get authenticated to watch Movies, Series of the different genres available in the list category. The Admin can add Movies, and Series and can categorise them in different lists. All the CRUD operations on Users, Movies/Series, and Lists have been implemented using REST APIS.
- Host: GitHub
- URL: https://github.com/syed007hassan/netflix-mern
- Owner: Syed007Hassan
- License: mit
- Created: 2023-04-15T20:22:08.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-25T16:01:05.000Z (over 2 years ago)
- Last Synced: 2025-02-17T21:46:33.206Z (9 months ago)
- Topics: css, expressjs, firebase, jwt-authentication, mongodb, nodejs, reactjs, scss-framework
- Language: JavaScript
- Homepage:
- Size: 670 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# NETFLIX-MERN

A Netlfix clone where Users can get authenticated to watch Movies, Series of the different genres available in the list category. The Admin can add Movies, and Series and can categorise them in different lists. All the CRUD operations on Users, Movies/Series, and Lists have been implemented using REST APIS.
## π Architecture Diagram

## πGetting Started
- In the terminal, run: ```https://github.com/Syed007Hassan/NETFLIX-MERN.git```
- Create a ```api/.env``` file that contains
```
MONGOATLASPASWORD=
PORT=3001
MONGOURL=
SECRET_KEY_FOR_CRYPTOJS=
```
- Create a ```admin/.env``` file that contains
```
PORT=5000
```
- Create a ```admin/src/firebase.js``` that contains
```
import firebase from "firebase";
//replace your keys
const firebaseConfig = {
apiKey: "",
authDomain: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: "",
measurementId: "",
};
firebase.initializeApp(firebaseConfig);
const storage = firebase.storage();
export default storage;
```
- In the first terminal, run: ```cd api && npm i```, then run: ```node start```
- In the second terminal, run: ```cd client && npm i```, then run: ```npm run start```
- In the third terminal, run: ```cd admin && npm i```, then run: ```npm run start```
- Client(Netflix) will be available on ```http://localhost:3000/``` and Admin(Neflix Panel) will be available on ```http://localhost:3001/```
## π API Testing-Postman

## π Technologies used
- ReactJS: For client (Netflix) and admin (Netflix Admin Panel)
- CSS/SCSS: For styling components
- NodeJs/ExpressJs: For creating REST APIS and handling database
- JWT: For authentication and authorization of users/admins
- MongoDB: For performing CRUD operations on Movies/Series/List and storing documents of Users/Movies/List
- Firebase: For uploading images and videos for each movie/series
- Postman: For API testing
## π Demo
https://user-images.githubusercontent.com/104893311/235492206-d578d0e4-9584-442f-a01e-b6a9e97dc4f4.mp4