Skip to content

tomzorz/PugetSound

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PugetSound

PugetSound allows you and your group to enjoy music together using Spotify. Public production instance: https://pugetsound.party - you can also follow https://twitter.com/PugetSoundTwit for updates.

The main inspiration for this project was AuxParty, but I wanted to improve on the concept in a few ways:

  • play music from the Spotify client
  • remove the need to keep the browser page open, handle the logic on the backend
  • remove the arbitrary 5 DJ limit
  • make it more stable (although the stability issues might've been caused by the recent increase in use)

Contributing

Please read contributing before submitting any PRs.

Getting it to run

There's only one mandatory requirement: you'll need to create a Spotify App in their Dev center: https://developer.spotify.com/dashboard/applications

Optionally you can also set up Seq for a nice logging/monitoring interface: https://datalust.co/seq

The app needs the first 2 environment variables out of the 4 below to be set, otherwise it's "F5 ready" upon checkout.

Variable name Value
SpotifyClientId Spotify App Client ID acquired from the Spotify Developer page
SpotifyClientSecret Spotify App Client secret acquired from the Spotify Developer page
SeqClientAddress Address for the Seq logging intake
SeqApiKey API key created for PugetSound in Seq

How it works

PugetSound creates a playlist called "PugetSound Queue" in your Spotify account. When you join a room and become a DJ, you'll take turns to play a song for the room members. When it's your turn, the first song from your queue playlist will be played for everyone, and it'll be also removed from said playlist. (Therefore it's not recommended to use it for other purposes.)

Unlike other solutions, PugetSound handles the synchronization and queueing on the backend, so it's not necessary to keep the tab open - as long as you have a Spotify player open on a device. This also means that you need to re-enter the room and explicitly press the [Leave room] button to retake control of your Spotify account.

Made with

Built on ASP.NET Core 3.1. Uses SignalR for communication with the front-end. Musical parts handled by SpotifyAPI-NET and AspNet.Security.OAuth.Spotify.

About

PugetSound allows you and your group to enjoy music together using Spotify.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published