82 lines
3.1 KiB
Markdown
82 lines
3.1 KiB
Markdown
|
#[burnchart](http://radekstepan.com/burnchart)
|
||
|
|
||
|
GitHub Burndown Chart as a Service. Answers the question "are my projects on track"?
|
||
|
|
||
|
![Build Status](http://img.shields.io/codeship/5645c5d0-4b7e-0132-641d-623ee7e48d08/master.svg?style=flat)
|
||
|
[![Coverage](http://img.shields.io/coveralls/radekstepan/burnchart/master.svg?style=flat)](<https://coveralls.io/r/radekstepan/burnchart>)
|
||
|
[![Dependencies](http://img.shields.io/david/radekstepan/burnchart.svg?style=flat)](https://david-dm.org/radekstepan/burnchart)
|
||
|
[![License](http://img.shields.io/badge/license-AGPL--3.0-red.svg?style=flat)](LICENSE)
|
||
|
|
||
|
![image](https://raw.githubusercontent.com/radekstepan/burnchart/master/public/screenshots.jpg)
|
||
|
|
||
|
##Features
|
||
|
|
||
|
1. Running from the **browser**, apart from GitHub account sign in which uses Firebase backend.
|
||
|
1. **Private repos**; sign in with your GitHub account.
|
||
|
1. **Store** projects in browser's `localStorage`.
|
||
|
1. **Off days**; specify which days of the week to leave out from ideal burndown progression line.
|
||
|
1. **Trend line**; to see if you can make it to the deadline at this pace.
|
||
|
1. Different **point counting** strategies; select from 1 issues = 1 point or read size from issue label.
|
||
|
|
||
|
##Quick Start
|
||
|
|
||
|
```bash
|
||
|
$ npm install burnchart -g
|
||
|
$ burnchart 8080
|
||
|
# burnchart/2.0.8 started on port 8080
|
||
|
```
|
||
|
|
||
|
##Configuration
|
||
|
|
||
|
At the moment, there is no ui exposed to change the app settings. You have to edit the `src/models/config.coffee` file.
|
||
|
|
||
|
An array of days when we are not working where Monday = 1. The ideal progression line won't *drop* on these days.
|
||
|
|
||
|
```coffeescript
|
||
|
"off_days": [ ]
|
||
|
```
|
||
|
|
||
|
Choose from `ONE_SIZE` which means each issue is worth 1 point or `LABELS` where issue labels determine its size.
|
||
|
|
||
|
```coffeescript
|
||
|
"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.
|
||
|
|
||
|
```coffeescript
|
||
|
"size_label": /^size (\d+)$/
|
||
|
```
|
||
|
|
||
|
##Development
|
||
|
|
||
|
[Rake](https://www.ruby-lang.org/en/documentation/installation/) is used as a tool to execute tasks, the steps would be roughly as follows:
|
||
|
|
||
|
```bash
|
||
|
apt-get install ruby-full
|
||
|
gem install rake
|
||
|
rake build
|
||
|
rake serve
|
||
|
```
|
||
|
|
||
|
You can run the following tasks:
|
||
|
|
||
|
```bash
|
||
|
rake build # Build everything & minify
|
||
|
rake build:css # Build the styles with LESS
|
||
|
rake build:js # Build the app with Browserify
|
||
|
rake build:minify # Minify build for production
|
||
|
rake commit[message] # Build app and make a commit with latest changes
|
||
|
rake install # Install dependencies with NPM
|
||
|
rake publish # Publish to GitHub Pages
|
||
|
rake serve # Start a web server on port 8080
|
||
|
rake test # Run tests with mocha
|
||
|
rake test:coverage # Run code coverage, mocha with Blanket.js
|
||
|
rake test:coveralls[token] # Run code coverage and publish to Coveralls
|
||
|
rake watch # Watch everything
|
||
|
rake watch:css # Watch the styles
|
||
|
rake watch:js # Watch the app
|
||
|
```
|
||
|
|
||
|
Please read the [Architecture](docs/ARCHITECTURE.md) document when contributing code.
|