Test 6 - last.fm top 9 Rock artists

Using Angular, Bootstrap 4 and the last.fm API, create an app which will display top 9 Rock artists, their albums and tracks.


The app should contain two pages:

  1. The homepage should display top 9 Rock artists in a card-based layout (320x320px)
    • The front page of the card should contain the artist's photo, rank and name
    • On mouseover, the card flips around the vertical axis and the back side of the card is shown.
    • The back side of the card should contain:
      • the artist summary which is limited to 300 characters,
      • the Albums button which navigates to the page that displays the album list for the selected artist
  2. The Albums page should display the maximum of 9 albums, which should also use a card-based layout (the same dimensions as on the homepage)
    • The front page should contain the album cover and name
    • The mouseover event triggers the same animation which was used on the homepage
    • The back of the card should contain the Details button which opens modal window. Modal window should contain album title and tracklist (the track number and name). The click on the track navigates to the last.fm page for the selected track.
    • Implement the infinite scroll functionality - each time the user scrolls to the bottom of the page, another 9 albums and their tracks are loaded
    • Implement search functionality based on track name of artist
    • Search results should display list of track names. The click on the track name navigates to the last.fm page for the selected track.
    Pages should be responsive.


If you have any additional questions, feel free to send an email to jobs@rbt.rs

Please create a new GitHub repo and use it to upload the test solution along with the initialization instructions. Also send us your GitHub repo link along with your job application.

The test solution grading criteria are:

  • quality of the applied algorithm
  • code readability/cleanliness
  • code performance in terms of speed