■Personality Insights をローカルPCで実装してみよう 

#利用リンク一覧
Personality Insights

https://www.ibm.com/watson/jp-ja/developercloud/personality-insights.html

personality-insights-nodejs
https://github.com/watson-developer-cloud/personality-insights-nodejs


The official command line client for Cloud Foundry 
http://docs.cloudfoundry.org/cf-cli


#step0：Bluemix アカウントの作成
Bluemix アカウントでログインするため、無料のBluemix トライアル・アカウントの作成が必要です。

##①：すでにIBM IDをお持ちの場合、
[ここで](https://www-947.ibm.com/account/userservices/jsp/login.jsp?persistPage=true&page=/FIM2/sps/auth%3FFedName%3DIBM_WWW2_SAML20_EXTERNAL%26FedId%3Duuid701ae4b7-0145-1247-9531-cc6b0728b53f&PD-REFERER=https://developer.ibm.com/sso/bmregistration%3Flang%3Dja_JP%26ca%3Ddwjapan-_-bluemix-_-cl-bluemix-fundamentals-start-your-free-trial-_-article&error=)登録しみてよう

※イメージ
![2017-09-26 14_30_10-IBM 登録.png](https://qiita-image-store.s3.amazonaws.com/0/181748/4e9afbb2-2843-d615-e640-8a1708116a20.png)


##②：IBM IDを持っていない場合

下記のリンクで登録しみてよう
[リンク1](https://developer.ibm.com/sso/bmregistration?lang=ja_JP&ca=dwjapan-_-bluemix-_-cl-bluemix-fundamentals-start-your-free-trial-_-article)
※リンク1のイメージ
![2017-09-26 14_31_09-IBM Bluemixトライアル：サインアップ.png](https://qiita-image-store.s3.amazonaws.com/0/181748/c31f605b-52f9-6ea7-6141-6a6b7bd78143.png)



[リンク2](https://console.bluemix.net/registration/)
※リンク2のイメージ
![2017-09-26 14_28_51-Bluemix に登録.png](https://qiita-image-store.s3.amazonaws.com/0/181748/c1e802ba-027f-575c-700f-51e1be11d3e4.png)



※上記リンクの区別はわかりません。。。

##※事前にインストールしてください
・Install Node.js and npm
　https://nodejs.org/en/
	
・Install Git.
　https://git-scm.com/

##※option：CLIのインストール
1.Installerをdownloadする
http://docs.cloudfoundry.org/cf-cli
![2017-09-26 15_06_48-cloudfoundry_cli_ The official command line client for Cloud Foundry.png](https://qiita-image-store.s3.amazonaws.com/0/181748/386fdefa-800f-212a-7125-f93cfda5c01a.png)

→windows環境なので、Windows 64 bit　Installersをdownloadしました。

2.「cf-cli-installer_6.31.0_winx64.zipというファイルを展開します。
3.「cf_installer.exe」を実行します。

![2017-09-27 13_54_15-開いているファイル - セキュリティの警告.png](https://qiita-image-store.s3.amazonaws.com/0/181748/03829b47-b74a-78d9-fc1c-f9a2a4574a82.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/181748/f2e658cc-e56c-d513-d131-f731fb48fc37.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/181748/961b3600-1a2b-a0cf-fe50-8242f8f1bf71.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/181748/a391b321-123d-c05d-d658-31d158fbe256.png)

#step1：アプリをdeployします。
##①アプリをdeployします。
[ここに](
https://console.bluemix.net/devops/setup/deploy?repository=https%3A%2F%2Fgithub.com%2Fwatson-developer-cloud%2Fpersonality-insights-nodejs)押してから、personality-insights-nodejsを自動的にBluemixにdeployすることができます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/181748/59223375-96bb-1a68-fd84-bd88b14d3be9.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/181748/a3e4a39e-2aec-4886-1f7b-205c1cb32927.png)

■Git

https://git.ng.bluemix.net/[Bluemixのユーザー名を入れ替わってください]/personality-insights-nodejs-20170927062838980



##②clone repository

```
git clone git@git.ng.bluemix.net:[bluemixユーザー名]/personality-insights-nodejs-20170927062838980.git
```

例：

$ pwd
/c/Users/work

$ git clone git@git.ng.bluemix.net:[bluemixユーザー名]/personality-insights-nodejs-20170927062838980.git
Cloning into 'personality-insights-nodejs-20170927062838980'...
remote: Counting objects: 1930, done.
remote: Compressing objects: 100% (800/800), done.
remote: Total 1930 (delta 1091), reused 1930 (delta 1091)
Receiving objects: 100% (1930/1930), 7.70 MiB | 1.63 MiB/s, done.
Resolving deltas: 100% (1091/1091), done.
Checking out files: 100% (107/107), done.

$ ls
personality-insights-nodejs-20170927062838980/ →**このアプリ名が表示できましたら、OKです！**








##③manifest.yml ファイルの編集
1.Atomなどの任意エディターを開く

※Atom
Link:https://atom.io/

2.「personality-insights-nodejs-20170927062838980」アプリをAtomに導入する


![image.png](https://qiita-image-store.s3.amazonaws.com/0/181748/64f620f4-3cb4-7ff1-9879-f5650ecacd2c.png)

Atomの左側プロジェクト一覧で↑が表示できたら、OKです！

汎用：

```yml:manifest.yml
applications:
- services:
  - my-service-instance
  name: <application-name>
  command: npm start
  path: .
  memory: 512M

![image.png](https://qiita-image-store.s3.amazonaws.com/0/181748/df97d56d-4569-3834-6950-4b50002b80ef.png)

```
具体例：
※[name]の命名はuniqueです。
※URL:　pitest.mybluemix.net　になっています。

```yml:manifest.yml
applications:
- services:
  - my-service-instance
  name: pitest
  command: npm start
  path: .
  memory: 512M
```


##④環境変数の変更



1.command line toolを使って、Bluemixに接続します。


```ruby:方法1
cf api https://api.ng.bluemix.net
cf login
```

```ruby:方法2
cf login  -o [Bluemixアカウントメールアドレス] -s [Bluemixアカウント名] -sso
```
 
2.[Personality Insights][service_url]サービスにアクセスします。

```
$ cf create-service personality_insights lite my-pi-service
 [Bluemixアカウントメールアドレス] としてサービス・インスタンス my-pi-service を組織   [Bluemixアカウントメールアドレス] / スペース [Bluemixアカウント名]内に作成しています...
  OK
```

```
$ cf create-service-key my-pi-service myKey
 [Bluemixアカウントメールアドレス]としてサービス・インスタンス my-pi-service のサービス・キー myKey を作成しています...
 OK
```
```
$ cf service-key my-pi-service myKey
 [Bluemixアカウントメールアドレス]としてサービス・インスタンス my-pi-service のキー myKey を取得しています...
{
 "password": "abcdefghijklmn",
 "url": "https://gateway.watsonplatform.net/personality-insights/api",
 "username": "abcdefg-hijkl-mnop-qrst-uvwxyzabcdefg"
}
```

3.下記のコマンドを利用して、.env.example をコピーして、.env　ファイルを生成します。

```
$ cd /c/Users/work

$ cp .env.example .env
```
![スクリーンショット 2017-09-29 22.00.34.png.png](https://qiita-image-store.s3.amazonaws.com/0/181748/71e8f42c-ddcc-6a4f-bdc5-2f0695dbedf6.png)

##⑤アプリを起動します。

```
npm install
npm start
```
http://localhost:3000