Octomaps plots the locations of contributors to any open-source project on a map.
Check out Octomaps in action here: http://www.octomaps.com
Octomaps is built with Ruby and uses the Sinatra web framework.
All information regarding contributors to a Github repository and those contributors' locations are retrieved using the Github API. Github's API is very robust and its documentation is quite thorough. The relevant parts that Octomaps utilizes are: (1) retrieving a list of contributors to a project & (2) getting a user's location.
Octomaps uses Octokit, a GitHub API wrapper, to ineract with the Github API. All data retrieved through the API is returned in JSON.
Datamapper is used to interact with the data that is stored in a Postgres database.
Locations are plotted using the Google Visualization API and its corresponding Ruby wrapper, Google Visualr.
For a much more granular perspective on how Octomaps' code works, check out A Step by Step Overview of How Octomaps Works
bundle install
.rake db:create db:migrate
. If needed, adjust your database configuration in config/database.yml
.rackup
and start playing with Octomaps at localhost:9292!If you'd like to contribute to octomaps, fork our repository and submit a pull request. Also, be sure to check out our issues page for a list of things we are working on.
Run tests:
psql -c 'create database octomaps_test;'
PADRINO_ENV=test bundle exec rake db:migrate
bundle exec rake
Octomaps was built by John Kelly Ferguson, Justin Kestler, Masha Rikhter with design help from Ana Asnes Becker while attending the Flatiron School.