Skip to content

Rafhathdana/netflix-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Netflix Clone

This project is a Netflix clone built using the MERN stack (MongoDB, Express.js, React.js, Node.js). It aims to replicate the core features and functionalities of the Netflix website, allowing users to browse movies and TV shows, view details, and watch trailers.

Features

User-Facing Features

  • User Authentication: Users can create accounts, log in, and manage their personal information securely.
  • Movie/TV Show Catalog: A vast catalog of movies and TV shows is available for users to explore.
  • Search: Users can search for specific movies or TV shows by title, genre, or keywords.
  • Movie/TV Show Details: Detailed information is provided for each movie or TV show, including trailers, descriptions, cast, and ratings.
  • My List: Users can save movies and TV shows to their personal watchlist for future viewing.
  • Netflix Player: Users can watch movies and TV shows directly on the platform.

Project Methods

The Netflix Clone project includes the following methods:

  1. Netflix React App Setup: Set up a new React application for the Netflix Clone.
  2. React Router Dom Setup: Install and configure React Router Dom to handle routing within the application.
  3. Firebase Setup: Set up Firebase for user authentication and data storage. Configure Firebase API keys and authentication settings.
  4. Signup Using Firebase: Implement user signup functionality using Firebase authentication. Allow users to create new accounts with email and password.
  5. Login Using Firebase: Implement user login functionality using Firebase authentication. Allow users to log in to their existing accounts.
  6. Netflix Navbar: Create a navigation bar component for the Netflix Clone. Include links and navigation items for different pages and sections.
  7. Netflix Home: Build the homepage of the Netflix Clone. Display featured movies, trending shows, and personalized recommendations.
  8. Netflix Player: Implement the Netflix player functionality. Allow users to watch movies and TV shows directly on the platform.
  9. TMDB API Setup: Set up the integration with the TMDB API to fetch movie and TV show data.
  10. Redux Toolkit Setup: Set up Redux Toolkit for state management in the Netflix Clone. Configure the Redux store, reducers, and actions.
  11. Fetching Genres from TMDB API: Fetch genres from the TMDB API and display them in the application.
  12. Fetching Movies from TMDB API: Fetch movies and TV shows from the TMDB API and populate the catalog.
  13. Netflix Card Slider: Create a card slider component to display movies and TV shows in a carousel-like format. Enable smooth sliding and navigation through the slider.
  14. Code Optimization Using React Memo Hook: Optimize performance by using the React memo hook. Memoize components to prevent unnecessary re-renders.
  15. Netflix Movies by Genre: Implement the ability to filter and display movies by genre. Allow users to browse movies based on their preferred genres.
  16. Netflix TV Shows By Genre: Implement the ability to filter and display TV shows by genre. Allow users to browse TV shows based on their preferred genres.
  17. Node.js Setup: Set up Node.js for the backend of the Netflix Clone. Install necessary dependencies and configure the project structure.
  18. Node.js API Add Movie to MongoDB: Implement an API endpoint in Node.js to add movies to a MongoDB database. Handle requests to add new movies to the collection.
  19. Using Add Movie Node.js API with React: Integrate the Node.js API for adding movies with the React frontend. Allow users to add new movies to the Netflix Clone through the user interface.
  20. Node.js API Get All Movies: Implement an API endpoint in Node.js to fetch all movies from the MongoDB database. Handle requests to retrieve all movies and send the data back to the frontend.
  21. MyList Page and Get all Movies Node.js API Integration with React: Create a MyList page in the Netflix Clone. Integrate the Node.js API to fetch all movies and display them on the MyList page.
  22. Node.js API Delete Movie: Implement an API endpoint in Node.js to delete movies from the MongoDB database. Handle requests to remove movies based on specified criteria.
  23. Delete Movie Node.js API Integration with React: Integrate the Node.js API for deleting movies with the React frontend. Allow users to remove movies from the Netflix Clone through the user interface.

Installation

Follow these steps to set up the Netflix Clone locally:

  1. Clone the repository: git clone [repository-url]

  2. Install the required dependencies for the Netflix UI: cd netflix-ui npm install

  3. Install the required dependencies for the Netflix API: cd netflix-api npm install

  4. Configure the environment variables: Update the Firebase configuration in the Netflix UI

  5. Start the Netflix UI: cd netflix-ui npm start

  6. Start the Netflix API: cd netflix-api npm start Open your browser and navigate to http://localhost:3000 to access the Netflix Clone.

Contributing

We welcome contributions to improve Jobooking! Feel free to fork the repository, create pull requests, and report issues. Please follow the contribution guidelines when submitting changes.

License

This project is open-source and available under the MIT License. See the LICENSE file for details.

Contact

For any inquiries or support, please reach out to our team at danarafha@gmail.com.

Thank You

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published