- Fork this repository
- Claim an issue on our Asana project
- Cut a topic branch
- Finish issue
- Run the linter
- Run tests
- Submit a pull request
$ yarn
$ brew install terminal-notifier
- Go to Google API Manager
- Select the dropdown next to the Google Cloud Platform title
- Create new (or use existing) project
- Click API Manager
- Navigate to Library from menu on left side column
- Under Social APIs, choose Google+ API
- At the top of the page, click enable to enable the API for your selected project
- Navigate to 'Credentials' from left side menu
- Select OAuth client ID from 'create credentials' dropdown
- Ensure Email address is correct and click Save button
- On the create Credentials dropdown menu select OAuth client ID
- Create consent screen
- Select web application and supply the redirect URI with: http://localhost:1337/google/auth/callback
- Click Create button twice
- Copy client ID and client secret
- Create .env file:
$ touch .env
- Store client ID, client secret, and session secret in .env:
GOOGLE_CLIENT_ID=[user's client ID]
CLIENT_SECRET=[user's client secret]
SESSION_SECRET=[random string you make up]
CALLBACK_URL=[redirect URI from above]
$ yarn db:setup
$ yarn test
$ yarn lint
$ yarn migrate:rollback
$ NODE_ENV=test yarn migrate:rollback
$ yarn report:web
$ git remote add upstream https://github.com/nodatall/step
$ git fetch upstream
$ git checkout -b my-topic-branch upstream/master
$ git push -fu origin HEAD
$ git fetch upstream
$ git rebase upstream/master
$ yarn
$ yarn test
$ git push -f origin HEAD
- Node
- Express
- Webpack
- Babel latest
- Postgres
- Knex
- React
- SCSS
- Mocha/Chai/Enzyme/Sinon
- Find love for TDD in your heart and write tests before writing code
- Aim for 100% test coverage of everything
- Component sets (presentation and container) should have their own folder
- Components should be broken into presentation and container components
- Presentation Components should be stateless function Components whenever possible
- Container Components handle all data manipulation and should contain no JSX
- Each Component set has its own .scss file
- Each Component set has it own _tests file
- Component file and directory names should be in UpperCamelCase