Skip to content

Java MVC web-application on servlets, that uses PostgreSQL via JDBC. This app is used to suggest new songs for you, analyzing your musical preferences.

Notifications You must be signed in to change notification settings

kerrrusha/playlist-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Playlist Assistant

Java MVC web-application on servlets, that uses PostgreSQL via JDBC. This app is used to suggest new songs for you, analyzing your musical preferences. As of 11/25/2022, the site is hosting in the Google Cloud and available at: https://playlist-assistant-369622.oa.r.appspot.com/

Technical notes

The application uses artists and tracks data from public APIs, such as: iTunes, LastFM and Deezer. Architecture - Monolith. In the case of a possible transition to a microservice architecture, such modules can be distinguished:

  • Infrastructure (work with database)
  • Parser (receiving JSON information with API and subsequent mapping)
  • Playlist Assistant (an service that generates suitable playlist based on selected artists). The project uses caching to avoid frequent requests to third-party APIs. To update the list of current artists, there is a background daily task.

Playlist Assistant Workflow

playlist-assistant-workflow

Usage features

To work with the application you need to register. It is necessary in order to maintain your musical preferences and the playlist formed on them. So, you can return to it after time, and get set of your offered songs. After registration, you will be asked to choose your favorite artists. Based on your choice, musical preferences will be formed. After that, you’ll be able to see your suggested playlists on the main page. If you would want to change your favourite artist choice, you can deal with it via corresponding button on this page.

User Workflow

user-workflow

Class Diagram

class-diagram

Auth Page

image

Select Favourite Artists Page

image

Suitable Tracks Playlist Page

image

About

Java MVC web-application on servlets, that uses PostgreSQL via JDBC. This app is used to suggest new songs for you, analyzing your musical preferences.

Resources

Stars

Watchers

Forks

Packages

No packages published