One more case from the area of our expertise - chatbots. This time, we’ll look at the creation of a chatbot for a fitness club with Amazon LEX technology.
Goal
The project is designed to book a promo visi to the fitness club for the users at the user-defined date and time.
The major concept of the project is the serverless architecture. The project is hosted on AWS cloud service, eliminating the need for server software and hardware management by the developer.
Application is splitted into individual functions that can be invoked and scaled individually.
Solution
To create and configure the bot, the heart of the project, we chose the Amazon Lex service, because it can easily be integrated with many services on the AWS platform.
It gives the ability to use the power of the AWS platform for security, monitoring, business logic, storage.
The Amazon Lambda service used to validate the time and date, which user defined in the dialog with bot. Also it was used to process the requests from the Amazon API Gateway, put records to Amazon SQS, process records from Amazon SQS, send data to dashbot.io.
In order to reduce the concurrent invocations of the AWS Lambdas and make them more cost efficient, the AWS SQS service was used.
To store the users’ data, we use the Amazon DynamoDB service, because it is scalable, cost effective and secure.
To start and process the dialog with the user, the REST API methods was implemented with Amazon API Gateway service.
The Amazon CloudWatch service was used to track and analyze the project logs.
To store the .ics files used for calendar invites, the Amazon S3 service used. Amazon CloudFront and Amazon Route53 services were used to generate compact and beautiful links to the calendar files, which we sent to the end-users to import the events into their own calendars.
The dashbot.io used to track detailed statistics of the dialogs and analyze it for further bot flow optimization.
We also decided to implement the Small Talk to engage end-users in conversation. It instigates them to build interactions with the bot and improves the recall rates.
To give the ability to our QA team to ease test the bot, we implemented the demo page based on PHP framework Laravel and VueJS.
Technologies
AWS LEX, AWS Lambda (NodeJS), AWS DynamoDB, AWS SQS, AWS API Gateway, AWS CloudWatch, AWS S3, AWS CloudFront, AWS Route53, AWS IAM, Laravel, VueJS, Dashbot.io
Team
Two specialists worked on this project:
- Backend developer - development of the application functionality
- QA - testing of the application