GitHub Burndown Chart as a Service http://radekstepan.com/burnchart
Go to file
Radek Stepan c3896a3598 es6 classes for React; closes #112 2016-06-08 15:05:07 -04:00
bin add support for querystring config; ref #118 2016-06-08 12:01:55 -04:00
public es6 classes for React; closes #112 2016-06-08 15:05:07 -04:00
src es6 classes for React; closes #112 2016-06-08 15:05:07 -04:00
test stub lscache; ref #120 2016-06-08 12:08:59 -04:00
.babelrc es6 classes for React; closes #112 2016-06-08 15:05:07 -04:00
.gitignore docs 2016-01-26 12:45:23 +01:00
.nvmrc skeleton with latest React 2016-01-12 14:55:48 +01:00
.travis.yml travis ci 2016-01-26 17:52:53 +01:00
LICENSE docs 2016-01-26 12:45:23 +01:00
Makefile serve through npm, dev and gh-pages; closes #106 2016-01-26 12:17:40 +01:00
README.md add support for querystring config; ref #118 2016-06-08 12:01:55 -04:00
index.html serve through npm, dev and gh-pages; closes #106 2016-01-26 12:17:40 +01:00
package.json es6 classes for React; closes #112 2016-06-08 15:05:07 -04:00
screenshots.jpg docs 2016-01-26 12:45:23 +01:00

README.md

#burnchart

GitHub Burndown Chart as a Service. Answers the question "are my projects on track"?

Build Status Dependencies License

image

##Features

  1. Running from the browser, apart from GitHub account sign in which uses Firebase backend.
  2. Private repos; sign in with your GitHub account.
  3. Store projects in browser's localStorage.
  4. Off days; specify which days of the week to leave out from ideal burndown progression line.
  5. Trend line; to see if you can make it to the deadline at this pace.
  6. Different point counting strategies; select from 1 issues = 1 point or read size from issue label.

##Quickstart

$ npm install burnchart -g
$ burnchart --port 8080
# burnchart/3.0.0 started on port 8080

##Configuration

At the moment, there is no UI exposed to change the app settings. You have to either edit the src/config.js file or use URL query string parameters to override these on a per-user basis.

###Config Fields

An array of days when we are not working where Monday = 1. The ideal progression line won't drop on these days.

"off_days": [ ]

Choose from ONE_SIZE which means each issue is worth 1 point or LABELS where issue labels determine its size.

"points": "ONE_SIZE"

If you specify LABELS above, this is the place to set a regex used to parse a label and extract points size from it. When multiple matching size labels exist, their sum is taken.

"size_label": /^size (\d+)$/

You can also create your own app theme. Create a LESS file following the example of the default app theme, "monza", in src/less/themes/monza.less, include the file in src/less/burnchart.less and finally specify the theme in the config:

"theme": "monza"

###URL Query String

The main config file can be overriden by passing URL query string parameters. This allows app customization on a per-user basis. We use the qs library to parse and lodash to merge in the new values. The following example will switch off the main theme and set off days to fall on the weekend:

?theme=raw&chart[off_days][0]=0&chart[off_days][1]=6

##Development

To run your local version of the app, install all the NPM dependencies, watch the source files in one window, and start the static file server in the other in --dev mode.

$ nvm use
$ npm install
$ make watch
$ make start-dev
# burnchart/3.0.0 (dev) started on port 8080

###GitHub Pages

To serve the app from GitHub Pages that are in sync with master branch, add these two lines to .git/config, in the [remote "origin"] section:

[remote "origin"]
  fetch = +refs/heads/*:refs/remotes/origin/*
  url = git@github.com:user/repo.git
  push = +refs/heads/master:refs/heads/gh-pages
  push = +refs/heads/master:refs/heads/master