Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Mixes for the masses. is the complete, concise, organized, and handpicked stockpile of the best DJ mixes from around the world.

Built with Rails and Backbone.js hosted on Heroku.


I built to accomplish 2 things:

  • To have a place for me and everyone else to go and listen to the best mixes from all over.
  • To gain experience with Backbone.js building a real world app.

With that said some things are probably a little rough. You'll find hacks, CCS that isn't being used, unused templates and views, and places where there is probably a better way to doing things.

I am open sourcing this because I think it is a decent example of how to go about building a JS app with Backbone. The tutorials and such out there in my opinion never go deep enough so I hope this fills that gap for people wanting to learn.

Also, this should not be seen as "just an example". I will continue to develop, fix, and improve this over time and you are more then welcome to contribute :)

Running Locally

Note: I am running ruby 1.9.3

Grab the source

$ git clone git://
$ cd mixturefm uses MongoDB so you'll need to grab that.

$ brew install mongodb

When this is finished installing it will spit out some info in regards to running the mongod daemon and where the config files are located. You may want to take note for later use in the Procfile.

I also use elasticsearch.

$ brew install elasticsearch

When this is finished installing it will spit out some info in regards to running the elasticsearch daemon and where the config files are located. You may want to take note for later use in the Procfile.

You will also need Pow installed. The reason for this is because the api sits under and api subdomain and pow was the quickest/easiest way I was able to handle subdomains routing to the app locally.

$ curl | sh
$ cd ~/.pow
$ ln -s /path/to/repo

Now install Bundler if you don't already have it installed and install all the gems.

$ bundle install --path .bundle --binstubs


You may need to edit the accordingly with the correct paths to the config files. I provided some example config files in config/examples. If you would like to use these just run these commands from the root of the repo.

$ cp config/examples/mongoid.yml config/
$ cp config/examples/elasticsearch.yml config/
$ cp config/examples/mongod.conf config/
$ cp config/.env .

You'll need to edit the .env file and fill in all the variables with valid keys and tokens.

Run the thing!

$ bundle exec foreman start -f

Now you can visit and you should be up and running. If you have issues getting it working, send me an email.


You can fix bugs all you want! If you are wanting to add a feature please let me know about it before you go head first into dev so we can make sure it is a feature the app needs. Checkout the issues for bugs to squash and potential features to implement.

Right now my branches are pretty simple. There is no staging server and no tests;) So be sure to right tests or test things manually before sending a pull request.

As I said, my branches are simple. What is in master is currently running on the server. develop houses everything that will be deployed next time I deploy. When I work on a new feature or bug fix I create a new branch with the wonderful git_remote_branch then merge it into develop. When it comes time to deploy I merge develop into master and push it to Heroku.

Please email me with any questions.


Mixes for the masses.







No releases published


No packages published