You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 18, 2022. It is now read-only.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+20-1Lines changed: 20 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,36 +1,55 @@
1
1
# Change Log
2
+
2
3
All notable changes to this project will be documented in this file.
3
4
4
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
7
8
+
## [1.4.0] - 2020-11-23
9
+
10
+
### Added
11
+
12
+
- Implementation to use [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/) and architecture patterns from [AWS Solutions Constructs](https://aws.amazon.com/solutions/constructs/) to create AWS CloudFormation template.
13
+
- aws-cognito-apigateway-lambda.
14
+
- aws-lambda-dynamodb.
15
+
- aws-cloudfront-s3
16
+
- aws-s3-lambda
17
+
- aws-lambda-s3.
18
+
7
19
## [1.3.0] - 2020-10-27
20
+
8
21
### Added
22
+
9
23
- A dynamic chatbot that demonstrates how to integrate a chatbot with a back-end database, such as Amazon DynamoDB, to build an automated order taking service (in this example, a pizza ordering service).
10
24
- When the customer starts their order, the chatbot retrieves the pizza menu from the back-end database, and displays it to the customer.
11
25
- The chatbot interacts with the customer to extract order details (for example, type and size of the pizza) and confirms the order.
12
26
- The order history is stored in a DynamoDB table, which helps facilitate a personalized customer experience.
13
27
- Functionality to automatically extract user's email, used by Amazon Cognito to authenticate the user with Amazon API Gateway, to use it as customerId.
14
28
15
29
## [1.2.0] - 2020-6-30
30
+
16
31
### Added
32
+
17
33
- Support for using API keys to get weather data.
18
34
- Functionality to write customer feedback to DynamoDB.
19
35
20
36
### Changed
37
+
21
38
- Synchronized audio and text response in sample web client.
22
39
23
40
## [1.1.0] - 2020-3-30
41
+
24
42
### Added
43
+
25
44
- Cognito with Amplify javascript framework to have sign-in/register in place for secure access to the web application.
26
45
- Encryption to all S3 and logging S3 buckets.
27
46
- Cloudfront to the web app hosted in S3. Restricted access to the web app S3 bucket to Cloudfront only.
28
47
29
48
### Changed
49
+
30
50
- Re-implemented the user interface in ReactJS (previously implemented with vanilla Javascript) to make it easier to add or modify components for later updates.
31
51
- Syntax for lambda functions in node8 to node12
32
52
- Syntax for lambda functions in python2 to python3
33
53
- The Solution Helper package to the newest version compatible with python3
34
54
- Integrated Cognito user pool authentication with API Gateway and removed authorization with stored API Keys.
Copy file name to clipboardExpand all lines: README.md
+44-18Lines changed: 44 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,30 @@
1
1
# Serverless Bot Framework
2
-
The Serverless Bot Framework is a collection of AWS services combined into a single solution that any company can use to have a scalable and high-available multi-language audiobot, chatbot and touch interface with their customers.
3
2
3
+
The Serverless Bot Framework is a collection of AWS services combined into a single solution that any company can use to have a scalable and high-available multi-language audiobot, chatbot and touch interface with their customers.
4
4
5
5
## On this Page
6
+
6
7
-[Architecture Overview](#architecture-overview)
7
8
-[Deployment](#deployment)
8
9
-[Source Code](#source-code)
9
10
-[Creating a custom build](#additional-resources)
10
11
11
-
12
12
## Architecture Overview
13
+
13
14

14
15
16
+
## AWS CDK Constructs
17
+
18
+
[AWS CDK Solutions Constructs](https://aws.amazon.com/solutions/constructs/) make it easier to consistently create well-architected applications. All AWS Solutions Constructs are reviewed by AWS and use best practices established by the AWS Well-Architected Framework. This solution uses the following AWS CDK Constructs:
19
+
20
+
- aws-cognito-apigateway-lambda.
21
+
- aws-lambda-dynamodb.
22
+
- aws-cloudfront-s3
23
+
- aws-s3-lambda
24
+
- aws-lambda-s3.
25
+
15
26
## Deployment
27
+
16
28
The solution is deployed using a CloudFormation template with a lambda backed custom resource. For details on deploying the solution please see the details on the solution home page: [Serverless Bot Framework](https://aws.amazon.com/solutions/serverless-bot-framework/)
17
29
18
30
## Source Code
@@ -29,43 +41,57 @@ Includes source code for three lambda functions, core, custom-resource, and poll
29
41
**source/services/custom-resource**
30
42
A Python Lambda function used as a CloudFormation custom resource for configuring Amazon S3 bucket notifications and to send anonymous metrics.
31
43
32
-
33
44
## Creating a custom build
45
+
34
46
The solution can be deployed through the CloudFormation template available on the solution home page: [Serverless Bot Framework](https://aws.amazon.com/solutions/implementations/serverless-bot-framework/).
35
47
To make changes to the solution, download or clone this repo, update the source code and then run the deployment/build-s3-dist.sh script to deploy the updated Lambda code to an Amazon S3 bucket in your account.
36
48
37
49
### Prerequisites:
38
-
*[AWS Command Line Interface](https://aws.amazon.com/cli/)
39
-
* Node.js 12.x or later
40
-
* (Optional) [AccuWeather](https://developer.accuweather.com/) or [OpenWeather](https://openweathermap.org/api) API keys
41
50
42
-
### 1. Create an Amazon S3 Bucket
43
-
The CloudFormation template is configured to pull the Lambda deployment packages from Amazon S3 bucket in the region the template is being launched in. Create a bucket in the desired region with the region name appended to the name of the bucket. eg: for us-east-1 create a bucket named: ```my-bucket-us-east-1```
44
-
```
45
-
aws s3 mb s3://my-bucket-us-east-1
46
-
```
51
+
-[AWS Command Line Interface](https://aws.amazon.com/cli/)
52
+
- Node.js 12.x or later
53
+
- (Optional) [AccuWeather](https://developer.accuweather.com/) or [OpenWeather](https://openweathermap.org/api) API keys
54
+
55
+
### 1. Create the deployment packages
47
56
48
-
### 2. Create the deployment packages
49
57
Build the distributable:
58
+
50
59
```
60
+
ARTIFACT_BUCKET=my-bucket-name # S3 bucket name where customized code will reside
61
+
SOLUTION_NAME=my-solution-name # customized solution name
62
+
VERSION=my-version # version number for the customized code
> **Notes**: The _build-s3-dist_ script expects the bucket name as one of its parameters, and this value should not include the region suffix. In addition to that, the version parameter will be used to tag the npm packages, and therefore should be in the [Semantic Versioning format](https://semver.org/spec/v2.0.0.html).
56
70
71
+
### 2. Create Amazon S3 Buckets
72
+
73
+
The CloudFormation template is configured to pull the Lambda deployment packages from Amazon S3 buckets in the region the template is being launched in. You need to create two buckets in the desired region. The names of the buckets should be `$ARTIFACT_BUCKET` and `$ARTIFACT_BUCKET-<region-name>`. For example, the following will create two buckets in the us-east-1 region.
* Get the link of the serverless-bot-framework.template uploaded to your Amazon S3 bucket.
64
-
* Deploy the serverless bot framework to your account by launching a new AWS CloudFormation stack using the link of the serverless-bot-framework.template.
65
88
66
-
***
89
+
- Get the link of the serverless-bot-framework.template uploaded to your Amazon S3 bucket.
90
+
- Deploy the serverless bot framework to your account by launching a new AWS CloudFormation stack using the link of the serverless-bot-framework.template.
91
+
92
+
---
67
93
68
-
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
94
+
Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
69
95
70
96
Licensed under the Apache License, Version 2.0 (the "License");
71
97
you may not use this file except in compliance with the License.
0 commit comments