YouTube client-side clone. This is a showcase project inspired by the original YouTube website with some customization. Built with React and Redux (using RTK, which is now recommended as the official standard way to write Redux logic).
In order to hide the app's private API key, I put together a bare-bones API proxy to pass incoming requests to the official YouTube API along with the secret key. Because YouTube has a daily quota for requests, the proxy also includes a rate limiter.
This single-page web app uses YouTube Data API v3 for interacting with YouTube data, and Google OAuth2 for signing in/out and persisting authentication state.
- Browsing the most popular videos chart on the home screen.
- Watching videos, along with a list of related videos and comments.
- Commenting and rating videos.
- Viewing and subscribing to channels.
- Searching for channels and videos.
- An explorer section where users can explore the most popular videos under different categories.
- Subscriptions page where authenticated users can track their subscriptions.
- Persistent auth using Google OAuth2.
- Light/dark theme modes, persisting in local storage.
- Custom and fully responsive design to support different devices.
- Infinite scroll and lazy image loading for optimization and better UX.
Have fun exploring ✨