Requires:
- Nodejs 4.x and npm
- Elasticsearch
- Mysql
For development it is best to start the node application on the host and
and access all dependencies in docker. This requires docker-machine
and
docker-compose
to be installed.
# start everything up
./bin/start-osx.sh
First install all required software, then run:
git clone https://github.com/whybug/whybug-server.git
cd whybug-server
# Copy the file `.env.example` to `.env` and change required settings.
# For a complete list of available environment variables, see `config/config.js`.
cp .env.example .env
# Start a server with hot reloading enabled
npm start
open http://127.0.0.1:8000
Useful commands:
npm start
starts the development environment, go to http://127.0.0.1:8000npm run build:frontend
creates build files in./build
for productionnpm run build:server
creates build file in./build
for productionnpm test
runs testsnpm run knex migrate:latest
run all migrationsnpm run knex migrate:rollback
undo latest migrationnpm run knex migrate:make [migration_name]
creates a new migration
There is a docker image available, for an example usage see whybug-rancher .
docker run -p 8000:8000 -i quay.io/whybug/whybug-server:latest
run whybug-server imagedocker pull quay.io/whybug/whybug-server:latest
get the latest imagedocker build -t quay.io/whybug/whybug-server .
build image locally
-
Controller
A Controller is a component that contains logic and fetch data, also called a smart components while a others are a dump component, receiving all data via properties.