johnkferguson / octomaps

Octomaps displays all contributors to an open-source project on a map based upon the contributor's location.
http://octomaps.com/
MIT License
15 stars 3 forks source link

Octomaps

Build Status Code Climate

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' Key Components

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

Running Octomaps on Your Local Machine

  1. Fork the repository.
  2. Run bundle install.
  3. Make sure you have a working PostgreSQL. Run rake db:create db:migrate. If needed, adjust your database configuration in config/database.yml.
  4. Run rackup and start playing with Octomaps at localhost:9292!

Contributing to Octomaps

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

About Us

Octomaps was built by John Kelly Ferguson, Justin Kestler, Masha Rikhter with design help from Ana Asnes Becker while attending the Flatiron School.