Skip to content

A Dining Concierge Chatbot that sends you restaurant suggestions given a set of preferences that you provide the chatbot with through conversation.

Notifications You must be signed in to change notification settings

ZEwithBayesTaylor/Dining-Suggestion-Chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dining Suggestion Chatbot

In this Project, I developed a serverless web chatbot with event-driven microservices using AWS S3, API Gateway, Lambda, Simple Queue Service, Amazon Lex, CloudWatch, Simple Email Service. I also built a recommendation pipeline to suggest restaurants based on user inputs using OpenSearch Service, DynamoDB, and Yelp API.

Working Principle

Based on the conversation between chatbot and customer, chatbot collects the information from customers like location, cuisine, number of people, email address. Then, chatbot will search through ElasticSearch (OpenSearch Service) to get suggestions of restaurant IDs with their perference, especially cuisine. Moreover, the web application will also query the DynamoDB table with these restaurant IDs to get more information about the restaurants and send email to the customers.

Example Dialogue

Chatbot: Hi there, I'm your personal Concierge. How can I help?

User: Hello.

Chatbot: Hello there! What can I help you with?

User: I need some dining suggestions.

Chatbot: Great. I can help you with that. What city or city area are you looking to dine in?

User: New York.

Chatbot: What cuisine would you like to try?

User: Chinese.

Chatbot: How many people are there in your party?

User: 5.

Chatbot: What date would you like to dine in?

User: Tomorrow.

Chatbot: What time?

User: 6pm.

Chatbot: What is your email address?

User: YourName123@gmail.com

Chatbot: I have received your request and will be sending the suggestions shortly. Have a Great Day !!

User: Thank you.

Chatbot: You are welcome.

(a few minutes later)

User will get an email with the following content:
Hello! Here are my Chinese restaurant suggestions for 5 people, for 2023-02-26 at 18:00 : 1. Friendly Restaurant located at 1205 40th Ave, 2. Mala Project located at 245 East 53rd St, 3. Shu Han Ju located at 465 6th Ave. Enjoy your meal!

Built With

  1. S3 - Used to host static frontend
  2. API Gateway - For creating, monitoring, and securing REST APIs at any scale.
  3. Lambda - Function as a Service, event-driven, and serverless computing platform. Acted as backend to run code without provisioning or managing servers.
  4. Lex - Amazon platform to build conversational bots (lex V2).
  5. Simple Queue Service - Message queue for communication between microservices.
  6. Simple Email Service - A cost-effective, flexible, and scalable email service.
  7. DynamoDB - NoSQL database.
  8. Yelp API - Scrape restaurant information.
  9. CloudWatch - Observe and monitor resources and applications on AWS.

Architecture

image

About

A Dining Concierge Chatbot that sends you restaurant suggestions given a set of preferences that you provide the chatbot with through conversation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published