Exercise - Song Radio
Exercise - Song Radio
Create a REST API using C# Minimal APIs.
- REST API
- Insert Song (POST)
- Update Song (PUT)
- List all songs (GET)
- Play a song (POST)
- View most played songs per category (GET)
Azure Table Storage
All songs should be stored in a single table in Azure Table Storage. Store all played songs in a separate table. Every time a song gets played, add an entry to that table.
Every time a song gets played, send a message via RabbitMQ. The consumer of that message will analyse the played songs. And creates an aggregate that allows to view the top 5 played songs per genre. The results should be stored in a separate table in Azure Table Storage.
TODOS:
- Create a C4 container diagram
- Setup RabbitMQ and Azurite containers
- Create REST API
- Create Aggregator Console Application
- Dockerize REST API and Aggregator
- Create docker-compose.yaml for complete system