https://github.com/nelsonwenner/stream-live-system
:red_circle: An example of a live broadcast system using microservice concepts and architected with docker.
https://github.com/nelsonwenner/stream-live-system
api-rest architecture docker docker-compose grpc livestream microservices nestjs nodejs peerjs postgres queue rabbitmq reactjs socket-io streaming streaming-video webrtc webrtc-video
Last synced: 4 months ago
JSON representation
:red_circle: An example of a live broadcast system using microservice concepts and architected with docker.
- Host: GitHub
- URL: https://github.com/nelsonwenner/stream-live-system
- Owner: nelsonwenner
- License: mit
- Created: 2020-05-04T12:06:34.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-24T02:54:42.000Z (about 2 years ago)
- Last Synced: 2024-12-08T21:37:43.291Z (5 months ago)
- Topics: api-rest, architecture, docker, docker-compose, grpc, livestream, microservices, nestjs, nodejs, peerjs, postgres, queue, rabbitmq, reactjs, socket-io, streaming, streaming-video, webrtc, webrtc-video
- Language: JavaScript
- Homepage:
- Size: 44.1 MB
- Stars: 154
- Watchers: 3
- Forks: 40
- Open Issues: 65
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-webrtc - stream-live-system - An example of a live broadcast system using microservice concepts and architected with docker. (Samples)
README
Stream Live System
![]()
Technologies |
Getting Started |
License## :warning: About the project
#### This project is a simple live broadcast system, the whole project is based on microservices. Warning, this project is an example where it can be used as a basis for building a more complex live system.
## :movie_camera: Preview
![]()
## :telescope: System architecture
## :rocket: Technologies
* [kubernetes](https://kubernetes.io/pt/docs/home/)
* [Docker](https://www.docker.com/)
* [Node](https://nodejs.org/en/)
* [NestJS](https://nestjs.com/)
* [ReactJS](https://reactjs.org/)
* [Socket.io](https://socket.io/)
* [RabbitMQ](https://www.cloudamqp.com/)
* [WebRTC](https://webrtc.org/)
* [gRPC](https://grpc.io/docs/)
* [peerJS](https://peerjs.com/)## :toolbox: Prerequisites
* Docker Compose version (1.25.4)
* Docker version (19.03.9)
* Node version (12.18.0)
* Npm version (6.14.4)## :loudspeaker: Communication between systems
* Websockets
* Queue RabbitMQ
* Publish/Subscribe
* WebRTC
* gRPC## :zap: Features
- **Generator of lives**
* Views of lives created
* Creation of lives
* Peers for WebRTC
* WebSockets
* gRPC Server- **Streaming**
* Live broadcast
* View
* Chat display and interaction on `Chat`- **Chat**
* Real-time communication between participants
* Stores messages
* Sends messages to a queue## :information_source: Getting Started
The application was built using the concepts of microservices and architected with Docker. To run, it will be necessary to run or command the docker-compose up.
Access each microservice respectively and read **README.md** to see more details on how to run the microservice.1. [Queue rabbitMQ](https://github.com/nelsonwenner/stream-live-system/tree/master/rabbitmq)
2. [Microservice live manager](https://github.com/nelsonwenner/stream-live-system/tree/master/micro-live-manager)
3. [Microservice live chat](https://github.com/nelsonwenner/stream-live-system/tree/master/micro-live-chat)
4. [Microservice live streaming](https://github.com/nelsonwenner/stream-live-system/tree/master/micro-live-streaming)## :memo: License
This project is under the MIT license. See the [LICENSE](LICENSE.md) for more information.---