0% found this document useful (0 votes)
12 views36 pages

Synopsis Snehal Sable

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views36 pages

Synopsis Snehal Sable

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 36

SYNOPSIS

ON

SmartCart Hub
BY

Snehal Sable

SAVITRIBAI PHULE PUNE UNIVERSITY


MASTER OF COMPUTER APPLICATION

Dr. D.Y. Patil School of MCA


Charoli (BK), PUNE-412105

Year 2024-2025

1
CHAPTER 1: INTRODUCTION

The digital transformation in retail has led to a surge in the number of online
grocery delivery platforms. While these platforms offer unparalleled
convenience and competitive pricing, they also pose a significant challenge to
consumers who must manually compare prices and discounts across multiple
sites to find the best deals. This process is often tedious and time-consuming,
detracting from the overall convenience of online shopping.

To address this challenge, the SmartCart Hub project aims to centralize the price
comparison process, enabling users to make informed purchasing decisions
efficiently. As the landscape of grocery shopping becomes increasingly complex
with the proliferation of online platforms, each offering different prices and
discounts, consumers are often overwhelmed by the task of manually comparing
prices across various websites and apps.

By automating the price comparison process and presenting it through an


intuitive and user-friendly interface, the SmartCart Hub will save users time and
effort, making the grocery shopping experience more efficient and cost-
effective. This project leverages Python to extract, process, and display real-
time price data and discounts for grocery items across multiple platforms.

While there are numerous platforms globally, such as BigBasket, Zepto, Blinkit,
Amazon, and Flipkart, this project focuses on a subset of popular services to
demonstrate the feasibility and scalability of the system. The ultimate goal is to
simplify the shopping experience and help users save both time and money.
Future enhancements may include the integration of direct ordering capabilities,
transforming the SmartCart Hub into a comprehensive solution for online
grocery shopping.

2
1.1 ABSTRACT

In today’s fast-paced world, consumers frequently rely on online platforms for


grocery shopping due to the convenience of doorstep delivery. However, the
presence of multiple platforms, each offering varied prices and discounts,
creates a dilemma for shoppers aiming to maximize savings. The SmartCart
Hub project addresses this issue by automating the process of price and discount
comparison for grocery items.

This Python-based system consolidates price information from leading grocery


delivery platforms like BigBasket, Zepto, Blinkit, Amazon, and Flipkart
(examples, not exhaustive). It provides a unified interface that displays prices,
highlights discounts, and allows users to quickly identify the most cost-effective
options for their needs. By reducing manual effort, this system empowers users
to make smarter purchasing decisions with ease.

Key Objectives:

 To provide real-time price and discount comparison.

 To reduce the hassle of switching between multiple apps/websites.

 To offer a scalable and user-friendly solution for grocery shoppers.

The project serves as a foundation for further enhancements, including the


inclusion of additional platforms, price trend analysis, and personalized
recommendations.

3
1.2 EXISTING SYSTEM AND LIMITATIONS OF THE EXISTING
SYSTEM

Existing System:

 Users manually check grocery prices across multiple apps or websites


like BigBasket, Zepto, and Amazon to find the best deals.

 Some platforms provide individual price comparison but are limited to


specific categories or regions.

Limitations:

1. Time-consuming: Manually switching between apps/websites is


inefficient.

2. Inconsistent discounts: Offers vary across platforms, making it difficult to


identify the best deals quickly.

3. Lack of centralization: No unified platform currently exists to compare


prices across all major grocery platforms.

4. User frustration: The manual process often leads to missed deals or


overspending.

1.3 NEED FOR THE PROPOSED SYSTEM

The proposed system aims to bridge the gap by automating the price and
discount comparison process for grocery items. With increasing reliance on
online grocery delivery, a centralized system will:

 Save users' time by providing a one-stop solution for price comparison.

 Enhance decision-making by clearly displaying prices and discounts.

 Reduce costs by enabling users to choose the most economical option.

4
 Cater to modern consumer needs, where convenience and efficiency are
paramount.

1.4 SCOPE OF SYSTEM

The scope of the SmartCart Hub includes the following components:

 Web Scraping: Implement web scraping techniques to extract price and


discount data from various online grocery platforms.

 Data Storage: Store the extracted data in a structured database to


facilitate efficient retrieval and comparison.

 Data Analysis: Utilize data analysis techniques to clean, process, and


analyze the data, providing users with insights such as the lowest price,
average price, and maximum discount for each item.

 User Interface: Develop a user-friendly web interface that displays the


comparison of prices and discounts, allowing users to easily make
informed purchasing decisions.

 Real-Time Updates: Schedule scripts to periodically update the data,


ensuring users have access to the latest prices and discounts.

 Future Enhancements: Plan for future integration of direct ordering


functionality, enabling users to place orders directly from the application,
thus simplifying the shopping process even further.

5
CHAPTER 2: PROPOSED SYSTEM

The SmartCart Hub is designed to centralize and simplify the comparison of


grocery prices and discounts across multiple online platforms. The system
employs Python-based technologies to create an efficient, user-friendly interface
that saves time and enhances decision-making for users.

2.1 STUDY OF SIMILAR SYSTEMS

While several platforms allow grocery shopping, they primarily serve as


standalone services. Some offer limited price comparisons, but they often lack
comprehensive, real-time data across multiple platforms.
Examples of similar systems:

1. Comparison Websites/Apps: Platforms like MySmartPrice or PriceDekho


compare product prices but are more focused on electronics or non-grocery
items.
2. Individual Grocery Platforms: BigBasket, Zepto, and Blinkit provide
price and discount details but only within their ecosystem.

Limitations of Similar Systems:

 Lack of multi-platform price aggregation for groceries.

 Limited or no real-time updates.

 Lack of user-centric features like personalization or filtering by discounts

2.2 FEASIBILITY STUDY

The feasibility study evaluates the practicality of implementing the proposed


system.

1. Technical Feasibility:

 Python and its libraries (e.g., BeautifulSoup, Selenium, Pandas) provide


robust tools for web scraping, data handling, and UI development.
6
 Platforms often have APIs, making integration easier and more efficient.

2. Operational Feasibility:

 The system reduces user effort by providing consolidated data, improving


user satisfaction.
 It aligns with modern consumer behavior focused on convenience and
cost-effectiveness.

3. Economic Feasibility:

 The project requires minimal investment, leveraging open-source tools


and resources.
 Savings generated for users by identifying the best deals outweigh
development costs.

2.3 OBJECTIVES OF THE PROPOSED SYSTEM

 To centralize the comparison of grocery prices from multiple online


platforms.
 To provide real-time data on prices and discounts to enable informed
purchasing decisions.
 To create a user-friendly interface that simplifies the process of finding
the best deals.
 To reduce the time and effort required for grocery shopping by
automating the price comparison process.

2.4 FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS

Functional Requirements:

1. Enable users to search for grocery items and view platform-wise price
comparisons.

2. Highlight discounts and promotions for selected items.

7
3. Allow sorting and filtering by price, discount, or platform.

4. Provide real-time updates of prices and stock availability.

5. Support exporting comparison data for offline use (e.g., CSV format).

Non-Functional Requirements:

1. Performance: The system should fetch and display data within 5


seconds.

2. Scalability: Capable of handling large datasets and integrating new


platforms easily.

3. Usability: User-friendly interface with simple navigation.

4. Reliability: Ensure accurate and up-to-date price data.

5. Security: Protect user data and comply with platform usage policies.

2.5 USERS OF THE SYSTEM

1. Primary Users:

 General Consumers: Individuals who shop for groceries online and want
to save time and money.

2. Secondary Users:

 Retailers: To analyze competitors' pricing and adjust their strategies.


 Data Analysts: Interested in studying price trends and consumer
behaviour.
 Developers: Interested in integrating the system with additional features
or platforms.

8
2.6 MODULE SPECIFICATION

1. Web Scraping Module

Tools: BeautifulSoup, Selenium

Function: This module is responsible for collecting data from various online
grocery platforms by scraping their web pages. It will extract real-time price
and discount information for grocery items. The scraper will interact with the
HTML structure of the platforms to extract relevant details, such as:

 Item name
 Price
 Discount percentage
 Availability status
 Platform name (e.g., BigBasket, Amazon, etc.)

Process:

 BeautifulSoup will be used for static scraping, parsing HTML content,


and extracting the necessary data from the page.
 Selenium will handle dynamic pages that require JavaScript rendering
and interaction (e.g., scrolling, clicking to load more items).

2. Data Processing Module

Tools: Pandas, NumPy

Function: This module processes and structures the raw data scraped from
different platforms into a clean, organized format for display. It will:

 Clean and standardize the data (e.g., price formatting, handling missing
data).

9
 Convert raw data into structured data, such as creating a table or
dataframe that lists each grocery item, its price across various platforms,
and available discounts.
 Calculate additional metrics, like savings (percentage of discount) or the
best price available.
 Store processed data in an easy-to-manage format for the user interface to
display.

Process:

 Pandas will be used for data manipulation and transformation (e.g.,


organizing data into a DataFrame, performing comparisons).
 NumPy will help with any mathematical or statistical operations, like
computing price differences or percentage discounts.

3. User Interface (UI) Module

Tools: tkinter, PyQt, Flask

Function: The UI module provides the user with an intuitive interface to


interact with the system. It will:

 Allow users to search for grocery items.


 Display a comparison table showing prices from different platforms.
 Highlight the best deals based on price or discount.
 Offer filtering options (e.g., price range, platforms, or discount
percentage) to help users narrow down choices.

Process:

 tkinter (fordesktop apps) or PyQt will be used to build a native graphical


interface that allows users to input search queries and view results.

10
 Flask can be used if the system is being developed as a web app,
providing a simple framework for serving the comparison results in a
browser.
 Features will include responsive layout, a clean design, and easy
navigation to ensure a seamless user experience.

4. Data Storage Module

Tools: SQLite, JSON

Function: This module will handle storing and retrieving data from the system.
It will:

 Store the scraped and processed data to avoid repeated scraping for the
same items.
 Allow users to save their search results or favorite products for future
reference.
 Provide offline access to previously retrieved data.

Process:

 SQLite will be used to store structured data in a relational database


format, ensuring efficient querying and retrieval of product information.
 JSON can be used for lightweight data storage and sharing (e.g., saving
user preferences or temporary data for sessions).
 The module will provide the functionality to load and update data
whenever the user interacts with the system.

11
CHAPTER 3: SYSTEM ANALYSIS AND DESIGN

3.1 ENTITY RELATIONSHIP DIAGRAM (ERD)

The SmartCart Hub database is designed using the following entities:

1. Item: Contains details like item ID, name, and category.

2. Platform: Stores platform-specific data like platform ID and name.

3. Price: Tracks item prices and discounts across platforms.

4. User: Logs user preferences and search history.

Relationships:

 Item is associated with multiple Platforms.

 Each Platform has multiple Prices for various items.

 User interacts with the Item data through searches.

Example relationship:

 Item (1) - Price (Many)

 Platform (1) - Price (Many)

 User (Many) - Item (Many)

12
13
3.2 USE CASE DIAGRAM

The Use Case Diagram represents the interactions between the actors (users or
other systems) and the system.

 Actors:

1. User (Primary actor): Interacts with the system to search and view
price comparisons.

2. Scraper (System component): Fetches price data from various


platforms.

3. Database: Stores and retrieves data as required by the system.

 Use Cases:

1. Search Item: User searches for an item.

2. View Comparison: User views the price comparison across


different platforms.

3. Filter Results: User filters search results based on price, discount,


or platform.

4. Export Data: User exports the comparison results.

The diagram will show interactions between actors and the corresponding
system functions

14
15
Diagram Explanation:

1. User Interactions:

o The User interacts with the system to initiate various actions (use
cases) such as searching for items, viewing comparisons, filtering
results, and exporting data.

2. System Components:

o Scraper:

 Engages when the user searches for items.

 Fetches and updates price data from various online


platforms.

o Database:

 Stores the data fetched by the scraper.

 Retrieves and processes data when the user views


comparisons or filters results.

Summary of Interactions:

 Search Item:

o The user initiates a search.

o The system triggers the scraper to fetch current data.

o The system stores or updates the data in the database.

 View Comparison:

o The user views the results of their search.

o The system queries the database to retrieve and display the relevant
price comparisons.

16
 Filter Results:

o The user applies filters to refine the search results.

o The system processes these filters and queries the database to


adjust the displayed data accordingly.

 Export Data:

o The user exports the comparison results.

o The system processes the data into a downloadable format, which


the user can save for offline use.

17
3.3 CLASS DIAGRAM

The Class Diagram represents the structure of the system by showing the
system's classes, their attributes, methods, and relationships.

 Classes: 1.Item

 Attributes: Item_ID, Name, Category, Description.

 Methods: get_price(), get_discount(), get_availability().

2. Platform

 Attributes: Platform_ID, Name, Website_URL.

 Methods: get_prices(), get_platform_data().

3. Price

 Attributes: Price_ID, Amount, Discount, Date, Availability.

 Methods: apply_discount(), get_final_price().

4. User

 Attributes: User_ID, Name, Search_History, Preferences.

 Methods:search_item(),save_search_history(),filter_results().

5. Scraper

 Attributes: Scraper_ID, URL, Status.

 Methods: scrape_data(), parse_html(), extract_prices().

The relationships between these classes could be:

 Item is associated with multiple Prices.

 Platform has multiple Prices for each Item.

18
 User can search and filter multiple Items.

19

20
3.4 SEQUENCE DIAGRAM

A sequence diagram visually represents the interactions between different


objects in a specific sequence of events for a particular use case. For SmartCart
Hub, let's create a sequence diagram for a user searching for a grocery item and
retrieving price comparisons.

Actors and Objects:

1. User

2. User Interface (UI)

3. Search Controller

4. Scraper

5. Database

6. Comparison Module

21
7.

Explanation:

1. User interacts with the UI to initiate a search query.

2. UI communicates with the Search Controller to process the request.

3. Search Controller triggers the Scraper to collect the necessary data.

4. Scraper interacts with various online platforms to fetch the price data.

5. Scraper stores the collected data in the Database.

6. Search Controller retrieves the data from the Database.

7. Search Controller sends the data to the Comparison Module for


analysis.

8. Comparison Module processes and organizes the data.

9. Comparison Module sends the organized data back to the UI.

22
10.UI displays the comparison results to the User.

3.5 ACTIVITY DIAGRAM

The Activity Diagram represents the workflow or the series of steps involved
in the system.

 Activities:

1. Start: The user starts by entering the item they want to search for.

2. Scraping: The scraper collects data from platforms.

3. Data Processing: Data is cleaned and stored.

4. Comparison: Prices are compared across platforms.

5. Displaying Results: The final results are shown to the user.

6. End: User can either exit or refine the search.

23
This diagram helps visualize the flow of actions, such as how the data is
collected, processed, and presented to the user.

24
Explanation:

1. Start:

o The user's action to initiate a search query kicks off the workflow.

2. User Enters Search Query:

o The user inputs the item they are searching for through the
interface.

3. Scraper Collects Data from Multiple Platforms:

o The scraper fetches the necessary data from various grocery


platforms.

4. Data Processing (Cleaning and Storing):

o The collected data is processed to ensure it is clean and stored


correctly in the system's database.

5. Compare Prices Across Platforms:

o The system analyzes the processed data, comparing the prices,


discounts, and availability of the item across different platforms.

6. Display Results to User:

o The results, including comparisons, are displayed to the user for


review.

7. End: User Can Refine Search or Exit:

o The user can either refine their search based on the displayed
results to get more specific information or exit the application.

25
3.6 MODULAR HIERARCHY DIAGRAM

The diagram illustrates the top-level modules and their respective sub-modules:

1. Web Scraping Module:

 Static Scraping: Handles HTML parsing for static pages.

 Dynamic Scraping: Manages interaction with JavaScript-enabled


pages.

2. Data Processing Module:

 Data Cleaning: Standardizes and removes inconsistencies from


data.

 Data Standardization: Formats data for uniformity.

 Metric Calculation: Computes discounts, savings, and


comparisons.

3. User Interface Module:

 Search Functionality: Allows users to input queries.

 Results Display: Shows comparison tables and data.

 Filters and Sorting: Helps refine results.

 Export Data: Enables saving results for later use.

4. Data Storage Module:

 SQLite Integration: Stores structured data in a relational database.

26
 JSON Handling: Saves temporary and lightweight data.

 Data Retrieval: Fetches saved or cached data for reuse.

27
3.7 COMPONENT DIAGRAM

28
Component Diagram Explanation:

29
 Web Scraping Module:

o Static Scraper: Extracts data from static web pages.

o Dynamic Scraper (Selenium): Extracts data from dynamic web


pages that use JavaScript.

 Data Processing Module:

o Data Cleaning: Cleans and corrects the data.

o Data Standardization: Formats data uniformly.

o Metric Calculation: Calculates discounts and savings.

 User Interface Module:

o Search Interface: Allows users to search for items.

o Results Display: Shows comparison results.

o Filters and Sorting: Refines and sorts the results.

o Export System: Enables downloading data.

 Data Storage Module:

o SQLite Database: Stores structured data.

o JSON Handler: Manages temporary data.

o Data Retrieval: Fetches stored data.

 External Systems:

o Grocery Platforms: Provide data to the Web Scraping Module.

3.8 DEPLOYMENT DIAGRAM

30
A deployment diagram shows the physical deployment of artifacts (software
components) on nodes (hardware components) in a system. It helps visualize the
architecture of the system and the distribution of software across the hardware.

Components:

1. Client Device

o User Interface Module

2. Web Server

o Web Scraping Module

o Data Processing Module

o User Interface Backend

3. Database Server

o Data Storage Module

External Systems:

 Grocery Platforms (e.g., BigBasket, Zepto)

31
32
3.9 WEB SITE MAP DIAGRAM

A sitemap diagram provides a visual representation of the structure and


organization of a website. It shows how different pages are linked and how
users can navigate through the site.

33
3.10 Table Specification [Data Dictionary]

The Data Dictionary provides detailed descriptions of the data elements used in
the SmartCart Hub system. It includes table names, attributes, data types, and
descriptions to ensure consistency and clarity in the database design.

Tables and Their Specifications

1. User Table

Attribute Data Type Description

UserID VARCHAR Primary Key, unique identifier for users.

Name VARCHAR Name of the user.

Email VARCHAR Email address of the user.

Preferences TEXT User's preferences for grocery items.

SearchHistory TEXT History of user's search queries.

Attribute Data Type Description

ItemID VARCHAR Primary Key, unique identifier for items.

Name VARCHAR Name of the grocery item.

Category VARCHAR Category to which the item belongs.

Description TEXT Description of the grocery item.

3. Platform Table

34
Attribute Data Type Description

PlatformID VARCHAR Primary Key, unique identifier for platforms.

Name VARCHAR Name of the platform.

WebsiteURL VARCHAR URL of the platform's website.

4. Price Table

Attribute Data Type Description

PriceID VARCHAR Primary Key, unique identifier for prices.

ItemID VARCHAR Foreign Key, references ItemID in Item table.

PlatformID VARCHAR Foreign Key, references PlatformID in Platform table.

Price FLOAT Price of the item.

Discount FLOAT Discount on the item.

Availability BOOLEAN Availability status of the item.

Date DATE Date when the price was recorded.

5. Scraper Table

35
Attribute Data Type Description

ScraperID VARCHAR Primary Key, unique identifier for scrapers.

URL VARCHAR URL from which data is scraped.

Status VARCHAR Current status of the scraper.

36

You might also like