Github Contributors
JavaScript Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
lib
public
test
views
.gitignore
.rvmrc
.travis.yml
Gemfile
Gemfile.lock
LICENSE
Procfile
README.md
Rakefile
app.rb
config.ru

README.md

GitHub Contributors Build Status

This repo contains the app powering GitHub Contributors, a site I did some months ago when I had with some free time ;) I'm not adding any more features to it, so I decided to open source it, in case you can find it useful, or want to contribute something.

Set up

The stack is quickly described in the FAQ. So you need Ruby 1.9.3 and CouchDB (in production it uses Cloudant). Apart from that, all other dependencies are specified using bundler so there should be no problem.

Rake tasks

There are three rake tasks you need to use to setup the app:

  • rake db:setup: this one sets the database up (creates the views). It doesn't touch the data so you can rerun it, but bear in mind that if you have lots of data, regenerating the views will take some time
  • rake data:get: this one loads an initial data set of repos. It does so by scraping this page so it can break whenever this page changes (it might actually be already broken)
  • rake update:current: the DB automatically mantains a series of 24 batches of repos. These batches are meant to update one per hour, so every repo gets updated once per day, while not making an insane amount of queries to the GitHub API all at once. This task updates a batch based on the current time, and it's meant to be called by cron once per hour.
  • rake update:batch[N]: Updates a specific batch from 0 to 23 (for debugging purposes).

That's it! To contribute, fork & send pull requests!

To do

Bear in mind this is my roadmap, but if you contribute something else and it's cool, I'll merge it anyway :)

  • Detect forks and mirrors and display only the main repo (see issue #6)
  • Some nice design ;)
  • Show most interesting/recent/active users in home page instead of a fixed list

Copyright & Licensing

Copyright (c) 2013 Sergio Gil. MIT license, see LICENSE for details.