The purpose of this project is to practice event driven architecture.
The scenario is:
- Client sends an API request to API gateway and authenticates matching credentials with AuthDB
- Client uploads a video file
- File gets uploaded to MongoDB using grifs, triggers a message with the topic "video"
- Consumer "Converter" receives the message from RabbitMQ exchange using topic routes to start processing the conversion of the video
- "Converter" publishes an event that the video conversion is done and ready to be downloaded to RabbitMQ
- "Notification" service receives the message and sends a notification to the client with the ID that can be used to download the MP3 File
- User authenticates again and uses ID received in the notification to download the MP3 version of the video uploaded.