kintone をバックエンドに利用することで手軽にアプリが作れること、arukas を使うことで手軽にアプリをデプロイできることを学ぶ。
- kintone アプリは
商品管理と受注管理の二つで構成されています - アプリは Node.js 6.0 + Express 4 を利用しています
- 商品の情報を
商品管理アプリから取得し、注文を受注管理に追加します
- 商品の情報を
- アプリを Docker イメージ化する Dokcerfile 付
- それを DockerHub にプッシュする circle.yml 付
- GitHub へコミットすれば、arukas にすぐにデプロイできるようになっています
- Docker 環境はローカルには必要ありません
- arukas へのデプロイは手動です
- Node.js v6 のインストール
- 何かしらの Git Client のインストール
- kintone 30 日間無料お試しで
kintone アカウントを取得 - Join GitHub で
GitHub アカウントを取得 - New to Docker? で
Docker IDを取得
- kintone でオンラインショップのアプリの基盤となるところを作り、それを使って kintone アプリを体験する
- オンラインショップアプリを作る
- Docker イメージ化して arukas にデプロイ
- kintone にログインし、オンラインショップアプリスペースのテンプレートを読み込む
- オンラインショップスペースをテンプレートから作成する
商品アプリに商品を登録する受注アプリで受注を入力し、入金確認や配送の各担当者が受注アプリを中心に作業ができることを確認する
作成した kintone アプリを実際に使ってもらうことが大切。今回は kintone アプリの作り方はスコープ外だけど、設定画面を見せながらどんな感じで作るのか? みたいな解説は必要だと思う。
- kintone で API Token を発行する
商品アプリは読み取りのみ受注アプリは新規追加のみ
- GitHub のこのプロジェクトをフォークする
- フォークしたプロジェクトを
git clone
npm installでパッケージをインストール
- 環境変数を設定する
KINTONE_BASE- kintone の URL (Ex: https://7nkse.cybozu.com/k/v1/)KINTONE_APP_ITEMS_ID- 商品アプリのアプリ ID (Ex: 21)KINTONE_APP_ITEMS_TOKEN- 商品アプリの API TokenKINTONE_APP_ORDERS_ID- 受注アプリのアプリ ID (Ex: 25)KINTONE_APP_ORDERS_TOKEN- 受注アプリの API Token
- コードを少しずつ書きながら
node bin/wwwで実行
- 商品一覧を取得するコードを書く ./libs/itemsService.js
- カートのための商品を取得するコードを書く ./libs/itemsService.js
- 注文を書き込むコードを書く ./libs/ordersService.js
- 遊んでみる
商品アプリを書き換えたらオンラインショップに反映される- 注文をすると
受注アプリに注文が入る
今回は Node.js や Epxress のハンズオンではないので、kintone API のアクセスの部分だけをハンズオンする。だけど、それだけだとイメージがつきにくいので、コントローラーやビューのコードの解説は必要だと思う。
- [circle.yml](circle.yml] ファイルを自分の Docker Hub アカウントに書き換える
- Circle CI でフォークしたプロジェクトのビルド設定を行う (環境変数を設定する)
DOCKER_EMAIL- Docker ID のメールアドレスDOCKER_USER- Docker IDDOCKER_PASS- パスワード
- Docker Hub にログインして、イメージが Push されているかを確認する
- arukas にログインして、アプリの設定を行いデプロイ
KINTONE_BASE- kintone の URL (Ex: https://7nkse.cybozu.com/k/v1/)KINTONE_APP_ITEMS_ID- 商品アプリのアプリ ID (Ex: 21)KINTONE_APP_ITEMS_TOKEN- 商品アプリの API TokenKINTONE_APP_ORDERS_ID- 受注アプリのアプリ ID (Ex: 25)KINTONE_APP_ORDERS_TOKEN- 受注アプリの API Token- Docker イメージ名は 1 で設定したもの
- ポート番号は
3000で
- 遊んでみる
今回はDocker のハンズオンではないが、Docker が何か、Circle CI が何かは簡単に解説が必要だと思う。
