Giter Site home page Giter Site logo

pseudozidu / apollo-player Goto Github PK

View Code? Open in Web Editor NEW

This project forked from samcreate/apollo-player

0.0 2.0 0.0 12.43 MB

A Mopidy fronted community driven playlist. Driven by Node.js, Backbone.js, and Require.js

JavaScript 34.99% CSS 61.51% HTML 3.50%

apollo-player's Introduction

Apollo Player

Opensource community driven playlist using Spotify, Mopidy, Node.js and Backbone.js

alt text

alt text

Features

  • Simple and elegant group playlist
  • Song Bombs = 3 unique votes skips the track and "boos" the player
  • Search keywords or Spotify URI's
  • Play / Pause toggle
  • Default Playlist (plays when Apollo runs out of songs to play)

Get Started

Prerequisites

  1. Don't talk about Fight Club.
  2. You'll need to have a basic understanding of Node and Node's package manager. I'll add that I didn't have a basic understanding of Node at all before this project and used Apollo to help me learn it... So there's hope for you too!

Install and configure Mopidy

First we'll need to install Mopidy. Mopidy is a opensource music server that you can connect to many "frontends" or roll your own, which what Apollo is. To read more about Mopidy go here.

  1. Install Mopidy. Mopidy is an opensource music server that installable on OSX, Debian/Ubuntu, Rasberry Pi. *note: so far we've only tested on Debian and OSX.
    1. You'll need to do the Spotify installation
    2. Next you'll need to enable http on Mopidy
  2. Start Mopidy on the commandline (if this doesn't work check the mopidy docs, probably a python path issue.)
    $ mopidy
    
  3. Optional: You'll want to have Mopidy running in the background at all times for Apollo to work. You'll want to look into making Mopidy a Daemon so that if it crashes it will auto-restart.

Install Apollo

Now that you have Mopidy up and running, let's setup up Apollo as our Frontend for it.

  1. Clone Apollo to a local folder

    $ git clone https://github.com/samcreate/Apollo-Player.git
    
    $ cd Apollo-Player
    
  2. Install Node dependencies

    $ npm install
    
  3. Configure Apollo

    1. Create a file called config.js in root directory of Apollo
    $ touch config.js (or just create it with an editor)
    1. add this structure into config.js file:
          var config = {
              server: {
                  port: 3000,
              },
              "default_playlist_uri": "spotify:user:samcreate:playlist:30M46OlqukAmOgXgaJ0ohU",
              "htmlPretty": "true"
          };
      
          module.exports = config;
          
    2. Add your Spotify default playlist uri (this has to be a public playlist to work). This is what plays when all the songs in the queue have finished playing (required)
  4. Start Apollo

    $ node apollo.js

Once Apollo is started, navigate to your localhost: http://localhost:3000

Optionally on Debian/Ubuntu, you might want to start Apollo as a system service.

Finished!

Notes

  • If you change a value in config.js, you'll need to restart node (ctrl+c)
  • Apollo works best in Chrome.

Tech used

  • Frontend: Backbone, RequireJS, Bootstrap, Handelbars, Jade templating and stylus
  • Backend: Node.js, ExpressJS

Help? Bugs?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.