holodex app
an app for how we relate to people and groups within a network. see top-level repo for more info.
changelog
how to
install
mkdir -p ~/repos/holodex
cd ~/repos/holodex
git clone https://github.com/holodex/app
cd app
npm install
git clone https://github.com/holodex/enspiral-data data
develop
npm run develop
start
npm run start
deploy
npm run deploy
test
npm run test
stack
based on "the mad science stack", which is still very much based on "the business 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
/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 action creators: redux-actions
- client action types: create-action-types
- client action store: redux
- client reducers: redux-tcomb
- client getters: reselect
- client router: sheet-router
- client viewmodel: vdux
- client views: virtex-element
- test specs: ava
- test features: cuke-tap
- generators: plop
license
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.