Sonica is a FOSS party music player, that allows everyone to easily add music via a webpage, without any need for creating accounts or pairing using proprietary apps.
The system uses a client-host architecture, with the host playing the music and many different clients being able to connect to the host and queue music. This also means that people do not have to use the same device for queuing and limits can easily be set to how much each client can change the queue.
The system was originally a combined player and client based around a chat-bot, but the second generation was created as a client-host architecture communicating with gRPC. This has some limitations, so together with Julian, i designed a new bidirectional communication protocol that can replace gRPC.
Simon Vinberg Andersen
Mathias Knøsgaard Kristensen
Felix Cho Petersen
Sebastian Hjorth Hyberts