** work in progress **
budget management for flat shares
- task runner: npm scripts
- client bundler: browserify
- utility functions: ramda
- directory structure:
/config/
/config/defaults.js
/config/{ NODE_ENV }.js
/app/
- symlink
/app
to/node_modules/app
/app/package.json
/app/client.js
/app/server.js
/app/reducer.js
/app/routes.js
/app/thing/model.js
/app/thing/service.js
/app/thing/client.js
/app/thing/routes.js
/app/thing/actions.js
/app/thing/reducer.js
/app/thing/getters.js
/app/thing/components/thing-list.js
/app/thing/components/thing-list.css
/app/thing/spec/components/thing-list.js
/app/thing/index.feature
/app/thing/steps.js
/app/list-view/index.js
- only do relative requires if within module
- otherwise, always require top-down (
require('app/things/model')
).
- symlink
- data model: tcomb
- database: knex
- data validator: tcomb-validator
- api service: feathers-knex
- api authentication: feathers-authentication
- api transport: primus
- api client: feathers-client
- client async actions: redux-thunk
- client actions: redux-tcomb
- client action-types: create-action-types
- client reducers: redux-tcomb
- client getters: reselect
- client store: redux
- client router: redux-router
- client views: react
- client forms: tcomb-form
- test specs: ava
- test features: cucumber
- generators: plop