“GROCERY STORE MANAGEMENT SYSTEM”
MINI PROJECT REPORT
Submitted in partial fulfilment for the award of the degree of
BACHELOR OF COMPUTER SCIENCE
(University of Madras)
Submitted By
SASIKALA A V-222211065
SHALINI R-222211067
VARSHA SRI H-222211071
Under the Supervision and Guidance of
Prof. E.S. VIJAYSHANKAR, M.Sc., M.Phil.,
Assistant professor
DEPARTMENT OF COMPUTER SCIENCE
ESSM COLLEGE OF ARTS AND SCIENCE
DEPARTMENT OF COMPUTER SCIENCE
ESSM COLLEGE OF ARTS AND SCIENCE
(Affiliated to Madras University)
PODHATTOORPET-631208
APRIL-2025
“GROCERY STORE MANAGEMENT SYSTEM”
MINI PROJECT REPORT
Submitted in partial fulfilment for the award of the degree of
BACHELOR OF COMPUTER SCIENCE
(University of Madras)
Submitted By
SASIKALA A V-222211065
SHALINI R-222211067
VARSHA SRI H-222211071
Under the Supervision and Guidance of
Prof. E.S. VIJAYSHANKAR, M.Sc., M.Phil.,
Assistant professor
DEPARTMENT OF COMPUTER SCIENCE
ESSM COLLEGE OF ARTS AND SCIENCE
DEPARTMENT OF COMPUTER SCIENCE
ESSM COLLEGE OF ARTS AND SCIENCE
(Affiliated to Madras University)
PODHATTOORPET-631208
APRIL-2025
ESSM COLLEGE OF ATRS AND SCIENCE
DEPARTMENT OF COMPUTER SCIENCE
CERTIFICATE
This is to certify that the project entitled “GROCERY STORE
MANANGEMENT SYSTEM” was carried out by SASIKALA A V (222211065),
SHALINI R (222211067), and VARSHA SRI H (222211071), in partial fulfilment
of the requirement for the Award of Bachelor of Computer Science Degree of the
University of Madras, during the Sixth Semester under our guidance.
SIGNATURE OF THE GUIDE SIGNATURE OF THE HOD
SIGNATURE OF THE PRINCIPLE
Submitted for the Viva-Voce Examination held on
INTERNAL EXA MINER EXTERNAL EXAMINER
ESSM COLEGE OF ARTS AND SCIENCE
DEPARTMENT OF COMPUTER SCIENCE
DECLARATION
SASIKALA A V(222211065), SHALINI R(222211067), and VARSHA
SRI H(222211071), a Bonafide students of Department of Computer Science,
ESSM College of arts and Science, podhattoor pet, would like to declare that
the project work entitled “GROCERY STORE MANAGEMENT SYSTEM”
in partial fulfilment of B.Sc. Computer Science degree course of the University
of Madras is our original work.
DATE: Signature
ACKNOWLEDGEMENT
I am highly to our beloved correspondent Dr.E.S.S. RAMAN,MD. ESSM
College of Arts and Science for the encouragement rendered to us in doing the
project work, work are insufficient to express my heartfelt thankfulness to Thiru.
E.S.R. ARUN SUBRAMANIAM, CEO College of Arts Science who provided us
all the facilities during the course of work of this study.
I express my sincere thanks to Principal, ESSM College of Arts and Science
for valuable advice and suggestions to complete this mini project work.
I am Grateful Prof. D.K. RAMKUMAR., M.Sc., M.Phil., M.Ed., ph.D.,
Assistant professor and Head of Department of Computer Science, ESSM College
of Arts and Science for entire support and guidance.
I express my sincere thanks to Prof. E.S. Vijay Shankar, M.Sc., M.Phil.,
Assistant Professor and Guide Department of computer science, ESSM College of
Arts and Science for entire support and encouragement throughout the project
work.
Finally, I bow my head before God almighty who blessed me with enough physical
and mental strength for the successful completion of the project.
SASIKALA A V
SHALINI R
VARSHA SRI H
TABLE OF CONTENT
CHAPTER NO. CONTENT
1 Abstract
2 Introduction
3 Scope of Grocery Store Management System
4 Grocery Store Management System-Code
Explanation
5 Project Overview
6 Setting up the Environment
7 7.1 Building the Grocery Management System
7.1.1 Initializing the application
7.1.2 Designing the user interface
7.1.3 Creating Widgets
7.1.4 Tree view for Displaying items
8 8.1 Flow chart Description
8.2 Diagram
9 Full Grocery Store Management System-Source Code
10 Output Testing and Verification
11 Conclusion
12 Future Scope
13 Bibliography
GROCERY STORE MANAGEMENT SYSTEM
A.V.Sasikala, R.Shalini, H.Varsha sri
Student of ESSM College of Arts and Science
E.S.Vijay Shankar, Asst.Prof
Abstract
The purpose of the Grocery Store Management System is to automate
the existing manual system with the help of computerized equipment and full-
fledged computer software, fulfilling their requirements, so that their valuable
data/information are often stored for an extended period with easy accessing
and manipulation of the same. The required software and hardware are easily
available and straightforward to figure with.
Grocery Store Management System, as described above, can lead to an
error-free, secure, reliable, and fast management system. It can assist the user
to consider their other activities rather than consider the record keeping. Thus,
it’ll help organizations in better utilization of resources. It is possible for
organizations to maintain computerized duplication. In other words, one does
not have to be distracted by irrelevant information in order to succeed in the
knowledge.
The project is developed with the objective of making the system
reliable, easier, faster, and more informative. Basically, the project describes
the way to manage permanent performance and better services for the clients.
INTRODUCTION:
A Grocery Management System is the system where all the
aspects related to the proper management of a grocery store are
done. These aspects involve managing information about the varied
products, staff, managers, customers, billing, etc. This system
provides an efficient way of managing Grocery Store information.
Also allows the customer to get and buy the things purchased.
This project is based on the sales transaction and billing of
items in a grocery store. The first activity is based on adding the
items to the system along with the rate, which is present in the
grocery store and the name of the items, which the grocery store will
agree to sell. This authority is given only to the
admin(administrator). Any modifications to be wiped out the item
name and therefore the rate is often done only by admin. He also has
the proper to delete any item. As the customer buys the product and
involves the billing counter, the user is meant to enter the item name
he purchased and therefore the quantity of the item he had
purchased. This is not an enormous task.
This study is to produce software that manages the sales
activity done in a grocery store, maintaining the stock details, and
maintaining the records of the sales done for a particular month/year.
The users will consume less time in calculation and therefore the
sales activity are going to be completed within a fraction pf seconds
whereas manual system will make the user write it down which is a
long procedure and so paperwork will be reduces and the user can
spend more time on the monitoring the grocery store.
The project is going to be user-friendly and straightforward to
use. The system will display all the things whose name starts with
the letter selected by the user. He can select out of those displayed.
Finally, a separate bill is going to be generated for every customer.
This will be saved in the database. Any periodic records are often
viewed at any time. Admin provides a singular username and
password for every employee through which he can log in.
Objective
The main objective of the project Grocery store Management
System is to manage the details of the Customer, Product, Product
Company, product Type,Supplier. It manage all the information
about Customer, Stock, Supplier and Customer. The project is totally
build at administrative end and thus only the administrator is
guaranteed the access. The purpose of the project is to build an
application program to reduce the manual work for managing the
Customer, Product, Stock, Product Company. It tracks all the details
about the Product Company, Product Type, and Supplier.
Some of the key benefits include:
1. Efficiency A grocery inventory management system
automates manual tasks, streamlines processes, and reduces
the need for labor-intensive stock counts. ...
2. Real-Time Inventory Tracking With a grocery inventory
management system’s real-time tracking capabilities, store
managers gain immediate visibility into stock levels and
movement. ...
3. Reduced Waste ...
4. Improved Customer Experience ...
5. Inventory Accuracy ...
Scope of Grocery Store Management System
It may help collecting perfect management in details. In a very short
time, the collection will be obvious, simple and sensible. It will help a person
to know the management of passed year perfectly and vividly. It also helps in
current also works relative to Grocery Store Management System. It will be
also reduced the cost of collecting the management & collection procedure
will go on smoothly.
Our project aim at Business process automation, i.e. we have tried to
computerize various processes of Grocery Store Management System.
In computer system the process has to fill the various forms & number
of copies of the forms can be easily generated at a time.
In computer system, it is not necessary to create the manifest but we
can directly print it, which saves our time.
➢ To assists the staff in capturing the effort spent on their respective
working areas.
➢ To utilize resources in an efficient manner by increasing their
productivity through automation.
➢ The system generates types of information that can be used for various
purposes.
➢ It satisfy the user requirement.
➢ Be easy to understand by the user and operator.
➢ Be easy to operate.
➢ Have a good user interface.
➢ Be expandable.
➢ Delivered on schedule within the budget.
Grocery Management System - Code Explanation
This project creates a Grocery Management System using the Tkinter library
in Python. It features functionalities such as adding, updating, deleting, and
searching grocery items, with the data saved in and loaded from a JSON file.
1. Class: GroceryApp
The class GroceryApp is the heart of the system. It manages the GUI
components and interactions between the user and the grocery list.
Constructor: __init__(self, root)
• Initializes the GUI window, sets up the title, geometry, and background
color.
• Initializes the items dictionary to store grocery items and file_path for
storing the data.
• Calls create_widgets to set up the UI elements and load_items to load
any saved items on startup.
2. Widgets & Layout
• Entry Fields for adding new grocery items (item name, quantity, and
price).
• Buttons for performing actions like adding, deleting, updating, saving,
and loading items, as well as searching.
• Treeview for displaying the items in a tabular format (name, quantity,
price) with scrollbars for navigation.
3. Core Functionalities
a. Adding Items: add_item(self)
• Collects the data from the entry fields.
• Adds the item to the items dictionary with the format items[name] =
(quantity, price).
• Clears the entry fields and refreshes the tree view.
b. Deleting Items: delete_item(self)
• Allows the user to select an item from the tree view.
• Deletes the item from the items dictionary and updates the tree view.
c. Updating Items: update_item(self)
• Allows the user to select an item and update its quantity and price.
• Updates the selected item in the dictionary and refreshes the view.
d. Showing Items: show_items(self)
• Displays all the items in the tree view.
• Loops through the items dictionary and inserts each item into the tree
view.
e. Searching Items: search_item(self)
• Filters the items based on the user's search term.
• Displays only the items whose name contains the search term (case-
insensitive).
4. Saving & Loading Data
a. Saving Items: save_items(self)
• Saves the current list of items to a JSON file using json.dump().
b. Loading Items: load_items(self)
• Attempts to load the items from a previously saved JSON file using
json.load().
• If no file is found, it displays a warning message.
5. Supporting Methods
a. clear_entries(self)
• Clears all entry fields for item name, quantity, price, and search term.
b. on_treeview_select(self, event)
• Automatically fills the entry fields with the data of the selected item in
the tree view. This allows users to easily update or delete an item after
selecting it.
6. UI Design
• Modern buttons with colors and flat relief for clear visual distinction.
• Treeview for organizing items into columns and rows for better
readability.
• Search bar for finding items quickly.
• Scrollbars for easy navigation when there are too many items to
display.
7. Main Execution
• The code initializes the root window and starts the Tkinter main loop.
• The root.resizable(0, 0) prevents resizing of the window, keeping the
layout fixed.
8. Error Handling
• Displays message boxes for warnings (like missing information or item
not found) and success notifications (item added, deleted, updated,
etc.).
• Handles file loading errors, displaying a warning if the saved JSON file
is not found.
Project Overview
Objectives of the Project
The primary goal of this project is to develop a simple yet functional
Grocery Management System using Python and Tkinter. This system will
allow users to add, update, delete, and view grocery items, ensuring a smooth
management process.
Key Features of the System
User-Friendly Interface: Easy-to-navigate design for efficient item
management.
CRUD Operations: Comprehensive Create, Read, Update, and Delete
functionalities.
Search Functionality: Quick search options to find specific items.
Data Persistence: Save and load data using JSON for long-term storage.
Setting Up the Environment
Required Software and Libraries
Python 3.x: The programming language used for development.
Tkinter: The standard Python library for creating graphical user interfaces.
JSON: Used for data storage and retrieval.
Installation Guide
Python: Download and install the latest version of Python from the official
website.
Tkinter: Typically included with Python, but can be installed via pip if
missing.
JSON: No installation needed as it is a standard library in
Python.
Understanding Tkinter
What is Tkinter?
Tkinter is Python’s de facto standard GUI (Graphical User Interface) package.
It is a thin object-oriented layer on top of Tcl /Tk, providing a powerful toolkit
for building desktop applications.
Basics of Tkinter
Tkinter simplifies the process of creating windows, dialogs, buttons, and other
GUI elements. Its straightforward syntax makes it ideal for beginners and
experienced developers alike.
Building the Grocery Management System
Initializing the Application
Start by importing necessary modules and creating the main application
window.
Designing the User Interface
The user interface consists of entry fields for item details, buttons for CRUD
operations, and a tree view for displaying items.
Creating Widgets
Entry Fields for Item Details
Create entry fields for item name, quantity, and price.
Buttons for CRUD Operations
Create buttons for adding, deleting, updating, and showing items.
Tree view for Displaying Items
Create a tree view to display the list of grocery items.
Implementing CRUD Operations
Adding Items
Define the method to add items to the list.
Deleting Items
Define the method to delete items from the list.
Updating Items
Define the method to update item details.
Search Functionality
Designing the Search Bar
Create a search entry and button for searching items.
Implementing Search Logic
Define the method to search for items based on the search term.
Data Persistence with JSON
Introduction to JSON
JSON (JavaScript Object Notation) is a lightweight data interchange
format that is easy to read and write.
Saving Data to JSON File
Define the method to save items to a JSON file.
Loading Data from JSON File
Define the method to load items from a JSON file.
Enhancing User Experience
Adding Scrollbars to Tree view
Add vertical and horizontal scrollbars to the treeview for better
navigation.
Implementing Entry Validation
Ensure that the user enters valid data in the entry fields.
Flowchart Description:
1. Start
• Initializing the app with Tkinter GUI.
2. Main Menu
• Display GUI with input fields for item name, quantity, and price.
• Display buttons for adding, deleting, updating, saving, loading, and
searching items.
• Display Tree view to show items.
3. Add Item
• User enters item details.
• The app validates if all fields are filled.
• If valid, the item is added to the dictionary and displayed in the Tree
view.
• Success message is shown.
4. Delete Item
• User selects an item in the Tree view.
• The app deletes the selected item from the dictionary and updates the
Tree view.
• Success message is shown.
5. Update Item
• User selects an item in the Tree view.
• User provides new quantity and price.
• The app updates the selected item in the dictionary and updates the Tree
view.
• Success message is shown.
6. Show Items
• Display all items stored in the dictionary within the Tree view.
7. Search Item
• User enters search text.
• The app filters and displays only the items that match the search query.
8. Save Items
• The app saves the items to a JSON file.
9. Load Items
• The app loads items from a JSON file into the app's dictionary and
updates the Tree view.
10.End
FLOW CHART DIAGRAM
Full Grocery Management System Project Source Code
Deploying the Application
Creating an Executable File
Use tools like Py Installer to create an executable file for the
application.
Distributing the Application
Distribute the executable file to users along with necessary instructions.
OUTPUT
Conclusion
Creating a Grocery Management System in Python with Tkinter is an
excellent way to improve your programming skills while developing a
useful application. This project covers essential functionalities such as
item addition, updating, deletion, and search, providing a robust solution
for managing grocery inventories. By following this guide and utilizing
the provided source code, you'll gain valuable experience in Python
programming and GUI development. We hope this project inspires you
to further explore the capabilities of Python and Tkinter in building
practical applications.
Future Work:
Various supermarkets have easy functioning of their store due to smooth
management of bills, stock, and the information of the products. Small
grocery shops lack easy management as there is a lot of documentation
and overload for the employees due to the unavailability of the
management system. As the existing system is expensive which the small
grocery store can’t afford, our system is user-friendly and less expensive
which will help in easy management of the store. Our system has some
limitations where all the 3 users which are Admin, Employee, and
Customer, cannot use the system simultaneously which can make the
management and billing work faster. Also, this Grocery Store
Management System can be used for managing other stores too if
appropriate changes are done in the system.
• We can integrate this website with Android and Mobile applications.
• In the future, User can add feedback of the services available in online
grocery Store.
• This project does not give the information about the stock (quantity)
present within the shop.
• In the future, we make this project does create monthly, yearly
Reports.
BIBLIOGRAPHY
Tkinter Documentation:
• Tkinter is the standard GUI (Graphical User Interface) library for
Python. It is used in this program to create the graphical interface,
handle user inputs, display buttons, and other components.
• Documentation:
https://docs.python.org/3/library/tkinter.html
Python Software Foundation:
• Python is the programming language used for the
development of this application. This includes the standard
libraries used in the code, such as tkinter, json, and
messagebox.
• Website: https://www.python.org/
JSON Module Documentation:
• The json module is used in this program to handle the
saving and loading of item data. This allows the program
to persist data between runs.
• Documentation:
https://docs.python.org/3/library/json.html
Tree view Widget - Tkinter:
• The ttk.Tree view widget is used for displaying the grocery
items in a tabular format. It is part of the ttk (Themed
Tkinter) module, which provides improved graphical
elements over the basic Tkinter widgets.
• Documentation:
https://tkdocs.com/tutorial/widgets.html#treeview
GUI Design Principles:
• The design of the user interface follows general GUI
design principles, which aim to create a user-friendly and
visually appealing experience. For an in-depth guide on
designing with Tkinter, you can refer to various resources
on GUI principles.
• Resource: "Python GUI Programming with Tkinter" by
Alan D. Moore, Pack Publishing.
Message box for Alerts and Notifications:
• The message box module in Tkinter is used for displaying
alerts and notifications to the user, such as warning
messages and success notifications.
• Documentation:
https://docs.python.org/3/library/tkinter.messagebox.html
Tkinter Tutorials:
• There are many tutorials available online that guide
beginners through using Tkinter and building applications.
A recommended resource for learning Tkinter is:
• Tutorial: https://realpython.com/python-gui-tkinter/