effective-memory

Bython Canidate Test

Requirements

The task is to create a web application utilizing the MEAN Stack, http://mean.io/. Will be looking for unit tests and project structure as well as simplicty and clarity.

User Stories

  • As a user I would like to be able to login to the application via my Spotify account.
  • As a user I would like to view the list of tracks in my Spotify library.
  • (Bonus) As a user I would like to be able to click a play button displayed next to each track in the list in order to listen to that track on the device where my Spotify account is currently active.
  • (Bonus) As a user I would like to see a count of how many times I've clicked the play button per track.

The tracks retrieved should be stored locally and only periodically refreshed from the Spotify API.

Authentication

The application should use JWT for authentication.

Resources

https://developer.spotify.com/web-api/authorization-guide/ The application should use the Authorization Code authenitcation flow.

https://developer.spotify.com/web-api/get-users-saved-tracks/

https://developer.spotify.com/web-api/get-information-about-the-users-current-playback/

https://www.sitepoint.com/user-authentication-mean-stack/

Wireframes

Login page login page wireframe

Track list page track list wireframe