Build a chatbot for your mobile app

Summary

In this code pattern, learn how to create a Node.js chatbot application that uses Watson Assistant and Elasticsearch. The chatbot application, which the user interacts with from a mobile app, can run on either Kubernetes or Cloud Foundry.

Description

This code pattern is based on the chatbot that is being used for the IBM Developer mobile application, available in your mobile App Store.

Get the app from Google Play Get the app on Apple

The chatbot that you build with this code pattern uses TV shows data from TV Maze to make recommendations and provide show information.

After completing this pattern, you will understand how to:

  • Create a chatbot, from end to end
  • Deploy and run a Node.js application on Kubernetes or Cloud Foundry

Flow

Flow for Cloud Foundry

Architecture for building chatbot in Cloud Foundry

  1. The user interacts with the chatbot from the React UI of the mobile application by asking a question via text.
  2. The React UI sends the user’s message to the Node.js backend on Cloud Foundry.
  3. The Node.js backend sends the message to Watson Assistant to determine the intent and entities of the user’s message.
  4. The Node.js backend queries the Elasticsearch database based on the intents and entities processed by Watson Assistant.
  5. The response and results are sent to the React UI.

Flow for Kubernetes

Architecture for building chatbot in Kubernetes

  1. The user interacts with the chatbot from the React UI of the mobile application by asking a question via text.
  2. The React UI sends the user’s message to the Node.js backend on Kubernetes.
  3. The Node.js backend sends the message to Watson Assistant to determine the intent and entities of the user’s message.
  4. The Node.js backend queries the Elasticsearch database based on the intents and entities processed by Watson Assistant.
  5. The response and results are sent to the React UI.

Instructions

Find the detailed steps for this code pattern in the readme file.

Max Shapiro