unforced / Ninja-viewer

View information generated by Ninja tool.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ninja

This is a tool used for viewing information generated by the Ninja tool. Ninja pulls information down from BigQuery(With githubarchive) and the Github API on the top 500 repositories(By number of forks) as of April 2012. It then generates a graph representing the connections between users. For a full write up of gathering all the data, you can check out the Ninja repository.

Ninja generates the Graphml files, which are then converted into JSON using Gremlin and Groovy, and further converted into the JSON format expected by D3JS. There are slightly less than 200 repositories with information available, as a large number of the top 500 repositories in April 2012, have stopped being active.

From the website, hosted at ninja.aaronneyer.com, you can select one of the repositories that has information, and view the social network for the repository as it changes over time. Nodes in the graph can be hovered to view the user being represented as well as see all of their connections highlighted. Connections vary in width depending on how many connections exist between two users.

Connections are formed by interacting within the repository. For example, an edge is created when a user comments on someones commit, or pull request, or issue, or likewise when someone closes or merges in someones pull request.

Credits and Tools used

BigQuery with Githubarchive was used for gathering most of the information, using the Ruby Google API Client

Github API was used for a few pieces of information not available on Githubarchive.

D3.js was used for generating the graphs, with assistance from this tutorial

The Ninja tool was developed as part of my work with Aron Lindberg, who is doing research at Case Western Reservve University involving Social Network Analysis on Github.

About

View information generated by Ninja tool.


Languages

Language:JavaScript 87.4%Language:CoffeeScript 10.3%Language:Ruby 2.3%