You are on page 1of 30

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

You might also like