Skip to content

Collect, aggregate and generate personalized playlists for users

Notifications You must be signed in to change notification settings

Project-Sonata/Viola

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Viola

Viola is a part of Sonata Project responsible for analyzing the user music preferences and generation of the playlists based on this

Architecture

Aggregator

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

On Repeat

Service is responsible to generate the On-Repeat playlist

Architecture

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

About

Collect, aggregate and generate personalized playlists for users

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published