Skip to content

Latest commit

 

History

History
70 lines (49 loc) · 2.89 KB

File metadata and controls

70 lines (49 loc) · 2.89 KB

Spotify Playlist Creator Project

Table of Contents

Description

A while ago I was struggling with finding new music to listen to, so I created a python script that uses the Spotify Web API to create custom playlists based on my music taste.

Recently I decided to give the project a facelift by creating a React frontend for it.

Technologies Used

  • Frontend: Javascript, React, HTML, CSS, Bootstrap, React Bootstrap
  • Backend: Python, Django, Django Rest Framework, Spotify Web API
  • Other: Docker, Selenium (for testing)

Demo & Features

Video Demo

Project Demo

Features

Spotify Login

Users are directed to the Spotify login when they attempt to create a custom playlist. They will remain logged in until the Spotify access token expires.

Project Screenshot

Playlist From Artist

Creates a playlist on the user's Spotify account consisting of songs similar to the specified artist.

Project Screenshot

Playlist From Genre

Creates a playlist on the user's Spotify account consisting of the top songs of the chosen genre.

Project Screenshot

Playlist From Top Tracks

Creates a playlist on the user's Spotify account consisting of their most listened songs during the selected time range.

Project Screenshot

Reflection

What did I learn?

  • Docker
  • Selenium
  • React Bootstrap

What were some challenges?

I would say the biggest challenge was figuring out how to handle authentication with the Spotify Web API.

How would I take this project further?

I would like to implement new ways to create playlists using the Spotify Web API; there are some really cool things to work with, like a song's audio features.

I would also really like to deploy this application when I have more time because I think it would be very helpful for those looking to find new music.

Contact

LinkedIn - Sam Chichester

License

This project is licensed under the MIT License - see the LICENSE file for details.