Skip to content

A combination of git, D3, and MongoDB to show how much of a codebase each author wrote

Notifications You must be signed in to change notification settings

abmagil/carry_your_weight

Repository files navigation

Carry Your Weight

You know that dev who's never actually writes any code? The one who's always going on an on about "terseness" and "good design" and "not littering your codebase with needless boilerplate"? Don't you hate them? Don't you hate how they constantly replace your 14 classes with a single, well-documented, robust one? Well you'll need a tool to prove how little they contribute, and Carry Your Weight is that tool!

What Is It

Carry Your Weight is a quaint little webservice to crawl, blame, and graph, ownership of your entire codebase. Every file, every line, Carry Your Weight will tell you how much each contributer...contributed....

How It Works

Simply enter a GitHub repo name and Carry Your Weight will go get that repo and begin to crawl through its commits, going back to its very beginnings. At each commit, every line will be git blame'd and we'll begin to accumulate statistics for each contributer. As each commit is finished parsing, we'll send that information up to your browser and graph out ownership at that commit.

Carry Your Weight will continue this process until the entire repo (or at least the default branch of it) is parsed, giving you the information you need to prove that you, alone, are the most important developer!

Dev Setup

Carry Your Weight is a pretty standard rails application, with a few minor exceptions.

  1. We use rugged for parsing git repos. Installation of Rugged requires CMake, so be sure to have that (on Mac- brew install cmake) before attempting to bundle. Details can be found on Rugged's github page.
  2. We use MongoDB for a backing data store, to cache previously parsed commits. This must be installed prior to initial run.

Otherwise, the standard Rails conventions apply-

  1. git clone git@github.com:abmagil/carry_your_weight.git
  2. bundle install
  3. rails db:setup
  4. rails s
  5. Browse to localhost:3000

About

A combination of git, D3, and MongoDB to show how much of a codebase each author wrote

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages