Skip to content

Exercise - Song Radio

Exercise - Song Radio

SongRadio.excalidraw.svg

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