tellessa / AlbumAnalyzer

MIT License
1 stars 1 forks source link

Fetch and display data from multiple APIs in a GUI project #18

Open tellessa opened 2 years ago

tellessa commented 2 years ago

Netflix- recommended YouTube Geographical databases Instagram OpenAI- signed up already Pexels Imdb https://pypistats.org/api/

Plan: Build on the success of using the Spotify API.

  1. provide inputs for username and password before trying to make API request.

Discovered that I've been retrieving the track's audio features, whereas I can also make a GET request to retrieve a track object. This track object has more general information included.

  1. Use another API! At first just make it work for the second API as well. Later, Be able to use both without killing the app.
  2. Integrate more functions
  3. Clear the UI when the button for the second api is clicked, and vice versa- perhaps only add the labels when the "Get Audio Features Button is clicked" and remove them when a different button is clicked.
  4. Save audio feature results in a MySQL database
  5. Add another button to compare the saved results
  6. Recreate the same functionality in a django project
    • [x] Create a song model attached to a serializer
    • [x] Add all of the most interesting attributes to the song model, e.g. acousticness etc.
    • [ ] A user should be able to save a collection of audio features of chosen/searched songs
    • [ ] Eventually, a user should be able to simply give permission and the app will store all the audio features of their library, for example their favorite playlist.
    • [ ] Create a view that takes a user's search string and returns the top 10 track results from spotify's track search endpoint. Basic functionality already exists, just need to connect it to Django.

Maybe the top ten results should populate into a QComboBox, with a QPushButton attached TODO: Connect to the song's audio Even though the goal is to help listeners understand audio features of songs, letting them hear the song's audio is super pertinent

tellessa commented 1 year ago

Since we know we're searching for tracks, we can use the type=track filter, e.g. q=abacab&type=track.

tellessa commented 1 year ago

Found the descriptions of the audio features! https://developer.spotify.com/documentation/web-api/reference/#/operations/get-audio-features

tellessa commented 1 year ago

Notes about spotify's web ui:

When you search tracks in the spotify web player, you see the top four results You get the track's icon which reveals a play button on hover, and a tool tip You see the artist name small below the track; the artist's name has a URL for the artist's page if you click on it. You can click a heart icon to add it to your library By default queries search all, but you can filter to song If we filter to songs, we see a tabular view- 4 cols: result #, title, album, and duration Title actually shows the artist and art as well