Challenge Overview
Contest has been reposted with an increase in the prize money and the timeline. Members that registered in the earlier contest have to register again for this contest.
Challenge Objectives
-
Create an AWS CloudFormation Template for an existing app
-
Create a basic UI for a chat app in Angular
Project Background
-
Our client is looking to create a chat bot that interacts with the user using a browser, but the chat is audio based - the bot will speak to the user while the user will speak back to the bot
-
We have built the backend for the chat bot using Amazon Lex and AWS Lambda.
-
In this contest, we are looking at creating a basic UI for the chat bot before we move on to creating an audio based version of the chat.
Technology Stack
-
AWS Lambda
-
Amazon Lex
-
Angular (version 6) - for the UI
Code access
-
The code bases for AWS Lambda and Amazon Lex will be shared in the contest forum
-
There is no front end for the app. You will be building it as part of this contest.
Individual requirements
Create a AWS CloudFormation Template (Major Requirement)
-
We have the code base in two parts. One is the AWS lambda function and the other is the Amazon lex Chatbot.
-
Our client currently has to first copy the lambda function from the code base to AWS lambda and then import the chatbot into Amazon lex. Additionally, they have to configure the lambda function to be used into the chatbot
-
We are looking to simplify this deployment process by using a cloudformation template instead. Expectation is that the client updates their code base and uses the cloud formation template to deploy without the need to go through multiple steps each time. Ease of deployment is the focus here and we wish to achieve that through cloudformation template. Ensure that with this approach, our client is not again asked to go through multiple steps (besides the one to deploy the template) to deploy their app.
Create a basic UI for a chat app (Major Requirement)
-
Create a basic app in Angular (version 6) and connect with the lex bot that we are sharing. User should be able to chat with the lex bot. You don’t have to do anything advanced. Just a simple chat interface will do where the app is interfacing with the bot in lex.
-
You will also be including deployment of the basic ui in the cloudformation template that you will create above.
-
For the chat design, do not use the sample Lex web ui. Instead, check this out. Hide the content on the left and center the chat window.
-
Lex web UI is a sample Amazon lex app that allows the user to test the app without the need to open the Chatbot in lex.
-
DO NOT use that. Only understand how it manages to interface with the Lex chatbot.
-
While this is a basic UI, you are still expected to follow best practices in Angular development.
Deployment guide and validation document
-
Deployment guide is a major requirement here. It is important that you document clearly how to deploy the lambda function, lex chatbot and the basic ui through a single cloudformation template.
-
Additionally, also document how to deploy the cloudformation template itself. You can point to existing AWS documentation on this.
Final Submission Guidelines
-
We don’t expect any changes to the lambda function or the Lex chatbot. If there is a change here, please first confirm in the contest forum.
-
You will thus only upload the cloudformation template and the basic ui.