Crucible Survivor - a code review dashboard

Crucible Survivor Dashboard
Crucible Survivor Dashboard

I've talked a lot about the importance of code reviews and developer feedback

Crucible Survivor is a Hall of Fame / Hall of Shame dashboard that helps to encourage completing your reviews.

It integrates with with Crucible (obviously) for code review stats.


The scoring is pretty simple right now. Each reviewer gets a Fame point for completing a review, and a Shame point for each review they have not yet completed.

We've had this running for a few months now, and the general thinking is it would be better to have open reviews be more shameful the longer they have been kept open. Maybe a future improvement.

Design / Credits

The design is taken from Jira Survivor, which itself was forked from Github Survivor.

Code and Application Architecture

The code is a large departure from the original projects. The original projects use MongoDB to store data scraped from the github/jira APIs, and a python web app to serve the site.

Crucible Survivor is an angular app that is mostly static. The review stats are included in the app as a JS include. The app is hosted as a static website in S3, with the contents of the stats JS generated periodically by a jenkins server.

This was a hack-day experiment in 'static' dashboard apps, and I'm really happy with how it came out. I really like how gathering the content to display is decoupled from the display. Serving the site requires no server infrastructure, and the update process can be very flexible. Finally, it's incredible easy to test/run locally -- just generate a fake stats file and open the site.

Grab the code, get it running!

The code is open sourced, and available on github along with instructions on configuring, running, developing.

I'd love to hear any feedback or comments.