0% found this document useful (0 votes)
10 views

miniproject

The document is a mini project report for a Grocery Store Management System submitted by students of ESSM College of Arts and Science as part of their Bachelor of Computer Science degree. It outlines the project's objectives, scope, and functionalities, including user-friendly features for managing grocery items, sales transactions, and data persistence using JSON. The report also includes acknowledgments, a table of contents, and a detailed explanation of the system's code and design.

Uploaded by

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

miniproject

The document is a mini project report for a Grocery Store Management System submitted by students of ESSM College of Arts and Science as part of their Bachelor of Computer Science degree. It outlines the project's objectives, scope, and functionalities, including user-friendly features for managing grocery items, sales transactions, and data persistence using JSON. The report also includes acknowledgments, a table of contents, and a detailed explanation of the system's code and design.

Uploaded by

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

“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/

You might also like