Skip to content
Chatbots and Watson: Let’s talk about national parks: course source code
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.assets update README Jan 15, 2017
client Update ParkCard.js Feb 8, 2018
public initial version Oct 30, 2016
resources upgrade conversationworkspace Sep 8, 2017
server fix denali image and use node 8 Sep 8, 2017
.babelrc initial version Oct 30, 2016
.cfignore deploy to BM Jan 16, 2017
.env.sample update template Jul 19, 2017
.gitignore initial version Oct 30, 2016
README.md Update README.md Dec 7, 2018
index.js initial version Oct 30, 2016
package-lock.json update dependencies Mar 18, 2018
package.json update dependencies Mar 18, 2018
yarn.lock update dependencies Mar 18, 2018

README.md

nationalparks-conversation

Chatbots and Watson: Let’s talk about national parks: course source code

The chatbot uses Watson Conversation, Weather Company Data, React, Nodejs, and IBM Cloud to create a chatbot about National Parks.

The complete course content and videos lives here

Try the live demo here

Ask:

  • which parks can you talk about
  • Tell me about zion
  • What animals live there
  • What's the weather like
  • What animals live at Denali National Park
  • What's the weather like there

A glimpse

Prequisities

  1. Clone this repo
  2. Create an IBM Cloud account

Setup

Conversation

  • Provision an instance of Watson Conversation on IBM Cloud
  • Create a new conversation workspace by importing ./resources/conversation_workspace.json into your Watson Conversation workspaces,
  • Install client and server dependencies
  • Create .env files in the project root with the following contents
APP_ID=parks-conversation
PORT=3004
LOG_LEVEL=debug
SESSION_SECRET=test

WATSON_CONVERSATION_API_ROOT=https://gateway.watsonplatform.net/conversation/api
WATSON_CONVERSATION_VERSION=v1
WATSON_CONVERSATION_VERSION_DATE=2016-07-11
WATSON_CONVERSATION_USERNAME=<USERNAME>
WATSON_CONVERSATION_PASSWORD=<PASSWORD>
WATSON_CONVERSATION_WORKSPACE_ID=<WORKSPACE>

Server

Install server dependencies

npm install

Client

Install client dependencies

cd client
npm install

Build / Run (Development)

Build / Run (Production)

cd client
npm run build
cd ..
npm start

Navigate to http://localhost:3000

Deploy to IBM Cloud

Prequisites:

  • Install CloudFoundry Tools

Deploy

Follow the first 3 steps in the "Build / Run (Production)" section above, then run.

cf push USER_ID-nationalparks

Navigate to https://USER_ID-nationalparks.mybluemix.net

FAQ

Q: In Lab 5: "Programmatically interact with Watson Conversation", I get an authentication error. What do I do?

A: This occurs on Windows. Windows sets the USERNAME variable to the logged in OS user. Ultimately, it ends up overriding the value for USERNAME specified in .env. The problem can be solved in two ways:

  • on step 3., hard code the USERNAME and PASSWORD e.g.

    const conversation = new ConversationV1({
      	username: 'your-username',
      	password: 'your-password',
      	version_date: ConversationV1.VERSION_DATE_2016_09_20
      });

or

  • Rename the USERNAME env
    • Edit .env, change USERNAME to NP_USERNAME
    • in step 3., change USERNAME to NP_USERNAME
You can’t perform that action at this time.