The main function of the Recommendation service is to to perform the initialFetch job which is scheduled by the SpotifyService and to perform timely update users music data and friends recommendation.
Although noSQL database is used but a proper Schema is maintained.
Same as in SpotifyService.
Same as in SpotifyService.
Same as in SpotifyService.
Fetches the scheduled jobs from Redis and process them.
Fetches the initial music data of the user using spotify web API, and processes it and uses Weighted Jaccard Index to calculate the similarities between users and calculate recommendations.
It also schedules a scheduledFetch job which is scheduled once every week.
It runs once every week and update the user data from spotify and updates their recommendation.