

While it’s extremly easy to get started by only using the browser, I suppose there are some situations where people would prefer to play music from their smart phone, Chromecast, or other device. The main weakness of Festify is that it’s only available on a desktop device, as the media playing protocol for using Spotify in the browser is not supported on mobile browsers.

The web app itself is in React and Typescript, while authentication and global state (the queue and votes) are handled by Google Firebase. The technology stack is based on various front-end web frameworks and libraries. They have an active account on Twitter, and have captured the top spot on Google search results when searching for “vote songs spotify”.
#INSTALL FESTIFY FULL#
They don’t work full time on it, but have been working steadily for several years, doing a great job.
#INSTALL FESTIFY CODE#
The source code is openly available on Github, and is maintained by what appears to be three German students. I have tried it without discovering any bugs, which together with having the basic features locked in, a clean UI, and no-installation setup, makes it the best social jukebox app out there, as far as I can tell. It has a nice UI, a search function, fallback playlists, and more. Participants join by visiting a url or entering the party name on the landing page. Festifyįestify is a web app that uses Spotify’s Web Playback SDK to play tracks directly in the party host’s browser. What will follow is the apps and websites doing that function that I know about, and concluding remarks about what yet another such service can do better and differently. The solution is, an idea as old as the good old jukebox, a computer program selecting songs in order based on input by the participants at the party. With Spotify’s queue, a carefully crafted queue can be ruined by one well-meaning contributor clicking the wrong button and erasing the queue. It can default to some bland music because nobody is willing to risk their reputation as a music connoseur by playing their guilty pleasure songs.

The party’s playlist can often be handled by a tyrant who has a very specific taste in music. Having participants at a party voting for songs to be played is a common app idea that is often mentioned, or silently thought about, when IT students have parties and social events with music. // NOTE: This method is not being tested here, code that uses this object is.My take on the current available “social jukeboxes” out there // In the real object, this method would do something useful, but since this // is a mocked object - we're just going to stub it out.

DoSomething is a method on MyMockedObject that implements some interface // and just records the activity, and returns what the Mock object tells it to. */ // MyMockedObject is a mocked object that implements an interface // that describes an object that the code I am testing relies on. The mock package provides a mechanism for easily writing mock objects that can be used in place of real objects when writing test code.Īn example test function that tests a piece of code that relies on an external object testObj, can setup expectations (testify) and assert that they indeed happened: package yours The require package provides same global functions as the assert package, but instead of returning a boolean result they terminate current test. If you assert many times, use the below: package yoursĪssert.Equal(123, 123, "they should be equal")Īssert.NotEqual(123, 456, "they should not be equal")
#INSTALL FESTIFY INSTALL#
