Welcome to the DALVacationHome repository! This project involves building a comprehensive vacation home management application with various modules integrated for enhanced functionality. Below you'll find detailed information about each module, individual contributions, and the overall project setup.
- Project Overview
- Modules
- Services Used
- Individual Contributions
- Repository Links
- Pseudocode/Algorithms
- Setup and Deployment
DALVacationHome is an application designed to manage vacation home bookings, provide customer support, and analyze data. The application integrates various AWS and GCP services to deliver a robust and scalable solution.
The Virtual Assistant Module integrates Dialog Flow, enhancing user interactions with advanced language analysis and speech recognition. This module enables seamless transitions between chatbots and human agents, automating repetitive tasks like room bookings and customer inquiries to improve usability and customer experience.
This module enables synchronous chat retrieval between property agents and customers. Initially lacking in functionality, it was improved by implementing Google Cloud Functions to retrieve and display complete chat histories. This addition aligns the module with real-world scenarios and enhances its core purpose.
The Notification Module uses AWS services to handle user subscriptions and message notifications. It leverages AWS Lambda functions triggered by SQS queues to create and manage SNS topics, ensuring users receive timely email notifications. The integration with Amazon API Gateway allows the frontend application to communicate with these services efficiently.
The Data Analysis & Visualization module was enhanced by adding a filter based on Room Id. This functionality, critical for analyzing user feedback and sentiment, was implemented by addressing data type mismatches and ensuring accurate filtering of BigQuery data.
Service | Purpose |
---|---|
Google Dialog Flow | Conversational AI and chatbot functionality. |
AWS Lambda | Serverless functions for various backend processes. |
Amazon SQS | Queue service for managing and processing asynchronous messages. |
Amazon SNS | Notification service for sending messages to users. |
Amazon API Gateway | API management and gateway for frontend-backend communication. |
Google Cloud Functions | Serverless functions for chat history retrieval and other processes. |
Firestore | NoSQL database for storing chat messages and related data. |
GCP NLP API | Data analysis and visualization of user feedback and sentiment. |
DynamoDB | NoSQL database for user data storage and retrieval. |
Looker Studio | Business intelligence and data visualization for generating reports and dashboards. |
- GitLab Repository: https://github.com/pateljay15/DalVacationHome
- Deployed Application: https://dalvacationhome-sdp36-834568195327.us-east1.run.app
Second-Factor-Auth Lambda Function:
- Extract user email and security questions.
- Fetch and validate user data from DynamoDB.
- Return true if answers match, otherwise false.
Third-Factor-Auth Lambda Function:
- Extract user email and cipher text.
- Fetch and validate user data from DynamoDB.
- Return true if cipher texts match, otherwise false.
Process:
- User requests booking details.
- Google Dialog Flow processes the intent and invokes Lambda function.
- Lambda fetches booking details from API and returns a response.
Functions:
- Retrieve Entire Conversation: Fetch chat messages from Firestore.
- Get Chat_id: Query Firestore to find chat_id based on user email and type.
Booking Reference Code Generation:
- User clicks "Book" button.
- Lambda generates a booking reference code and stores it.
- The code is returned to the web application and shown to the user.
Assigning Random Agent:
- Process message from SQS Queue.
- Assign a random agent from the pool and update Firestor with Customer & Agent details.