/aws-lex-net-chatbot

Building Chatbots using .NET on AWS

Primary LanguageCSSApache License 2.0Apache-2.0

Amazon Lex .NET Core Chatbot

The .NET Core ChatBot application code featured here allows you to order flowers using a ChatBot powered by the Amazon Lex, an AWS AI service. The application is an ASP.NET Core MVC web application using AWS .NET SDK and the AWS Toolkit for Visual Studio and deployed on Amazon EC2 with Amazon Code Services using AWS Continuous Integration and Continuous Delivery toolchains.

When you are ready to explore building your own Amazon Lex ChatBot, the code provided can be easily used to connect to any ChatBot created with Amazon Lex and deploy this bot to web by only changing three (3) configuration options.


Try it, Before you Code It

Go to the Amazon Lex .NET ChatBot Demo Site and play with this bot live: Order Flowers ChatBot


AWS Services

The AWS services used to implement this web ChatBot application are:

  • Amazon Lex: Text based conversational chatbots
  • Amazon Cognito: Amazon Cognito Federated Identities feature
  • AWS Lambda: AWS Lambda function for serverless validation of chatbot responses
  • Amazon EC2: Virtual compute instances for running Linux and Windows instances

The AWS services to be used for options to deploy the ChatBot are:

  • AWS CodePipeline: Continuous integration and continuous delivery service for automatic bot build and deployment
  • AWS CodeBuild: Managed build service to compile chatbot source code and produces software package for deployment
  • AWS CodeDeploy: Automates chatbot code deployment to Amazon EC2 instances for Windows or Linux
  • AWS CloudFormation: Service that helps you model and set up your AWS resources for the bot deployment; Templates provided
  • AWS CodeStar: set up the entire continuous delivery toolchain for the chatbot with unified user interface and easily setup up team collaboration and project tracking as you enhance this sample with your own custom bot.

Repo Structure

The repo is organized as follows:

Code folder: Contains the ASP.NET Core MVC Web Application solution and corresponding code files

Documentation folder: Contains documentation of the .NET ChatBot including a detail walkthrough of how to build the Order Flowers chatbot using the .NET code and the deployment resources in this repo

Linux Deployment: Scripts needed to create an EC2 Instance running the Linux OS and to deploy the ASP.NET Core web application

Windows Deployment: Scripts needed to create an EC2 Instance running the Windows OS and to deploy the ASP.NET Core web application

CloudFormation Template: CloudFormation template provided to assist with setup of ChatBot on AWS including the configuration of the AWS Services needed.