balanced/balanced-dashboard

View on GitHub
README.md

Summary

Maintainability
Test Coverage
balanced-dashboard
==================

The Balanced Dashboard

[![Build Status](https://travis-ci.org/balanced/balanced-dashboard.png?branch=master)](https://travis-ci.org/balanced/balanced-dashboard)
[![Code Climate](https://codeclimate.com/github/balanced/balanced-dashboard.png)](https://codeclimate.com/github/balanced/balanced-dashboard)

## What

Welcome to the Balanced Dashboard.

As an open company we want to put as much of our company in the public view as
possible. Our dashboard is a a javascript application that anyone can fork,
comment on, contribute to, or generally tinker with.

## Why

Found a spelling mistake? Want to run your own version with customized
functionality? Jump in and contribute!

## How

### Running locally

You will need node installed as a development dependency. See
[node's site](http://nodejs.org/) for help with that.

1. `npm install -g grunt-cli`
2. `npm install`
3. Build - `grunt`
4. To view in a browser - [http://localhost:4200](http://localhost:4200)
5. To run unit tests at the command line `grunt test`
6. To run unit tests in a browser - [http://localhost:4200/tests](http://localhost:4200/tests)

### Building and Deploying

1. To build everything `grunt build`
2. To deploy to S3 `grunt deploy`

**Note**: To build, you need to have binary dependencies installed for [grunt-img](https://github.com/heldr/grunt-img). See the project page for how to set that up. If you have a Mac and use homebrew, you can run this to install them:

        brew install optipng jpeg

**Note**: In order to deploy to S3, you must have the appropriate `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables set

### Contributing

You can contribute to this project in one of two ways:

1. Browse our issues, comment on proposals, report bugs.
2. Clone the balanced-dashboard repo, make some changes according to our
   development guidelines and issue a pull-request with your changes.

Not sure where to start? Look for issues tagged [`n00b`](https://github.com/balanced/balanced-dashboard/issues?labels=n00b&state=open), these are tasks
that should be able to be completed in an hour or two and require minimal
knowledge of the balanced-dashboard application.

### Development guidelines

1. Fork it (`git clone git://github.com/balanced/balanced-dashboard.git`)
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Write your code **and unit tests**
4. Ensure all tests still pass (`grunt test`)
5. Ensure that your new code has test coverage (check out report/coverage/index.html after running tests)
6. Verify your code (`grunt verify`) (uses [JSHint](https://github.com/jshint/jshint/) and [JSBeautify](https://github.com/einars/js-beautify) to do linting and check style guidelines)
7. Commit your changes (`git commit -am 'Add some feature'`)
8. Push to the branch (`git push origin my-new-feature`)
9. Create new [pull request](https://help.github.com/articles/using-pull-requests)