I built this application mainly to learn Vue.js while on the bench, but also to make it easier to get artwork for my local media library. I started pulling data from iTunes Store API, which was rather easy. Apple makes this API public and it's pretty straightforward to get the data into Vuex store. Filtering by media type was also relatively straightforward. This project also allowed some experimentation with CSS Grid for layout.
Not all music is on iTunes however, so Spotify was the next logical data source. Spotify was a bit more challenging. Spotify requires authentication to access album information. The trickiest part of the capturing auth was maintain state of search while the user goes out and authenticates. The store needs to juggle a lot especially when pulling search from the URL query string and remembering search when switching between iTunes and Spotify.