Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/niksingh710/youtube-clone


https://github.com/niksingh710/youtube-clone

Last synced: 9 days ago
JSON representation

Awesome Lists containing this project

README

        

YouTube Clone Project 🎥


TypeScript
Next.js
Express.js
Docker
FFmpeg
Firebase Auth
Firebase Functions
Firebase Firestore
Google Cloud Storage
Google Cloud Pub/Sub
Google Cloud Run



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).