TATA D.A.
V SCHOOL, SIJUA
INFORMATICS PRACTICES (065)
A Project Report On Topic - “GROCERY SHOP MANAGEMENT”
Name : Ameer Hamza
Class : XII “D” (Commerce)
Roll no. : 08
Board Roll :
Subject : Informatics Practices
Guide : Mr. Mukund Gupta
DECELARATION
I hereby declare that the synopsis and project work
entitled
"GROCERY SHOP MANAGEMENT SYSTEM"
submitted to a partial fulfillment of the requirement
of Std XII. AISSCE: - All India Senior Certificate
Examination of 2023 - 2024 in the subject
Informatics practices (065) is prepared by our
groups.
All the coding is done by our personal effort.
Ameer Hamza
XII “D”
ACKNOWLEDGEMENT
I would like to extend my heartfelt gratitude to the individuals
and institutions that have played a crucial role in the successful
completion of my Informatics Practices project.
I am immensely thankful to my dedicated teacher, Mr. Mukund
Gupta Sir, for their unwavering support, valuable guidance, and
the inspiration they provided throughout this project. Their
expertise and mentorship were instrumental in shaping my
understanding of the subject matter.
I am grateful to my family for their encouragement, patience,
and unwavering belief in my abilities. Their support was my anchor
throughout this project.
This project would not have been possible without the collective
support and collaboration of all these individuals and resources.
Thank you for being an essential part of my academic journey.
Ameer Hamza
GUIDE CERTIFICATE
This is to certify that Ameer Hamza has successfully
completed the project work on the topic “GROCERY
SHOP MANAGEMENT SYSTEM” in the subject
Informatics Practices laid down in the regulations of
CBSE for the purpose of Practical Examination in Class
XII to be held in TATA DAV SCHOOL, SIJUA.
Mr Mukund Gupta
(I.P Teacher)
SCHOOL CERTIFICATE
This is to certify that the project of “Informatics
Practices (065)” titled “GROCERY SHOP
MANAGEMENT SYSTEM” which deals with the
management of GROCERY SHOP is submitted by
Ameer Hamza of Class XII “D” (Commerce).
The project is a bonafide piece of work carried out
with consultation of supervisor.
Mr. Rajeshwar Singh
Principal
DISSERTATION AND APPROVAL
CERTIFICATE
This dissertation entitled “GROCERY SHOP
MANAGEMENT SYSTEM” developed by
Ameer Hamza is approved towards partial
fulfillment of Std. XII examination of subject
Informatics Practices of Session 2023-
2024.
Remark(s)
Internal Examiner External Examiner
(M.K Gupta)
PREFACE
The research provides an opportunity to
demonstrate the application of knowledge skill and
completeness required during the technical
operations. This subject improved my technical
skill and help me to rise up in this field in this
future.
I am representing a project file on the topic
"GROCERY SHOP MANAGEMENT SYSTEM" in the
subject in Informatics Practice (065). I tried my
best to make this project wonderful. It consist
many workforce smoothly operating services of
GROCERY SHOP MANAGEMENT.
I hope you all like this project work.
PROJECT ON GROCERY SHOP
MANAGEMENT SYSTEM
INTRODUCTION
Project title " Nikita General Store " a project of keeping
Sales records.
The objective of the project is to computerize the
System of sales. Nikita general store system is the
Project which not only keeps the records of various things like
Selling record, bill etc but it is also reduce extensive paper work.
This help to make system more versatile and users friendly.
OBJECTIVE
The primary objective of developing the Grocery Management
System Python project is to create an efficient and user-friendly
software solution that streamlines the grocery store management
process. This project aims to address the challenges faced by
grocery store owners and staff by introducing a robust system
that enhances the overall operational efficiency, accuracy, and
customer satisfaction..
This project help in performing following operation.
• KEEPING THE RECORD OF COMPUTER SALES, COMPUTER
SERVICE, RATING COMMENT.
• MAINTAIN THE SELLING PROBLEMS AND SERVICE
PROBLEM.
• THE SYSTEM ALLOW ANYONE TO ENTER WHAT HE/SHE
WANT.
FUNCTIONS / FEATURES
1. Automation of Operations: The project aims to automate various routine
operations within a grocery store, including inventory management, sales
tracking, and order processing. By automating these tasks, the system will
reduce manual errors and save time for store personnel.
2. Inventory Control: The Grocery Management System will provide a
comprehensive inventory control mechanism, enabling store owners to
track stock levels, manage product categories, and receive timely alerts
for restocking. This ensures that products are always available to meet
customer demands.
3. Sales and Billing: The system will facilitate smooth and accurate sales
transactions by automating the billing process. It will generate real-time
invoices, calculate accurate totals, and provide detailed receipts,
simplifying the checkout process for both customers and cashiers.
4. Customer Relationship Management (CRM): Enhance customer
satisfaction by implementing a CRM system that allows the store to keep
track of customer preferences, purchase history, and loyalty points. This
data can be utilized to provide personalized promotions and discounts.
5. User-Friendly Interface: The project aims to develop an intuitive and
user-friendly interface accessible to store owners, staff, and customers.
This ensures easy navigation and minimal training requirements for users.
THE PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be
really wants to stand against today's merciless competition where not
to wise saying "to err is human" no longer valid, it's outdated to
rationalize your mistake. So, to keep pace with time, to bring about
the best result without malfunctioning and greater efficiency so to
replace the unending heaps of flies with a much-sophisticated hard
disk of the computer.
One has to use the data management software. Software has been an
ascent in atomization various organizations. Many software products
working are now in markets, which have helped in making the
organizations work easier and efficiently.
Data management initially had to maintain a lot of ledgers and a lot of
paper work has to be done but now software product on this
organization has made their work faster and easier.
Now only this software has to be loaded on the computer and work
can be done. This prevents a lot of time and money. The work
becomes fully automated and any information regarding the
organization can be obtained by clicking the button. Moreover, now
it's an age of computers of and automating such an organization gives
the better look.
FLOW CHART
PYTHON – MYSQL CONNECTIVITY
SOFTWARE LOGIN WITH
USERNAME:PASSWORD
ASK USER TO ENTER HIS/HER
CHOICE
YOUR NEED WILL BE FULFILLED BY
PYTHON BY INTERFACING WITH
MYSQL
PHASES OF MARKETING SYSTEM
DEVELOPMENT LIFE CYCLE
INITIATION PHASE
The Initiation Phase begins when a business sponsor identifies a need
or an opportunity.
The purpose of the Initiation Phase is to:
Identify and validate an opportunity to improve business
accomplishments of the organization or a deficiency related to a
business need. Identify significant assumptions and constraints on
solutions to that need. Recommend the exploration of alternative
concepts and methods to satisfy the need including questioning the
need for technology, i.e., will a change in the business process offer a
solution? Assure executive business and executive technical
sponsorship. The Sponsor designates a Project Manager and the
business need is documented in a Concept Proposal.
Careful oversight is required to ensure projects support strategic
business objectives and resources are effectively implemented into
an organization's enterprise architecture. The initiation phase begins
when an opportunity to add, improve, or correct a system is identified
and formally requested through the presentation of a business case.
The business case should, at a minimum, describe a proposal's
purpose, identify expected benefits, and explain how the proposed
system supports one of the organization's business strategies. The
business case should also identify alternative solutions and detail as
many informational, functional, and network requirements as possible.
MARKETING SYSTEM DEVELOPMENT PHASE
The System Concept Development Phase begins after a business need
or opportunity is validated by the Agency/Organization Program
Leadership and the Agency/Organization CIO.
The purpose of the System Concept Development Phase is to:
Determine the feasibility and appropriateness of the alternatives.
Identify system interfaces. Identify basic functional and data
requirements to satisfy the business need. Establish system
boundaries; identify goals, objectives, critical success factors, and
performance measures. Evaluate costs and benefits of alternative
approaches to satisfy the basic functional requirements Assess
project risks Identify and initiate risk mitigation actions, and Develop
high-level technical architecture, process models, data models, and a
concept of operations. This phase explores potential technical
solutions within the context of the business need. It may include
several trade-off decisions such as the decision to use COTS
software products as opposed to developing custom software or
reusing software components, or the decision to use an incremental
delivery versus a complete, onetime deployment. Construction of
executable prototypes is encouraged to evaluate technology to
support the business process.
SOURCE CODE OF PROGRAM
import mysql.connector as sql
import time
import random as rd
def grocery():
# function to add a grocery
def addgrocery():
print("\n")
print("=" * 55)
print("\n")
mid = input("Enter Grocery Id : ")
name = input("Enter Grocery Name : ")
mf = input("Enter Name of Manufacturer : ")
dom = input("Enter Date of Manufacture : ")
doe = input("Enter Date of Expiry : ")
mg = input("Enter the Weight (in mg) : ")
content = input("Enter Content : ")
price = input("Enter the Price : ")
qty = input("Enter the Quantity : ")
print("\nSTORING GROCERY DETAILS.......")
time.sleep(2)
q = "insert into grocery values(%s,%s,%s,%s,%s,%s,%s,%s,%s)"
data = (mid, name, mf, dom, doe, mg, content, price, qty)
cr = mydb.cursor()
cr.execute(q, data)
print("\nGrocery Inserted.......!!!!")
print("=" * 55)
print("\n")
mydb.commit()
# function to show a grocery
def showgrocery():
print("=" * 55)
q = "select * from grocery"
cr = mydb.cursor()
cr.execute(q)
res = cr.fetchall()
print("\n")
print("-" * 95)
print("Id\tName\t\tDate_of_Expiry\t\tPrice\t\tQty")
print("-" * 95)
for k in res:
print(k[0], "\t", k[1], "\t\t", k[4], "\t\t", k[-2], "\t\t", k[-1])
print("-" * 95)
print("\n")
# function to restock a grocery
def restock():
mid = input("Enter the Grocery ID : ")
qty = input("Enter the Quantity to Add : ")
q = "update grocery set qty = qty + %s where mid = %s"
d = (qty, mid)
cr = mydb.cursor()
cr.execute(q, d)
print("\n")
print("=" * 55)
print("Grocery Restocked......!!")
print("=" * 55)
print("\n")
mydb.commit()
# function to search a grocery
def search():
mid = input("Enter the Grocery ID : ")
q = "select * from grocery where mid = " + mid
cr = mydb.cursor()
cr.execute(q)
k = cr.fetchone()
if k == None:
print("\nNo Grocery Available With This ID\n")
print("=" * 55)
else:
print("\nGrocery Found......!!")
print("=" * 55)
print("\n")
print("-" * 95)
print("Id\tName\t\tDate_of_Expiry\t\tPrice\t\tQty")
print("-" * 95)
print(k[0], "\t", k[1], "\t\t", k[4], "\t\t", k[-2], "\t\t", k[-1])
print("-" * 95)
print()
# Function to delete a grocery
def deletem():
mid = input("Enter the Grocery ID : ")
q = "delete from grocery where mid = " + mid
cr = mydb.cursor()
cr.execute(q)
print("\nGrocery Deleted......!!\n")
print("=" * 55)
print("\n\n")
mydb.commit()
# function for billing
def billing():
bno = input("Enter Bill No. : ")
cname = input("Enter Customer's Name : ")
bdate = input("Enter Bill Date (yyyy-mm-dd) : ")
amount = 0
grocery =""
cr = mydb.cursor()
while True:
mid = input("Enter Grocery id : ")
q = "select * from grocery where mid = " + mid
cr.execute(q)
res = cr.fetchone()
if res == None:
print("\nNo Grocery Available With This ID\n")
print("=" * 55)
else:
price = int(res[-2])
grocery += res[1] + " "
print("Price of Grocery is : ", price)
qty = int(input("Enter the Quantity to be Purchased : "))
bill = price * qty
amount += bill
print("Amount for Grocery ", amount)
ans = input("Are There More Grocery to be Purchased : ")
if ans.lower() == "no":
print("Calculating Your Bill ")
break
print("Total Bill Amount is : ", amount)
q = "insert into bill values(%s,%s,%s,%s,%s)"
data= (bno,cname,grocery,amount,bdate)
cr.execute(q,data)
mydb.commit()
print(" Bill Generated !!! \n\n")
def showbills():
print("=" * 55)
q = "select * from bill"
cr = mydb.cursor()
cr.execute(q)
res = cr.fetchall()
print("\n")
print("-" * 95)
print("BillNo\tName\t\tGrocery\t\t\t\tAmount\t\tDateofBill")
print("-" * 95)
for k in res:
print(k[0], "\t", k[1], "\t\t", k[2], "\t\t", k[3], "\t\t", k[4])
print("-" * 95)
print("\n")
while True:
print("=" * 55)
print("\t\t Mahuda, Jharkhand")
print("=" * 55)
print()
print("Choose an action to perform below:")
print()
print("Press 1 - Add New Item")
print("Press 2 - Restock an Item")
print("Press 3 - Show all Items")
print("Press 4 - Search an Item")
print("Press 5 - Delete an Item")
print("Press 6 - Billing of Item")
print("Press 7 - Display Previous Bills")
print("press 8 - To Exit")
print("\n")
opt = int(input("Enter Your Choice : "))
if opt == 1:
addgrocery()
elif opt == 2:
restock()
elif opt == 3:
showgrocery()
elif opt == 4:
search()
elif opt == 5:
deletem()
elif opt == 6:
billing()
elif opt == 7:
showbills()
elif opt == 8:
print("THANKS FOR VISITING..!!")
print("=" * 55)
print("\t\t Have a Grocery-Free Life Ahead")
print("*" * 95)
break
else:
print("You're having only 8 options to choose -___-")
break
# setting conection
mydb = sql.connect(host="localhost", user="root", password="AAYUSH", database="grocery_shop")
if mydb.is_connected():
print("=" * 55)
print("\t\tNIKITA GENERAL STOERS")
print("=" * 55)
grocery()
print("=" * 55)
print("\t\tThanks for Visiting....!!!")
print("=" * 55)
else:
print("Connection Error !!!!!")
SOURCE TO CREATE DATABASE
import mysql.connector
mydb = mysql.connector.connect(host="localhost", user="root", password="AAYUSH")
cr = mydb.cursor()
q = "create database grocery_shop"
cr.execute(q)
q = "use grocery_shop"
cr.execute(q)
q = '''create table grocery(
mid integer primary key,
mname varchar(30) not null,
manufacturer varchar(50),
dateofm date,
dateofexp date not null,
mg float,
content varchar(100),
price float,
qty integer)'''
cr.execute(q)
q = '''
create table bill(
billid integer primary key,
cname varchar(50),
grocery_bought varchar(100),
amount float,
billdate date)'''
cr.execute(q)
mydb.commit()
print("Database Initialised")
MYSQL TABLE
BILL TABLE
GROCERY TABLE
OUTPUT OF PROJECT
MENU
IF YOU PRESS 1
IF YOU PRESS 2
IF YOU PRESS 3
IF YOU PRESS 4
IF YOU PRESS 5
IF YOU PRESS 6
IF YOU PRESS 7
TESTING
Testing the Grocery shop Management System
project is a critical phase to ensure its reliability
and functionality. The testing process
encompasses various levels, including unit testing,
integration testing, system testing, and user
acceptance testing. Unit testing verifies the
correctness of individual components, while
integration testing evaluates the interaction
between these components. System testing
assesses the system as a whole, validating its
compliance with specified requirements. User
acceptance testing involves end-users to
guarantee the system meets their expectations.
Rigorous testing not only identifies and rectifies
defects but also ensures a seamless, user-friendly
experience, instilling confidence in the GROCERY
SHOP Management System's efficiency.
HARDWARE AND SOFTWARE
REQUIREMENTS
HARDRWARE REQUIREMENTS:
• PROCESSOR: PENTIUM(ANY), Intel Core 2 +,
AMD(ANY)
• MOTHERBOARD: 1.845 OR 915,995 FOR PENTIUM
ORMSI K9MM-V VIA K8M800+8237R PLUS CHIPSET
FOR AMD ATHALON
• RAM : 512 MB OR ABOVE
• HARD DISK: SATA 40 GB OR ABOVE
• CD/DVD: IF BACKUP REQUIRED
• FLOPPY DRIVE: 1.44 MB (IF BACKUP REQUIRED)
• MONITOR :14.1 or 15-17 INCH
• KEY BOARD AND MOUSE
• PRINTER: IF PRINT IS REQUIRED (HARD COPY)
SOFTWARE REQUIREMENTS:
• WINDOWS OS
• PYTHON
• MYSQL CONNECTOR LIBRARY
• MYSQL SOFTWARE
CONCLUSION
In the course of developing the Grocery Shop Management System using
Python and MySQL, a journey of learning and application unfolded. This project
served as an invaluable opportunity to merge theoretical knowledge with hands-
on experience, reinforcing key programming concepts and database management
skills.
Throughout the development process, the complexities of managing a grocery
store's diverse operations were translated into code, fostering a deep
understanding of the practical challenges in software development. The
integration of Python, a versatile and dynamic programming language, with
MySQL, a powerful relational database management system, provided a
comprehensive solution to the intricate requirements of a grocery management
system.
The learning outcomes of this project can be summarized as follows:
1. Programming Proficiency:
• Strengthened proficiency in Python programming, including data structures,
functions, and object-oriented principles.
• Applied modular design to enhance code readability and maintainability.
2. Database Management:
• Acquired a solid understanding of relational databases and their application in
real-world scenarios.
• Implemented normalized database structures to ensure data integrity and
efficient query processing.
3. Application of Software Development Principles:
• Practiced software engineering principles such as modularization, abstraction,
and encapsulation.
FUTURE SCOPE OF THE PROJECT
The Grocery Management System developed using Python and
MySQL presents a robust foundation with a range of features and
capabilities. As technology continues to evolve, there are several
avenues for future enhancements and expansions to ensure the
system remains relevant and cutting-edge.
Here are some potential areas of future scope for the Grocery
Management System project:
1. Integration with E-commerce Platforms:
• Extend the system to integrate with popular e-commerce platforms, enabling
online ordering and delivery services.
• Implement APIs for seamless connectivity with third-party applications,
enhancing the store's online presence.
2. Mobile Application Development:
• Develop a dedicated mobile application for both Android and iOS platforms.
• Enable features such as mobile ordering, push notifications, and real-time
updates for customers on the go.
3. Machine Learning for Demand Forecasting:
• Implement machine learning algorithms to analyze historical sales data and
predict future demand.
• Enhance inventory management by optimizing stock levels based on seasonality,
trends, and customer preferences.
4. AI-Powered Customer Recommendations:
• Utilize artificial intelligence to analyze customer purchase patterns and provide
personalized product recommendations.
• Enhance the customer experience by offering targeted promotions and
discounts.
REFERENCES
Books:
• INFORMATICS PRACTICES with Python – Class
XII By: Sumita Arora
Websites:
• Python.org
• Mysql.com