# Things-shell
Things Shell is a user development tool for Things Board platform.
# How to install
## Pre-requisites
* nodejs - v7.6.0 or greater
* yarn - https://yarnpkg.com/
## Install from github source
```
$ git clone https://github.com/hatiolab/things-shell.git
$ cd things-shell
$ yarn install
$ yarn migration:run # Apply changes of the database to DB.
```
* 여기에 간단한 동영상
## install from node package
```
$ mkdir myapp
$ cd myapp
$ yarn init
$ yarn add @hatiolab/things-shell
$ yarn things-shell-migration # Apply changes to the database to DB.
```
* 여기에 간단한 동영상
# how to test
## No Server Hot Reload, No Client Hot Module Replace
```
$ yarn build
$ yarn serve [-p port]
```
* build : Compile server and client code into final executable code
* 여기에 간단한 동영상
## No Server Hot Reload, Client Hot Module Replace
```
$ yarn build:server
$ yarn serve:dev [-p port]
```
```
$ yarn build:server
$ yarn serve:dev:client [-p port]
```
* build:server : Compile server code into final executable code
## Server Hot Reload, No Client Hot Module Replace
```
$ yarn build:client
$ yarn serve:dev:server [-p port]
```
* build:client : Compile client code into final executable code
* 여기에 간단한 동영상
## Server Hot Reload, Client Hot Module Replace
```
$ yarn serve:dev:full [-p port]
```
* 여기에 간단한 동영상
## Graphql Playground
```
http://localhost:3000/graphql
```
* It provides a page for graphql testing.
* You can refer to query schema created with graphql specification.
* You can test graphql request.
# how to publish node package
```
$ yarn publish
```
# References
* https://github.com/hatiolab/things-shell-demo
* http://things-board.hatiolab.com/
* https://www.youtube.com/playlist?list=PLrcYC3lASr3spRCJIRYqfm3axhMMEoimP
* https://www.youtube.com/playlist?list=PLrcYC3lASr3sFvDlSaHRhTgIDSZ4c3KhO
