Professional Documents
Culture Documents
Specification
Price Gram
Version 1.0 approved
Prepared by
11/20/2022
Table of Contents
Table of Contents........................................................................................... ii
Revision History............................................................................................. ii
1. Introduction......................................................................................................... 4
1.1 Purpose.............................................................................................................. 4
1.5 References......................................................................................................... 4
2. Overall Description............................................................................................. 5
4. System Features............................................................................................... 8
4.1 Dashboard......................................................................................................... 8
4.4 Login......................................................................................................... 10
4.6 Categories................................................................................................. 11
4.7 Stores........................................................................................................ 11
4.8 Price Comparator...................................................................................... 12
4.9 Favourites................................................................................................. 13
4.10 History....................................................................................................... 13
6. Other Requirements.................................................................................. 17
Appendix A: Glossary............................................................................................ 17
Revision History
Name Date Reason For Changes Version
1. Introduction
1.1 Purpose
The product is called “PriceGram”. It fetches data from best selling e-commerce websites,
compares the prices, and recommends a product to the user based on his locality and
interests. We are building this platform from scratch, starting with the first revision. This
document specifies the requirement for this website.
1.2 Document Conventions
Following conventions have been applied to give a better and more convenient reading
experience.
● Bold words are the names of technologies and terms that are specific to the software
field.
● Underlined content is the summary of the topic or paragraph in one line. Users can
choose to read this line from each topic and gain a bird eye view of the document.
● Italic content is used where a foreign quote is used, from a website, paper, article on
the internet.
Document is advised to be read in a sequence starting from top to bottom, without skipping a
part for better understanding of the requirements.
1.5 References
● Website PriceGram - https://pricegram.netlify.app
● Selenium (Web Scraping) - https://www.selenium.dev
● SQL (Database) - https://dev.mysql.com/doc/
● Python (Back-End) - https://www.python.org
2. Overall Description
2.1 Product Perspective
“PriceGram” provides its users a platform where they can search for their product at the best
price. It includes the algorithms which compare the price of the required product and show
the user the results. It is a new self-contained project.
This product will be used by customers as part of the primary web application.
2.3.2 Maintenance:
2.3.3 Management:
This product will be used by management for insights into product performance.
2.3.4 Marketing:
This product will be used by the marketing team for advertisement purposes. The user
classes are mentioned in their order of priority assigned.
2.3.5 Security:
Handling security issues with the website on deployment and transfer phases to secure data
of different classes.
● Front-end
● Back-end
● Database
4. System Features
All the system requirements are organized below from top to bottom in order of their priority
and importance.
● Dashboard
● LogIn
● SignUp
● User Profile
● Comparison
● Products
● Stores
● Favorites
● Popular
● Data Gathering
4.1 Dashboard
4.1.1 Description and Priority
It is the most essential feature. When the user visits the website it is the first UI to
appear in front of him/her. It contains all the other important features users can
access. Without this other features can not be accessed. Features/components are
as follow:
● Log in / Sign up button.
● Search Bar.
● Navigation Bar.
● List of Latest Products in an organized way.
● Contact Information.
Stimulus Response
User clicks on any button of the Navigation System will open the corresponding page.
bar.
User clicks on the Search bar. System activate the Search bar.
User clicks on any product icons/buttons System will open that page.
that are listed.
● The system must allow users to access and click on all the buttons/icons on
Dashboard.
● Profile icon
● Products icon/button
● Categories icon/button
● Stores icon/button
● Comparison icon/button
● Favorites icon/button
● History icon/button
Stimulus Response
User presses the Profile icon. System will open the User Profile page.
User presses the Categories button. System will open the Categories page.
User presses the Stores button. System will open the Stores page.
User presses the Comparison button. System will open the Comparison page.
User presses the Favourites button. System will open the Favourites page.
User presses the History button. System will open the History page.
4.2.3 Functional Requirements
● Before opening the History and Favourite pages System will check whether the
user is registered or not.
It is not a very important feature because users can access the website without
making an account. However, to access additional features like Favourite, History
etc Registration is a must step.
Stimulus Response
User enters his/her valid gmail id in the System will register it and put it in the
specified field. database.
User enters his/her name (only alphabets), System will register it and put it in the
date of birth. database.
User enters account invalid password. System will register it and put it in the
database.
User enters any invalid info. System will prompt “Invalid Entry”.
● System will first check in its own database whether the gmail is already registered or
not.
● Then System will send a query to google API to validate gmail.
● Then System will check all the fields for validation.
4.4 Log In
4.4.1 Description and Priority
This feature is only for registered users. It allows them to access their account using
login credentials.
Stimulus Response
User enters invalid username or password. System will show an “Invalid Credentials”
error.
4.4.3 Functional Requirements
● The system must look up the username and password combinations in the database.
● If a combination is found then authenticate users else show error.
This part falls in the list of low priority features but it is a basic protocol in every
software dealing with countless users every hour.
Stimulus Response
User clicks on the Profile button on All the required details of the user are
Dashboard.. visible on the page.
User clicks on the Edit Profile button Users can change the details of the profile.
User clicks on History button The history of the items viewed by the user
appear on the page
● The user must be able to view his profile and correct details
● The user must be able to edit his details on the user profile
● When the user is editing the profile make sure all the fields are filled correctly.
Account name cannot be changed. Rest can be changed.
4.6 Categories
4.5.1 Description and Priority
This Features allows users to access or view the products available on the website
according to the categories. This page contains the list of categories name like:
● Laptops
● Mobiles
● GPU
● etc.
Stimulus Response
4.7 Stores
4.6.1 Description and Priority
● This feature is of low priority. The website can work without adding this particular
feature.
● Different stores, selling their products, have their HTML pages, providing information
of that store and the products they are selling.
Stimulus Response
The user searches for a store Names and basic information of different
stores are provided that are most relevant
to the search
● This Store page can access data from the database using the backend as an API.
● The store can have basic user data to keep an analytics on which users are visiting
the store.
● It is the most important part of the process. It will compare the prices of the product in
different webstores. All the processes prior to it lead to this process.
Stimulus Response
The user clicks on the button Compare the The system shows a graphical model or any
prices on the product icon. sort of statistical model to display the
comparison to the user.
4.9 Favourites
4.8.1 Description and Priority
Stimulus Response
Users choses and item to be added to The product is added in user’s favourites in
Favourite the database.
Users visits his Favourites All the products and stores that users have
added in this list are previewed here.
● System will check user credentials and then give corresponding data.
4.10 History
4.9.1 Description and Priority
This feature is only available for registered users. Users can view their history by
clicking the History button on the Navigation Bar. This contains the list of products
they have viewed.
Stimulus Response
User clicks on the Clear History button System will delete that particular amount of
and selects the amount of time. time of history.
User ticks the check box corresponding to System will delete that record.
the record and presses the Delete button.
It is one of the most important Features. It will fetch the product most relevant to the
searched product. It is the most complex process in the application which involves
heavy web scraping algorithms to fetch data..
Stimulus Response
User searches for the product in the The app fetches data from the websites of
search bar. several popular online stores.
The app displays the details of the products
in tiles for the user.
● The images, prices and names of the product and also names of the stores from
where the product belongs should be displayed.
● The ability to filter the results according to the requirements of the user must be
provided to it.
4.12 Popular
4.11.1 Description and Priority
Stimulus Response
Recommend products based on popularity Products getting more clicks and ratings are
returned on response.
Recommend products based on the user's After all the products are filtered, they are
interest. sorted in order of user’s preference by
studying the user's past experience and
clicks.
● The back-end should implement proper robust algorithms for computing these
recommendations that might involve latest technologies of machine learning as per
need.
Stimulus Response
Collecting Data from different websites Applying the techniques of web scraping
and requesting data from APIs
6. Other Requirements
6.1 Glossary
Terms Definitions