Discover your unique personal taste in music and discover what makes up the songs you listen to. On Spotify, every song has certain audio features such as acousticness, danceability, energy, and valence. Impressions averages each audio features across your wide-ranging spotify library and pops out a single number which represents where you fall on the scale. Also includes a library tab, with a Spotify Connect Player, to play any saved song and see the audio features of that specific song.
- MERN Stack (React/ Redux, Express, Node, MongoDB/ Mongoose) App
- Oauth2 flow using Passport.js and Spotify strategy. User data stored in Mongo database and browser cookie.
- Integrated Spotify SDK for real-time audio player
- Spotify Web API calls for playing music, fetching audio features, fetching user library, etc. using Axios
- Redux Thunk handles all async. functions using dispatch()
Libraries & frameworks used:
- Bootstrap for general css styling
- Tippy.js for tooltips
- React circular progressbar for displaying user's overall audio features
- Material Design Icons for music player buttons
When contributing to this repository, please first discuss the change you wish to make via issue, email, or other contact method with me before making a change.
That being said, any attempts to improve code efficiency, add new features, or fix bugs, are greatly appreciated!
This project is licensed under the MIT License - see the LICENSE.md file for details.