Skip to content

Self-hosted collaborative music playing application.

Notifications You must be signed in to change notification settings

martindale/soundtrack.io

 
 

Repository files navigation

soundtrack.io

Build Status Coverage Status

soundtrack.io is a collaborative online jukebox. It is an experimental Internet radio platform. Vote on what plays next, like Reddit for music. Aggregates streams from sources like YouTube and SoundCloud, so when a song is queued, it has multiple locations to play from if any one source fails for any particular reason.

Getting Started

Before you begin you will need to have nodejs, redis, and mongodb installed. Homebrew is recommended for OS X users.

brew install nodejs mongodb redis

In the logged output, you'll find some instructions for starting both mongodb and redis – you can follow those instructions, or execute once with redis-server & mongod &

Once you have them installed (and running!), go ahead and clone the repository.

git clone git@github.com:martindale/soundtrack.io.git
cd soundtrack.io

You will need to fetch the dependencies and then you can start up the server.

npm install
node soundtrack.js

Testing Rooms

Now that soundtrack has multiple rooms, you'll need to configure your local hostname lookups to point at the appropriate locations. In /etc/hosts (or equivalent for your OS):

127.0.0.1 localhost.localdomain
127.0.0.1 test.localhost.localdomain

You'll need to add an entry for each subdomain you want to test. Also, the .localdomain component is important for sessions, as some browsers expect a top level domain for cookies to work correctly!

API

Deleting tracks: $.ajax('/playlist/520e6bda3cb680003700049c', { type: 'DELETE', data: { index: 1 } });

Contributing

Want to help? Claim something in the "ready" column on our Waffle.io by assigning it to yourself.

Fork. Commit. Pull request.

About

Self-hosted collaborative music playing application.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 82.5%
  • CSS 10.7%
  • HTML 6.8%