i LOW LEVEL DESIGN (LLD)
Low Level Design
Review Prediction
Written By Divith Siddu
Document Version 0.1
Last Revised Date 14 – May -2024
FOOD RECOMMENDATION LLD i
ii LOW LEVEL DESIGN (LLD)
Document Control
Change Record:
Version Date Author Comments
0.1 14 – May - Divith Siddu LLD 1.0
2024
Reviews:
Version Date Reviewer Comments
Approval Status:
Version Review Reviewed By Approved By Comments
Date
FOOD RECOMMENDATION LLD ii
iii LOW LEVEL DESIGN (LLD)
Contents
1. Introduction............................................................................................................................1
1.1. What is Low-Level design document?..............................................................................1
1.2. Scope..............................................................................................................................1
2. Architecture............................................................................................................................2
3. Architecture Description..........................................................................................................3
3.1. Data Description..............................................................................................................3
3.2. Downloading Data...........................................................................................................3
3.3. Data Cleaning..................................................................................................................3
3.4. Data Validation...............................................................................................................3
3.5. Data Transformation.......................................................................................................3
3.6. Model Building................................................................................................................3
3.7. Model Training................................................................................................................3
3.10. Data from User...................................................................................................................4
3.11. User Data Transformation..................................................................................................4
3.12. Predicting the Review........................................................................................................4
3.13. Deployment.......................................................................................................................4
4. Unit Test Cases........................................................................................................................5
FOOD RECOMMENDATION LLD iii
1 LOW LEVEL DESIGN (LLD)
1. Introduction
1.1. What is Low-Level design document?
The goal of LLD or a low-level design document (LLDD) is to give the internal logical design of the
actual program code for Review Prediction. LLD describes the class diagrams with the methods and
relations between classes and program specs. It describes the modules so that the programmer can
directly code the program from the document.
1.2. Scope
Low-level design (LLD) is a component-level design process that follows a step-by-
step refinement process. This process can be used for designing data structures, required software
architecture, source code and ultimately, performance algorithms. Overall, the data organization
may be defined during requirement analysis and then refined during data design work
Page | 1
2 LOW LEVEL DESIGN (LLD)
2. Architecture
Page | 2
3 LOW LEVEL DESIGN (LLD)
3. Architecture Description
3.1. Data Description
This is a Brazilian ecommerce public dataset of orders made at Olist Store. The dataset has
information of 100k orders from 2016 to 2018 made at multiple marketplaces in Brazil. Its features
allows viewing an order from multiple dimensions: from order status, price, payment and freight
performance to customer location, product attributes and finally reviews written by customers.
3.2. Downloading Data
The data as described above is a real time date which is provided by Olist on Kaggle and can be
downloaded directly from Kaggle website.
3.3. Data Cleaning
Data cleaning on the Olist dataset involves identifying missing or inconsistent data, correcting anomalies, and
standardizing formats. This ensures the integrity and reliability of analyses, providing a solid foundation for
subsequent data exploration and modeling tasks.
3.4. Data Validation
In this stage the new dataset created after EDA or the final data in validated to check if only relevant
information is available which is crucial for upcoming stages.
3.5. Data Transformation
The data transformation process addresses various challenges in handling categorical features, text
data, and numerical features and finally scaling them to prepare the data for model training.
3.6. Model Building
On the newly transformed data a number of Models were tried and tested finally The XGBoost
classifier from the XGBoost library was selected to train the model on the transformed
data. This choice was made after thorough consideration, including testing various
algorithms and hyperparameter tuning. XGBoost is known for its efficiency and
effectiveness in handling structured data and has been widely adopted in machine learning
competitions and real-world applications.
3.7. Model Training
The XGBoost Classifier is trained on the final data set and joblib file is created which will be used to
predict in later stages.
Page | 3
4 LOW LEVEL DESIGN (LLD)
3.10. Data from User
Here we will collect physiological data from user such as user height and weight, freight value, review
message, cost and number of other information required to do accurate prediction.
3.11. User Data Transformation
Here Data received will be transformed using same methods as the data set was transformed.
3.12. Predicting the Review
After transforming the user input data , this data is used to predict using the XGB classifier model which
was trained earlier and the review is displayed.
3.13. Deployment
We will be deploying the model to AWS EC2 instance.
Page | 4
5 LOW LEVEL DESIGN (LLD)
4. Unit Test Cases
Test Case Description Pre-Requisite Expected Result
Verify whether the Application URL is 1. Application URL Application URL should be
accessible to the user should be defined accessible to the user
1. Application URL
Verify whether the Application loads is accessible The Application should load
completely for the user when the URL 2. Application is completely for the user when the
is accessed deployed URL is accessed
Verify whether user is able to see input 1. Application is User should be able to see input
fields accessible fields on logging in
Verify whether user is able to edit all 1. Application is User should be able to edit all input
input fields accessible fields
Verify whether user gets train and 1. Application is User should get train and predict
predict button to submit the inputs accessible button to submit the inputs
Verify whether user is presented with 1. Application is User should be presented with
recommended results on clicking accessible recommended results on clicking
submit submit
Verify whether the recommended 1. Application is The recommended results should
results are in accordance to the accessible be in accordance to the selections
selections user made user made
Page | 5