Skip to content

FabricLabs/soundtrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

878c3f9 · Dec 20, 2017
Jan 11, 2016
Apr 5, 2015
May 4, 2015
Jan 11, 2016
Nov 21, 2015
Sep 19, 2016
Feb 10, 2015
Dec 20, 2017
Feb 10, 2015
Jan 20, 2015
Feb 10, 2015
Dec 10, 2013
Apr 4, 2015
Aug 13, 2014
Oct 26, 2013
Jan 11, 2016
Mar 29, 2015
Nov 11, 2013
Aug 9, 2014
Sep 18, 2015
Jul 30, 2016
May 25, 2015
Jan 28, 2015

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 [email protected]: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.