Viola is a part of Sonata Project responsible for analyzing the user music preferences and generation of the playlists based on this
Single entrypoint collects the user data, enrich the events and generate the parquet
- Consumes the messages from Apache Kafka, primary generated by Sonata-Connect service
- Enriches the event with information, such as genre of the track, artist, etc
- Generates the parquet with this information and saves it to storage
Service is responsible to generate the On-Repeat playlist
Sonata Connect -> Aggregator -> S3/local storage with parquet files
Spark Job (On Repeat) -> consume parquet data -> the songs listened the most during the week -> send to kafka topic playlist-generation -> consumed by PlaylistGenerationService -> generate cover, name and playlist description -> playlist generated event -> -> consumed by playlist service -> save it to user library