An open API service indexing awesome lists of open source software.

https://github.com/abej-rijwi/react-youtube-clone

Build and Deploy a Modern YouTube Clone Application in React JS with Material UI 5
https://github.com/abej-rijwi/react-youtube-clone

material-ui react reactjs

Last synced: about 2 months ago
JSON representation

Build and Deploy a Modern YouTube Clone Application in React JS with Material UI 5

Awesome Lists containing this project

README

          





Project Banner



React
Tailwind CSS
RapidAPI
Axios
Material UI
React Router DOM

Full Stack YouTube Clone


Build this project step by step with our detailed tutorial on JavaScript Tutorial YouTube. Join the JSM family!

## πŸ“‹ Table of Contents

1. πŸ€– [Introduction](#introduction)
2. βš™οΈ [Tech Stack](#tech-stack)
3. πŸ”‹ [Features](#features)
4. 🀸 [Quick Start](#quick-start)

## 🚨 Tutorial

This repository contains the code corresponding to an in-depth tutorial available on our YouTube
channel, JavaScript Tutorial.

If you prefer visual learning, this is the perfect resource for you. Follow our tutorial to learn how to build projects
like these step-by-step in a beginner-friendly manner!

## πŸ€– Introduction

Welcome to the YouTube Clone – a fully responsive and interactive web application built using React JS. This project replicates core features of YouTube, including video browsing, search functionality, video playback, and channel information.

## βš™οΈ Tech Stack

- React
- Axios
- Rapid API
- TailwindCSS
- Material UI
- React Router DOM

## πŸ”‹ Features

πŸ‘‰ **Homepage Feed**: Displays trending and category-based videos fetched via YouTube API.

πŸ‘‰ **Video Playback Page**: Responsive video player with title, description, views, likes, and comments section.

πŸ‘‰ **Search Functionality**: Real-time video search with instant result updates.

πŸ‘‰ **Channel Pages**: Dedicated pages showing channel info and all uploaded videos.

πŸ‘‰ **Related Videos Sidebar**: Suggests similar videos alongside the current one.

πŸ‘‰ **Responsive Design**: Optimized for desktops, tablets, and mobile devices.

πŸ‘‰ **Routing with React Router**: Smooth page navigation using client-side routing.

πŸ‘‰ **API Integration**: Powered by RapidAPI’s YouTube Data API v3.

πŸ‘‰ **Material UI Components**: Clean and modern user interface with consistent styling.

## 🀸 Quick Start

Follow these steps to set up the project locally on your machine.

**Prerequisites**

Make sure you have the following installed on your machine:

- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/en)
- [npm](https://www.npmjs.com/) (Node Package Manager)

**Cloning the Repository**

```bash
git clone https://github.com/Abej-Rijwi/react-youtube-clone.git
cd react-youtube-clone
```

**Installation**

Install the project dependencies using npm:

```bash
npm install
```

**Set Up Environment Variables**

Create a new file named `.env` in the root of your project and add the following content:

```env
REACT_APP_RAPID_API_KEY=
REACT_APP_YOUTUBE_API_KEY=
ESLINT_NO_DEV_ERRORS=true
```

Replace the placeholder values with your actual credentials. You can obtain these credentials by signing up on the corresponding websites from [Rapid API You-Tube Search](https://rapidapi.com/h0p3rwe/api/youtube-search-and-download) to [Rapid API You-Tube v311](https://rapidapi.com/Glavier/api/youtube-v311/)

**Running the Project**

```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) in your browser to view the project.