Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/niksingh710/youtube-clone
https://github.com/niksingh710/youtube-clone
Last synced: 9 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/niksingh710/youtube-clone
- Owner: niksingh710
- Created: 2023-09-13T03:43:44.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-09-20T12:27:22.000Z (about 2 months ago)
- Last Synced: 2024-10-11T23:34:25.206Z (about 1 month ago)
- Language: TypeScript
- Size: 873 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
YouTube Clone Project 🎥
Learn Google Cloud Platform and Firebase by building a YouTube clone with an emphasis on cloud-native technologies.## 🚀 Project Features
- 📺 List videos
- 📼 Watch a video
- 👤 Sign in/out
- 📥 Upload a video
- 🎬 Watch the transcoded video## 🎞️ Video Chunks and Transcoding
The project efficiently streams videos by dividing them into smaller chunks. FFmpeg is used for video transcoding, optimizing video files for seamless playback.
## 🌐 Ingress and Security
Ingress is managed via Google Cloud Run and Firebase Hosting. Firebase Authentication ensures secure access control. Firebase Firestore stores video metadata, while Google Cloud Storage securely holds video files.
## ⚠️ Project Status
**Note:** This project is currently inactive due to incremental costs associated with Firebase, Google Cloud Pub/Sub, and Google Cloud Platform. Nevertheless, the project is fully functional.
## 📂 Data Storage with Google Cloud Pub/Sub
This project leverages Google Cloud Pub/Sub for efficient data storage and event-driven architecture. Video data and related information are stored securely in Pub/Sub buckets.
### How It Works
1. **Data Storage**: Video files and metadata are stored in Google Cloud Pub/Sub buckets. This ensures high availability, scalability, and durability of your data.
2. **Event-Driven**: When an event, such as video upload or user interactions, occurs, it triggers events in Pub/Sub.
3. **Subscriptions**: Subscriptions are set up to listen for specific events or changes in data. For example, when a new video is uploaded, a subscription can be configured to trigger video transcoding or metadata updates.
4. **Serverless Triggers**: Google Cloud Functions can be configured to respond to Pub/Sub events, making it possible to perform actions like video transcoding, thumbnail generation, or database updates automatically.
5. **Scalable and Cost-Effective**: Google Cloud Pub/Sub scales with your application, ensuring that you only pay for what you use. It's a cost-effective way to handle event-driven data processing.
By using Google Cloud Pub/Sub, this project achieves a robust and scalable architecture for data storage and processing, allowing for seamless video streaming and user interactions.
## 🤝 Contributing
Contributions are welcome! Feel free to open issues or create pull requests.
## 📜 License
This project is licensed under the [MIT License](LICENSE).