Find our app here! (App no longer live)
Watch a demo here!
Jimmy Jams is a web application that allows people to request music in real time. Hosts of a party can create a “music room” with a corresponding name and key. After inputting the music room credentials, a user can enter the room and input a song, which is added to the playlist queue via the Spotify API. The host of the room will receive a hyperlink to the Spotify playlist, playable from any device.
Jimmy would like to take music requests at his party. Here's how he will do it with Jimmy Jams.
- Jimmy creates an account and links it to his Spotify account.
- Jimmy sets up a room by creating a room name and key. These credentials are personally distributed to his friends at the party.
- Jimmy's friends request songs via the app's search feature, which are saved in the SQLite3 database.
- Jimmy's account will auto-refresh to retrieve songs from the database and push them onto Jimmy's playlist.
- Jimmy can visit the collaborative playlist on the app or on Spotify.
- Python 2.7
- Flask
- SQLite3
- HTML/CSS
Flask needs to be installed in order to run this program locally. It is ideally stored in a virtual environment (venv).
To install a venv called <name>
, run these commands in your terminal:
$ pip install virtualenv
$ virtualenv <name>
On Mac/Linux, start up your venv with:
$ . <name>/bin/activate
On Windows:
$ . <name>/Scripts/activate
In your activated venv, run the following:
$ pip install flask
Download SQLite3 here.
This app utilizes the Spotify API and requires credentials from the app.
For your Spotify API credentials:
- After logging in, click Create a Client ID in the upper-right corner.
- Enter app name, type, and description (Jimmy Jams, website, app that receives music requests and curates a Spotify playlist).
- In app settings, add
http://127.0.0.1:5000/apitest
as a redirect URI. - Your Client ID and Client Secret will appear on your dashboard.
Clone the repo and move into the utils directory:
$ git clone git@github.com:slau8/xx4.git
$ cd xx4/jimmyjams/utils
Create .api
and add your credentials in their appropriate location. For example:
{
"client_id": "this_is_your_client_id",
"client_secret": "this_is_your_client_secret"
}
With your virtual environment activated, run:
$ cd ..
$ python __init__.py
You can now view the webpage by opening the URL localhost:5000
in Chrome, Firefox, or Safari.
Shannon Lau, Tiffany Moi, Joyce Wu, Helen Ye
Name | Role |
---|---|
Shannon (PM) | Front-end |
Tiffany | Database interaction |
Joyce | Playlist modification |
Helen | Spotify authorization |