A high-performance streaming server built with NestJS, leveraging WebSockets for real-time communication, Firebase Firestore for data storage and authentication, and Google Cloud Storage for media hosting.
- Introduction
- Features
- Architecture
- Technologies Used
- Installation
- Usage
- Contributing
- License
- Acknowledgements
This project is a scalable streaming server designed to handle real-time data and media streaming efficiently. By integrating NestJS with WebSockets, Firebase Firestore, and Google Cloud Storage, it provides a robust platform for streaming applications. It also features ticket-based authentication using Firebase Firestore as the database to secure user access.
- Real-time Communication: Utilizes WebSockets for instant data exchange.
- Scalable Architecture: Built with NestJS to ensure scalability and maintainability.
- Cloud Storage: Stores media files securely using Google Cloud Storage.
- Realtime Database: Manages data with Firebase Firestore for quick access and synchronization.
- Secure Authentication: Implements ticket-based authentication using Firebase Firestore as the database.
Include an architecture diagram explaining how the components interact.
NestJS is a progressive Node.js framework for building efficient and scalable server-side applications.
WebSockets enable two-way interactive communication between the user's browser and a server.
Firebase Firestore is a flexible, scalable NoSQL cloud database for storing and syncing data in real time.
Google Cloud Storage offers worldwide storage and retrieval of any amount of data at any time.
The server uses ticket-based authentication where each user is issued a unique ticket upon successful login. This ticket is stored and validated against Firebase Firestore on each request to ensure secure access control.