/sprintly-kanban

A Kanban Board for Sprintly

Primary LanguageJavaScriptISC LicenseISC

Sprintly Kanban

Oauth2 Client App w/ Hapi, React, Flux, and Sprinlty-Data

wercker status Gitter chat

Note

This repository is no longer in active development and is now for example purposes only. We are not currently providing OAuth tokens for this application.

Setup

Prerequisites

  • Create an OAuth Client through the Sprintly admin with the credentials in config/default.js
  • node >= 0.10 and npm
  • Sprint.ly API running on https://local.sprint.ly:9000/
$ make

Local Development

To use and develop Sprintly Kanban locally, you'll need an Oauth CLIENT_ID and CLIENT_SECRET. Currently our public registration for new OAuth apps is closed, but we are accepting requests for new OAuth Client application by emailing support@sprint.ly.

$ node server
server started on port 3600
visit http://local.sprint.ly:3600/

Browserify/Less watch task:

$ make watch

Run lint and tests and coverage report with Karma:

$ npm test

Attempt to auto-fix certain lint errors:

$ npm run test-lint -- --fix

Run tests to run in a browser:

$ make test-server
$ npm run watchify-test

Writing Tests

Tests require this comment at the top for linting.

/* eslint-env mocha, node */

npm shrinkwrap

This project uses npm shrinkwrap to keep dependecies from automatically upgrading without out explicit permission.

Any time you install or upgrade an npm package, please run make shrinkwrap.

For further reading, please refer to the shrinkwrap documentation: npm help shrinkwrap.

Troubleshoot: Error: Extraneous Modules?:

  • Delete node modules dir locally
  • $ npm install
  • $ make shrinkwrap

Deploys

Kanban is built to be deployed on Heroku with a minimum amount of fuss. Because Heroku is the deploy target, all assets for production need to be compiled and checked in. To avoid this, we use Wercker to build and cache production assets and then push them to Heroku when we need to deploy.

Staging

Deploys to staging should be managed with the "Deploy" button in Wercker or with the Wercker CLI tool. You can deploy to staging from any branch.

Staging URL

Production

Production deploys can also be managed with Wercker in the same fashion as staging.

There's a new feature in Heroku called pipelines that can also be used to manage deploys. Using the Heroku toolbelt you can promote a build from staging to production. The benefit is that you don't have to wait for the deploy step since Heroku transfers the environment directly.

heroku pipeline:promote