Skip to content

Latest commit

 

History

History
83 lines (52 loc) · 2.71 KB

README.md

File metadata and controls

83 lines (52 loc) · 2.71 KB

Analyze your spotify data with plotly & spotify API

Analyze your Spotify data in Django app using authorization code flow 🎵 App renders different graphs using plotly.

  1. About The Project
      <ul>
        <li><a href="#built-with">Built With</a></li>
      </ul>
    
    </li>
    <li>
      <li><a href="#features">Features</a></li>
    </li>
    <li><a href="#contact">Contact</a></li>
    

About The Project

This app allows each user to see and analyze their spotify data shown as graphs. Different features such as top artists, genres and decades are compared. Data is fetched thanks to spotify API, Spotipy and OAuth Authorization Code Flow. Authorization token is stored in cache. The main goal of this project was to explore Plotly and to successfully apply Authorization Code Flow.

Short time results are based on streaming in the last month.

Built With

  • Python 3.10
  • Spotify API
  • Plotly for python 5.13.0
  • Django 4.10
  • Spotipy 2.22.1
  • OAuth 2.0
  • HTML5
  • CSS3

main page

Features

  • User can log in using authorization prompt. Successful authorization results in info: 'Congrats! You are authenticated!'
  • App shows user's top 10 artists & genres. Each artist is associated with one or more different genres. The bar chart in the app shows genres represented by these artists in a long term.
  • Top 50 songs' features - data fetched using spotify API consists of artists, songs and their features. Each one is described in a range from 0 to 1. Bar chart allows user to compare average score for each feature in their top 50 songs in short time and long time.
  • Correlation heatmap visualizing the strength of relationships between average scores for each feature in top 50 songs.
  • Average score for each feature in user's top 50 songs vs the score for world's current top 50 songs.
  • Pie charts which decades occur in ones top 50 songs and what percentage they are.

example bar chart
example pie charts

To be done...

  • deployment of the app - any free hosting with more memory than pythonanywhere

Contributing

If you have a suggestion that would make this better, please let me know 😄