Welcome to the MyTube YouTube Clone project! This is a React-based web application that fetches data from the YouTube Data API v3 to display videos, categories, and related content. The project mimics some of the core functionalities of YouTube, such as browsing videos by category, viewing video details, and exploring recommended videos.
- Homepage
-
Displays a feed of videos based on selected categories.
-
Includes a sidebar for browsing video categories.
-
- Video Feed Page
- Shows detailed information about a selected video, including:
- Channel name
- Views count
- Likes count
- Comments
- Includes a recommended videos section in the sidebar for related content
- Shows detailed information about a selected video, including:
- Responsive Design
- The application is fully responsive and works seamlessly on desktop, tablet, and mobile devices.
-
React - Frontend library for building user interfaces.
-
YouTube Data API v3 - Fetches video data, categories, and related content.
-
React Router - Handles navigation between pages.
-
Axios - For making HTTP requests to the YouTube API.
-
CSS/SCSS - Styling the application.
-
Material-UI (optional) - For pre-built UI components (if used).
-
Node.js installed on your machine.
-
A YouTube Data API v3 key. You can get one from the Google Cloud Console.
- Clone the repository:
- Install dependencies:
- npm install
- Create a .env file in the root directory and add your YouTube API key:
- Start the development server
-
Fetching Data
-
The app uses the YouTube Data API to fetch:
-
Video categories (for the sidebar).
-
Video details (title, channel, views, likes, comments).
-
Recommended videos (based on the currently playing video).
-
-
-
Routing
- React Router is used to navigate between the homepage and the video feed page.
-
State Management
- React's useState and useEffect hooks are used to manage and update the application state.
- Responsive Design
This project is licensed under the MIT License. See the LICENSE file for details.
-
Thanks to YouTube for providing the API.
-
Inspired by various YouTube clone tutorials and projects.