Online music player
Python JavaScript CSS Shell
Latest commit 82cbc4a Dec 3, 2014 Per Thulin Adjustments
Failed to load latest commit information.
dateutil Added cron job to get last_updated on external_users Jan 27, 2013
dropbox Add a dropbox connection to your account Jan 10, 2013
html Adjustments Dec 2, 2014
images Remove install-on-chrome-web-store puff/promotion Jul 15, 2014
make Removed fastclick Dec 24, 2012
scripts New SoundCloud API key Sep 26, 2014
styles Remove install-on-chrome-web-store puff/promotion Jul 15, 2014
.gitignore Remove install-on-chrome-web-store puff/promotion Jul 15, 2014
MIT-LICENSE.txt Add MIT-LICENSE text file Jul 23, 2011
README.md Adjustments Dec 2, 2014
activities.py Remove flattr-related stuff Jul 15, 2014
alternatives.py Set debug to off Dec 30, 2013
app.yaml Adjustments Dec 2, 2014
appengine_config.py Enabled app stats Sep 3, 2012
config_template.py New SoundCloud API key Sep 26, 2014
cron.yaml Prepared for complete shutdown Dec 1, 2014
dropbox-handler.py Set debug to off Dec 30, 2013
external_users.py New SoundCloud API key Sep 26, 2014
favorites.py Set debug to off Dec 30, 2013
happytranslate.py Set debug to off Dec 30, 2013
index.yaml Updated external_users with last_checked so all get checked by the cr… Mar 14, 2013
lastfm.py Moved LastFM settings to config Jul 15, 2014
mail.py Set debug to off Dec 30, 2013
main.py Set debug to off Dec 30, 2013
me.py Remove flattr-related stuff Jul 15, 2014
migrations.py Remove flattr-related stuff Jul 15, 2014
model.py Remove flattr-related stuff Jul 15, 2014
opensearch.xml Added www to address in opensearch.xml Jul 27, 2012
ping.py Set debug to off Dec 30, 2013
playlists.py Set debug to off Dec 30, 2013
playlists_toplist.py Set debug to off Dec 30, 2013
robots.txt Updated robots.txt Sep 2, 2012
soundcloud_id_to_permalink.py New SoundCloud API key Sep 26, 2014
sucks.py Set debug to off Dec 30, 2013
translations.json Update translations Jul 15, 2014
users.py All playlist requests now returns playlist overviews Dec 30, 2013
youtify.webapp Updated Youtify's logo and banner. Added guidlines to /logo Jul 27, 2012

README.md

Youtify is an online music player.

Code Style

Filenames are PascalCased and match the class name. Example:

ContextMenu.js

Namespaces are always PascalCased. Example:

var TopList = {
}

Classes are always PascalCased. Example:

function PlaylistManager(foo, bar) {
}

Variables are camelCased. Example:

var playlistManager = ...;

Global functions and variables should be avoided and are only allowed in Main.js

Namespaces and classes are always put in files with the same name.

How to get the development environment set up

  1. git clone git@github.com:youtify/youtify.git
  2. Download and install the Google AppEngine SDK http://code.google.com/appengine/downloads.html
  3. From the GAE SDK, select File -> Add Existing Application -> Select the Youtify git repository folder you just checked out
  4. Start Youtify from the GAE SDK
  5. You're done! Navigate your browser to http://localhost:8080 (or whatever port you selected).

Build & Deploy

When developing, Youtify requests all script files individually. However, on the production envrioronment we use a one big minimized script. To generate this script, you need to run our build system.

Dependencies: python 2.7 and node 0.8.2 needs to be installed.

$ cd YOUTIFY_DIR/make

Install JSLint, UglifyJS and other dependencies:

$ npm install

To run the build system:

$ node make/generate_production_javascript.js