Skip to content

Frontend and Backend for Spotify Party Jukebox with Voting

Notifications You must be signed in to change notification settings

th0rn0/lanops-spotify-jukebox

Repository files navigation

Spotify Jukebox

Spotify Jukebox System inititally created for LanOps.

API

Written in GO using the https://github.com/zmb3/spotify package. Refer to the postman collection for the endpoints

Features

  • Add/Remove/Skip Tracks
  • Voting system - Vote songs up to the top of the queue or remove them entirely
  • Admin Controls
  • Volume Controls
  • Works with any Spotify Device
  • Fallback Playlist when no songs in queue
  • Add Queued songs to Fallback Playlist

Prerequisites

  • Create App for Client and Secret Key. Make sure to set the callback url to the domain and have the callback path, for example http://localhost:8888/auth/callback
  • Copy the example env file cp .env.example .env
  • Fill in the .env file
    • Fallback Playlist can be any playlist. Use the full URI. If you wish to add queued songs to the playlist make sure the account being used has the sufficient permissions to the playlist. Make sure there is atleast 10 songs in this playlist

Install Dependencies

    cd api
    go mod tidy

Run

    go run .

Usage

To initate the player, you must first request the login link from the /auth/login endpoint. Then go to the returned link and log into Spotify. Once this has completed you must use the localhost:8888/device endpoint to set the Device.

To start the player goto the /player/start endpoint

Admin routes are behing Basic Auth Endpoints. The User is admin and the password is set in the env.

UI

Prerequisites

  • Copy the example env file cp .env.example .env
  • Fill in the .env file

Install Dependencies

    cd ui
    npm install

Run

    npm run dev

About

Frontend and Backend for Spotify Party Jukebox with Voting

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published