You are on page 1of 35

GROCERY mANAGEMENT SYSTEM

ABHINAV SINGH

XII SCIENCE
RAM LAKHAN BHATT
INTERNATIONAL SCHOOL

A PROJECT REPORT

ON

GROCERY MANAGEMENT SYSTEM

For

CBSE 2023-24 Session

( As part of the Computer Science Practical -083)

Submitted by

NAME – ABHINAV SINGH

XII Science

RAM LAKHAN BHATT


INTERNATIONAL SCHOOL

CERTIFICATE

This is to certify that “Grocery Management System” has successfully

completed by Abhinav Singh of Class: XII(science), for the academic

year 2023-2024 in the School Computer lab.

This project is absolutely genuine and does not include any plagiarism of

any kind. The references taken in making this project have been declared

at the end of project.

…………………………. ………………………..

Examiner’s Signature Teacher in-Charge

Date:…………………. ……………………

Principal
ACKNOWLEDGEMENT
I would like to express my special thanks of gratitude to my teacher

Mr.Mahesh Tiwari as well as our principal Mr.Manoj Gurha sir who gave

me the golden opportunity to do this wonderful project on the topic Grocery

Management

System , which also helped me in doing a lot of research and I came to know

Suryansh Yadav

XII Science
INDEX

SI

No Particular Page No

1. Introduction 0

2. Need of Computerization 0

3. Software and Hardware requirement 0

4. Advantages 0

5. Limitations 0

6. Source Code 0

7. Conclusion 0

8. Future Enhancement 0

9. Bibliography 0

10. Appendices
o Database 0
o Output 0
INTRODUCTION
Grocery Management System

1. INTRODUCTION: -
The objective of this python project is to design a GUI for the Grocery store
Management System which incorporates details of the Employees, the Manager,
the Designation of the employees, the categories of the products, the details of the
Customer, and a list of available commodities, and location information of the
grocery stores.

Suppliers and details of commodities which shows which items are going to be out
of stock for the store which has various branches situated in various areas with
different Managers taking care of that data set.

This database is efficacious in running the grocery stores. The users of the
database will be the store managers.

 Grocery Store Management System is designed to provide the grocery stores


with the benefit of having everything online, from products data to
customers data.
 It helps the store managers to perform various functions like checking the
products stock, suppliers information, customers information and also
allows them to check if a particular product is available in any other branch.
 It also helps to keep track of the store employees.
 Provides a user-friendly interface where everything can be accessed with
just a button click.

Page 6
Grocery Management System

NEED OF COMPUTERIZATION

Page 7
Grocery Management System

2. NEED OF COMPUTERIZATION:-

Computerization in a grocery management system is imperative for


streamlining operations, enhancing efficiency, and staying competitive in
today's dynamic retail landscape. Automated systems offer real-time
inventory tracking, preventing overstock or stockouts, and automating
reorder processes. This not only optimizes stock levels but also minimizes
manual errors.

Data analytics and reporting become powerful tools with computerized


systems. Managers can analyze sales, inventory turnover, and customer
behavior to identify trends and make informed decisions. Customized
reporting further supports strategic planning and performance analysis.
Furthermore, computerization ensures compliance with regulations, such
as inventory management and financial transactions, while robust
security measures protect sensitive data.

In essence, computerization in grocery management is a fundamental


necessity, offering a competitive edge by fostering operational efficiency,
data-driven decision-making, and improved customer experiences.
Embracing technology is not just a convenience but a strategic imperative
for sustained success in the modern retail environment.

Page 8
Grocery Management System

SOFTWARE AND HARDWARE REQUIREMENT


3. SOFTWARE AND HARDWARE REQUIREMENT:-
SOFTWARE SPECIFICATION
Operating System : Windows 10/8/7
Platform : Python IDLE 3.7/3.8
Database : MySQL
Languages : Python

HARDWARE SPECIFICATION
Processor : Dual core or above
Hard Disk : 40 GB
RAM : 1024 MB
Python:-
Python is a general-purpose, high-level, interpreted, interactive and object-oriented
scripting language. Python is designed to be highly readable. It has fewer syntactical
constructions than other languages.
Characteristics of Python
Following are important characteristics of Python Programming:-
 It supports functional and structured programming methods as well as OOP.
 It can be used as a scripting language or can be compiled to byte- code for
building large applications.
 It provides very high-level dynamic data types and supports dynamic type
checking.
 It supports automatic garbage collection.
 It can be easily integrated with C, C++, COM, ActiveX, CORBA and Java.
Applications of Python

Page 9
Grocery Management System

As mentioned before, Python is one of the most widely used languages over the web. A
few of them here:
 Easy-to-learn − Python has few keywords, simple structure, and a clearly defined
syntax. This allows the student to pick up the language quickly.
 Easy-to-read − Python code is more clearly defined and visible to the eyes.
 Easy-to-maintain − Python's source code is fairly easy-to- maintain.
 A broad standard library − Python's bulk of the library is very portable and
cross-platform compatible on UNIX, Windows, and Macintosh.
 Interactive Mode − Python has support for an interactive mode which allows
interactive testing and debugging of snippets of code.
 Portable − Python can run on a wide variety of hardware platforms and has the
same interface on all platforms.
 Extendable − you can add low-level modules to the Python interpreter. These
modules enable programmers to add to or customize their tools to be more
efficient.
 Databases − Python provides interfaces to all major commercial databases.
 GUI Programming − Python supports GUI applications that can be created and
ported to many system calls, libraries and windows systems, such as Windows
MFC, Macintosh, and the X Window system of Unix.
 Scalable − Python provides a better structure and support for large programs than
shell scripting.
It contains so many modules as well as libraries like
1. Python Satndard Library which contains modules like Math, Cmath, Random,
URLlib ,
2. Numpy,
3. SciPyplot,
4. Tkinter,
5. Matplotlib.
As well as various data structures like list, queue, stack.

Page 10
Grocery Management System

MySQL:
A database is a separate application that stores a collection of data. Each database has
one or more distinct APIs for creating, accessing, managing, searching and replicating
the data it holds. Nowadays, we use relational database management systems (RDBMS)
to store and manage huge volume of data. This is called relational database because all
the data is stored into different tables or relations.
MySQL is the most popular Open Source Relational SQL Database Management
System. MySQL is one of the best RDBMS being used for developing various web-
based software applications. It is a fast, easy-to-use RDBMS being used for many small
and big businesses. MySQL is developed, marketed and supported by MySQL AB,
which is a Swedish company.
MySQL is becoming so popular because of many good reasons −
 MySQL is released under an open-source license.
 MySQL is a very powerful program in its own right. It handles a large subset of
the functionality of the most expensive and powerful database packages.
 MySQL uses a standard form of the well-known SQL data language.
 MySQL works on many operating systems and with many languages including
PHP, PERL, C, C++, JAVA, etc.
 MySQL works very quickly and works well even with large data sets.
 MySQL is very friendly to PHP, the most appreciated language for web
development.
 MySQL supports large databases, up to 50 million rows or more in a table.
 MySQL is customizable. The open-source GPL license allows programmers to
modify the MySQL software to fit their own specific environments.
SQL stands for Structured Query Language SQL is a database computer language
designed for the retrieval and management of data in a relational database and has
clearly established itself as a standard relational database language. SQL is divided into
Data Definition Language (DDL), Data Manipulation Language (DML), and
Transaction Control Language (TCL).

Page 11
Grocery Management System

ADVANTAGES

Page 12
Grocery Management System

4. ADVANTAGES OF THE PROJECT:-


Real-time Tracking: GMS provides real-time visibility into inventory levels,
preventing overstock or stockouts. This ensures that products are available when
needed.
Automated Reordering: The system automates the reordering process, generating
purchase orders when inventory reaches predefined levels, reducing the risk of
human error.
Sales and Customer Management:

Sales Tracking: GMS tracks sales data, allowing for analysis of product
performance. This information supports strategic decision-making and helps in
identifying popular products.
Customer Loyalty Programs: The system facilitates the implementation of
customer loyalty programs, encouraging repeat business through personalized
promotions and discounts.
Point of Sale (POS) Efficiency:

Quick and Accurate Transactions: GMS includes a streamlined POS system that
accelerates the checkout process, reducing waiting times for customers and
minimizing errors in transactions.
Payment Integration: Integrated payment options, including credit cards and
digital wallets, enhance convenience for customers and improve overall
transaction efficiency.
Supplier and Vendor Management:

Order Processing: GMS automates the ordering process, improving efficiency and
accuracy in communications with suppliers. This leads to timely deliveries and
optimized stock levels.
Supplier Relationship Management: Efficient communication with suppliers,
facilitated by the system, supports negotiation, collaboration, and the
establishment of strong supplier relationships.

Page 13
Grocery Management System

LIMITATIONS

Page 14
Grocery Management System

5. LIMITATIONS OF THE PROJECT:-

While a Grocery Management System (GMS) offers numerous

advantages, it's essential to consider potential limitations to ensure

effective implementation and address challenges. Here are some common

limitations associated with grocery management projects:

 Initial Cost and Implementation Time

 Technology Dependency

 Training Requirements

 Data Security Concerns

 Customization Challenges

 Integration Issues

 Dependency on Vendor Support

 User Resistance

 Scalability Issues

 Internet Dependency

 Regulatory Compliance

Page 15
Grocery Management System

SOURCE CODE

Page 16
Grocery Management System

6.SOURCE CODE OF THE PROJECT


import mysql.connector as ms
def firstRun():
try:
cn=ms.connect(host='localhost',user='root',passwd='pratham',database='mysql')
cur=cn.cursor()
cur.execute("create database grocery_management;use grocery_management;create table
product(pcode int primary key, pname varchar(30) unique, unitCode varchar(5),category
varchar(50), CP float, SP float, balance float DEFAULT 0, IGST float, CGST float, SGST
float);create table customer (c_code int primary key,c_name varchar(30),mobile char(10)
unique,address varchar(40),grp varchar(30),state varchar(30) default 'UttarPradesh');create
table bills(billno int , pcode int, qty int,cname varchar(30), mob char(10));")
cn.commit()
cn.close()
except Exception:
pass

def connection():
global c

c=ms.connect(host='localhost',user='root',passwd='pratham',database='grocery_management')

def isspace_alphabet(s):
f=True
for i in s:
if i.isalpha()==False and i.isspace()==False:
f=False

return f

def isdigit(d):
t=True

Page 17
Grocery Management System

if d.count('.')>1:
return False
for i in d:
if i.isdigit()==False and i!='.':
t=False
return t

def new_pno(): #This function generate new product no


connection()
cur=c.cursor()
cur.execute("Select max(pcode) from product")
d=cur.fetchone()
if d[0]==None:
pn=1
else:
pn=d[0]+1
c.close()
return pn

def new_bno(): #This function generate bnew bill no


connection()
cur=c.cursor()
cur.execute("Select max(billno) from bills")
d=cur.fetchone()
if d[0]==None:
pn=1
else:
pn=d[0]+1
c.close()
return pn

Page 18
Grocery Management System

def new_product():
npno=new_pno()
connection()
cur=c.cursor()
pn=input('Enter product name')
while isspace_alphabet(pn)==False:
pn=input('Enter valid product name again:')
unit=input('Enter unit for product')
cat=input('Enter category')
while isspace_alphabet(cat)==False:
cat=input('enter valid category again')

cp=input('Enter cost price')


while isdigit(cp)==False :
cp=input('enter valid cost price')
cp=float(cp)
sp=input('Enter selling price')
while isdigit(sp)==False :
sp=input('enter valid selling price')
sp=float(sp)
## igst=input('Enter Integrated tax rate %')
## while isdigit(igst)==False :
## igst=input('enter valid integrated tax rate')
## igst=float(igst)
##
## cgst=input('Enter Cenral tax rate %')
## while isdigit(cgst)==False :
## cgst=input('enter valid central tax rate')
## cgst=float(cgst)

Page 19
Grocery Management System

##
## sgst=input("enter state tax rate ")
## while isdigit(sgst)==False:
## sgst=input('enter valid state tax rate')
## sgst=float(sgst)

cur.execute("insert into product(pcode,pname,category,cp,sp,unitcode) values({},'{}','{}',{},


{},'{}')".format(npno,pn,cat,cp,sp,unit))
c.commit()
c.close()
print('Product saved successfully')
##new_product()

def new_cno(): #This function generate new customer no


connection()
cur=c.cursor()
cur.execute("Select max(c_code) from customer")
d=cur.fetchone()
if d[0]==None:
pn=1
else:
pn=d[0]+1
c.close()
return pn

def new_customer():
ncno=new_cno()
connection()

Page 20
Grocery Management System

cur=c.cursor()
cn=input('Enter customer name')
while isspace_alphabet(cn)==False:
cn=input('Enter valid customer name again:')
mobile=int(input('Enter mobile number'))
while isdigit(mobile)==False :
mobile=input('enter valid mobile number')
address=input('Enter address')
while isspace_alphabet(address)==False:
address=input('enter valid address again')
grps=input("enter the group(sundry debtor/sundry creditor")
while isspace_alphabet(grps)==False:
grps=input("enter valid groups again")
state=input("enter the state name")
while isspace_alphabet(state)==False:
state=input("enter valid state again")

cur.execute("insert into customer(c_code,c_name,mobile,address,grps,stat) values({},'{}',{},


{},'{}','{}','{}')".format(cn,mobile,address,grps,state))

c.commit()
c.close()
print('Product saved successfully')
##new_customer()

def searchProduct(p):
connection()
cur=c.cursor()
cur.execute("Select * from product where pname like '%{}%'".format(p))
data=cur.fetchall()

Page 21
Grocery Management System

r=cur.rowcount
print('Code\tProductName')
for i in data:
print(i[0],'\t',i[1])
c.close()
return r

def getName(code):
connection()
cur=c.cursor()
cur.execute("Select pname from product where pcode={}".format(code))
data=cur.fetchone()
c.close()
return data[0]

def codevalid(code): #check product code


connection()
cur=c.cursor()
cur.execute("select count(*) from product where pcode={}".format(code))
data=cur.fetchone()
x=data[0]
c.close()
return x

def billvalid(code): #Check billno vaid


connection()
cur=c.cursor()
cur.execute("select count(*) from bills where billno={}".format(code))
data=cur.fetchone()

Page 22
Grocery Management System

x=data[0]
c.close()
return x

def storeBill(bno,pcd,qty,cname,mob):
connection()
cur=c.cursor()
cur.execute("insert into bills values({},{},{},'{}','{}')".format(bno,pcd,qty,cname,mob))
c.commit()
c.close()

def getSalePrice(code):
connection()
cur=c.cursor()
cur.execute('select sp from product where pcode={}'.format(code))
data=cur.fetchone()
x=data[0]
c.close()
return x

while True:
print('Choose option from following')
print('1-Add product')
print('2-New Bill')
print('3-Print Existing Bill')

print('4-Exit')
print('5-First time run')

Page 23
Grocery Management System

ch=int(input('Enter your choice from above:'))


if ch==1:
new_product()
elif ch==2:
clist=[]
qlist=[]
cn=input('Enter customer name')
mob=input('Enter cursomer mobile no:')
t=0

while True:
na=input('Enter Search keyword from product:')
x=searchProduct(na)
if x==0:
print('The product is not available')
else:
code=input('Enter product code:')
while codevalid(code)==0:
code=input('Invalid code Re-Enter valid code:')
sp=getSalePrice(code)
qty=int(input('Enter quantity'))
tp=sp*qty
t+=tp
clist.append(code)
qlist.append(qty)
print('Total Payable Amount is:',t)
ch=input('Do you want to add more prduct(y or n)')

if ch in 'nN':
break
print( "CashMemo/Receipt")

Page 24
Grocery Management System

print("==========================")
bn=new_bno()
print('BillNO',bn)
print('Customer Name',cn)
print('Mobile No',mob)
sn=1
print("=====================================================")
print("Sno\tCode\tParticulars\tQty\tRate\tTotal")
print("======================================================")

for x in range(len(clist)):
print(x+1,'\t',clist[x],'\t',getName(clist[x]),'\t\t',qlist[x],'\t',getSalePrice(clist[x]),'\
t',int(qlist[x])*int(getSalePrice(clist[x])))
storeBill(bn,clist[x],qlist[x],cn,mob)
print("======================================================")
print("Total payable amount:",t)
print("=====================================================")
elif ch==5:
firstRun()
elif ch==3:
bno=input('Entrer billno')
while billvalid(bno)==0:
bno=input('Enter valid billno')
connection()
cur=c.cursor()
cur.execute("Select * from bills where billno={}".format(bno))
L=cur.fetchall()
print("CashMemo/Receipt")
print("==========================")
bn=bno
print('BillNO',bn)

Page 25
Grocery Management System

print('Customer Name',L[0][3])
print('Mobile No',L[0][4])
sn=1
print("================================================")
print("Sno\tCode\tParticulars\tQty\tRate\tTotal")
print("=================================================")
t=0
for x in range(len(L)):
print(x+1,'\t',L[x][1],'\t',getName(L[x][1]),'\t',L[x][2],'\t',getSalePrice(L[x][1]),'\t',int(L[x]
[2])*int(getSalePrice(L[x][1])))
t+=int(L[x][2])*int(getSalePrice(L[x][1]))
c.close()
print("=================================================")
print("Total payable amount:",t)
print("==================================================")
elif ch==4:
break
else:
print('Invalid choice')

Page 26
Grocery Management System

CONCLUSION

Page 27
Grocery Management System

7. CONCLUSION:-

the Grocery Management System (GMS) stands as a pivotal asset for grocery
businesses. Its implementation yields streamlined inventory processes, improved
customer service through efficient Point of Sale systems, and data-driven decision-
making. While acknowledging potential challenges such as initial costs and training
requirements, the GMS remains a strategic investment, positioning businesses for
sustained success in the dynamic retail landscape. Through automation, real-time
tracking, and enhanced analytics, the GMS not only boosts operational efficiency but
also ensures adaptability to changing market demands, making it an indispensable tool
for modern grocery management.

Page 28
Grocery Management System

FUTURE ENHANCEMENT

Page 29
Grocery Management System

8. FUTURE ENHANCEMENT OF THE PROJECT:-

The future enhancement of Grocery Management Systems (GMS) will


revolve around the integration of advanced technologies for heightened
efficiency and customer experience. Artificial Intelligence (AI) and
Machine Learning (ML) will play a pivotal role in predicting demand,
optimizing inventory, and personalizing promotions. Mobile app
optimization will offer customers a seamless shopping experience, while
smart shelf technology and blockchain integration will ensure real-time
inventory monitoring and enhanced supply chain transparency. Contactless
shopping options, voice commerce, and augmented reality features will
cater to evolving consumer preferences, creating a more interactive and
convenient shopping environment. Sustainability initiatives, robotic process
automation, and enhanced security measures will further solidify GMS as a
technologically advanced and future-ready solution for the grocery retail
sector.

Page 30
Grocery Management System

9. BIBLIOGRAPHY:-

 Computer Science with Python - Sumita Arora

 Informatics Practices with Python - Preeti Arora

 https://dev.mysql.com

 https://www.tutorialspoint.com/mysql/mysql-introduction.htm

Page 31
Grocery Management System

APPENDICES

Page 32
Grocery Management System

10. APPENDICES:-

DATABASE:-

Page 33
Grocery Management System

OUTPUT:-

Page 34

You might also like