An online jukebox application for creating a collaborative music queue through a round-robin system. Made with Flask, Python, and HTML/CSS/JS.
Developed by Charlotte George, Matt Marafino, Saavan Tandon, and Jinna Smail as part of the CSHacks and Opcommathon hackathons.
Available at catjam.csh.rit.edu. Note: The site is behind authentication and is only available to CSH members.
- Search for songs + add songs and playlists to a personal queue
- Round-robin queue system
- Manage queues in admin panel
- Spotify API and YouTube API integration
- Updates queue in real time for users
- Real-time BPM analysis
In your terminal, clone into the repo. Make a new .env file that looks like this:
DEBUG=False
SECRET_KEY=""
CLIENT_ID=""
CLIENT_SECRET=""
OIDC_CLIENT_ID=""
OIDC_CLIENT_SECRET=""
SSH_HOST=""
SSH_USER=""
SSH_PASSWORD=""
Reach out to an RTP to get OIDC credentials to enable CSH authentication, and either an RTP or a CatJam admin to get SSH creds for the PI hosting the display.
Replace the CLIENT_ID
and CLIENT_SECRET
values with your Spotify client ID and secret.
SECRET_KEY
is just a Flask secret key.
To get your client ID and secret, head to https://developer.spotify.com/dashboard and make a new app. When you're done, go to Settings to find your ID and secret. In order for your creds to work properly, you'll need to add http://localhost:8080/callback
to the Redirect URIs in your Spotify app settings.
To run the server locally, make sure you have Docker and Docker Compose installed. Then, run docker-compose up --build
in the root directory of the project. The server will be running on localhost:8080.