Skip to content

Latest commit

 

History

History
executable file
·
127 lines (88 loc) · 3.61 KB

README.md

File metadata and controls

executable file
·
127 lines (88 loc) · 3.61 KB

Playlistify

Playlistify creates playlists from your favorite artists' setlists and top songs.

Deployment

Try it out here: http://playlist-ify.herokuapp.com/

Currently deployed using Heroku.

Previously deployed using AWS and Amazon LightSail.

Contents

Technologies

  • Python
  • Flask
  • Werkzeug
  • PostgreSQL
  • SQLAlchemy
  • HTML
  • Jinja
  • CSS
  • Bootstrap
  • JavaScript
  • jQuery
  • AJAX
  • Setlist.FM API
  • Spotify Web API
  • Spotify Web Playback SDK

Features

Connect to Spotify

Users first connect their Spotify account. Playlistify uses the "Refreshable app authorization" flow, so users only need to connect once per session.

alt text

User Login

Users then can log in to their Playlistify account. Passwords are hashed using Werkzeug.

alt text

User Dashboard

Users can create new playlists, add to existing playlists, listen to existing playlists in browser, or add playlists to their Spotify account.

Create a Playlist

Users create a new playlist by providing a title and an artist name. The artist's setlist data is pulled from Setlist.FM to create the playlist.

alt text

Add to existing playlist

Users can add to an existing playlist by providing the playlist name and the artist they want to add.

alt text

Play playlist

Users can play, pause, and navigate tracks on their playlists in the browser. The web player functionality is built using the Spotify Web Playback SDK.

alt text

Add playlist to Spotify

Users can add their playlists to Spotify.

alt text

Future Features

  • Display currently playing song
  • Autocomplete add to existing playlist
  • Autocomplete artist search

Installation

To run Playlistify on your own machine:

Clone or fork this repo:

https://github.com/vivsnguyen/playlistify.git

Create and activate a virtual environment inside your Playlistify directory:

virtualenv env
source env/bin/activate

Install the dependencies:

pip install -r requirements.txt

Sign up to use the Spotify API and Setlist.FM API

Save your API keys in a file called secrets.sh using this format:

export SETLIST_FM_API_KEY=YOUR_KEY_HERE

export SPOTIPY_CLIENT_ID=YOUR_KEY_HERE

export SPOTIPY_CLIENT_SECRET=YOUR_KEY_HERE

Source your keys from your secrets.sh file into your virtual environment:

source secrets.sh

Set up the database:

createdb playlist-creator
python3 model.py

Run the app:

python3.6 server.py

You can now navigate to 'localhost:5000/' to access Playlistify.