A Kanban Board for Sprintly
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
config Fix eslint errors Sep 22, 2015
lib Fix eslint errors Sep 22, 2015
public ActivityItem && ItemActivity style updates Sep 29, 2015
test Pass product id to markdown formatter Sep 29, 2015
views add smart-ish cache busting Sep 30, 2015
.eslintrc Configure eslint Sep 22, 2015
.gitignore Fix eslint errors Sep 22, 2015
.jshintrc Add document to jshintrc Jun 15, 2015
.travis.yml adding travis.yml Mar 17, 2015
LICENSE
Makefile
README.md
gulpfile.js
karma.conf.js Fix eslint errors Sep 22, 2015
npm-shrinkwrap.json fixing dependency hell Sep 30, 2015
package.json fixing dependency hell Sep 30, 2015
server.js better naming for the cache key Sep 30, 2015
wercker.yml remove redundant deploy steps Sep 30, 2015

README.md

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