Sprintly Kanban
Oauth2 Client App w/ Hapi, React, Flux, and Sprinlty-Data
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 [email protected].
$ 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.
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