GitHub Burndown Chart as a Service
GitHub Burndown Chart as a Service. Answers the question "are my projects on track"?
$ npm install burnchart -g $ burnchart --port 8080 # burnchart/3.0.0 started on port 8080
At the moment, there is no UI exposed to change the app settings. You have to either edit the
src/config.jsfile or use URL query string parameters to override these on a per-user basis.
An array of days when we are not working where Monday = 1. The ideal progression line won't drop on these days.
"off_days": [ ]
ONE_SIZEwhich means each issue is worth 1 point or
LABELSwhere issue labels determine its size.
If you specify
LABELSabove, 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.lessand finally specify the theme in the config:
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:
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
$ nvm use $ npm install $ make watch $ make start-dev # burnchart/3.0.0 (dev) started on port 8080
To serve the app from GitHub Pages set the "Source branch" in the
/settingspage of your repository.
Then, signup for Firebase and go to your console and create a new project there.
You can leave the Database/Storage section as is, you only want to configure your "Authentication". There, enable "GitHub" and add your domain in "Authorised domains". Mine is set to
type: Custom. If you want to run the app locally, you may want to add
Since you are using your own Firebase project, you want to copy a couple of keys/ids into the
firebase.apiKeyis "Web API key" from the "Settings" page (in "Project Overview")
firebase.authDomainis one of the authorised domains in "Authentication", then "Sign-in method"
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"] fetch = +refs/heads/*:refs/remotes/origin/* url = [email protected]:user/repo.git push = +refs/heads/master:refs/heads/gh-pages push = +refs/heads/master:refs/heads/master