📄 | .babelrc |
📄 | .gitignore |
📄 | .nvmrc |
📄 | README.md |
📁 | app |
📄 | client.js |
📁 | config |
📁 | feature |
📄 | package.json |
📄 | server.js |
📁 | spec |
README.md
craftworks-todomvc
work in progress
real-world, production-quality TodoMVC for Craftworks
stack
- 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
- e.g.
/app/package.json
/app/client.js
/app/server.js
/app/routes.js
/app/store.js
/app/models/todo.js
/app/services/todos.js
/app/clients/todos.js
/app/actions/todos.js
/app/action-types/todos.js
/app/reducers/todos.js
/app/getters/todos.js
/app/containers/todos.js
/app/components/todos/index.js
/app/components/todos/index.css
- always require top-down (
require('app/models/todo')
) instead of relative.
- symlink
/spec/
- e.g.
/spec/services/todos.js
/spec/components/todos.js
- e.g.
/features/
- e.g.
/features/steps.js
/features/todos.feature
- e.g.
- 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: tape
- test features: cuke-tap
- generators: plop
Built with git-ssb-web