This is a simple YouTube clone built using React.js, HTML, CSS, and JavaScript. This project demonstrates the fundamental concepts of React.js and provides a basic implementation of a video streaming platform that interacts with the YouTube Data API to fetch real-time data. This project is made for learning purposes.
Project is live at youtube
youtube-clone-intro.mp4
- Video Playback: Users can play videos fetched from the YouTube Data API.
- Different Sections of Videos: Display various sections of videos, such as trending, latest, etc.
- Recommended Videos: Display a list of recommended videos based on the currently playing video.
- Video Details: Show detailed information about a selected video, including view count, like count, and comments.
- Responsive Design: The application is designed to be responsive and works well on different screen sizes.
- Real-time Data Fetching: Fetch videos and related data in real-time from the YouTube Data API.
Make sure you have the following software installed:
- Node.js (version 14.x or later)
- npm (version 6.x or later)
-
Clone the repository:
git clone https://github.com/your-username/youtube-clone.git cd youtube-clone
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
The application should now be running on
http://localhost:3000
.
In the project directory, you can run:
npm start
: Runs the app in the development mode.npm run build
: Builds the app for production to thebuild
folder.npm test
: Launches the test runner in the interactive watch mode.npm run eject
: Removes the single build dependency from your project.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request.
- React.js documentation
- YouTube Data API documentation
- Various online tutorials and resources
If you have any questions or feedback, feel free to reach out to [gsunil99910@gmail.com].
This project is a simple demonstration and is not intended for commercial use. The design and functionality are basic and meant for educational purposes only. This project is made for learning purposes.