0% found this document useful (0 votes)
41 views44 pages

Cafe Management System Project Report

The document is a project report on a Cafe Management System developed by Lavanya Saini for the academic year 2023-24, submitted to Mr. Ashish Thomas. It outlines the project's objectives, proposed system, system development life cycle, and includes source code for the software developed using Python and MySQL. The project aims to automate school operations related to cafe management, including customer, bill, and employee management.
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)
41 views44 pages

Cafe Management System Project Report

The document is a project report on a Cafe Management System developed by Lavanya Saini for the academic year 2023-24, submitted to Mr. Ashish Thomas. It outlines the project's objectives, proposed system, system development life cycle, and includes source code for the software developed using Python and MySQL. The project aims to automate school operations related to cafe management, including customer, bill, and employee management.
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

PROJECT REPORT

ON
CAFE MANAGEMENT SYSTEM
ACADEMIC YEAR: 2023-24

Submitted to:
Mr. Ashish Thomas

Sophia Sr. Sec. School, Lalarpura, Jaipur

In

Partial Fulfilment of the

requirement for Qualifying

SSCE Examination

BOARD ROLL NO :

NAME : LAVANYA SAINI

CLASS : XII- B

SUBJECT : INFORMATICS PRACTICES

SUBJECT CODE : 065

PROJECTGUIDE : Mr. Ashish Thomas

~1~
Sophia Sr. Sec. School, Lalarpura, Jaipur

CERTIFICATE
This to certify that the project entitled CAFE MANAGEMENT is a bonafide

work done by Lavanya Saini of class XII session 2023-2024 in partial fulfilment

of CBSE’s Examination 2024 and has been carried out under my direct

supervision and guidance. This report on the topic has not been submitted for any

other examination and does not form a part of any other courses undergone by the

candidate.

Guide : Mr. Ashish Thomas

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

External Examiner’s No. : ……………………………..

External Examiner’s Name : ……………………………..

Signature : ……………………………..

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

~2~
ACKNOWLEDGEMENT
I would like to acknowledge all those without whom this project would not have
been successful. Firstly, I would wish to thank our Computer Science teacher
Mr.Ashish Thomas who guided me throughout the project and gave his immense
support. He made us understand how to successfully complete this project and
without him, the project would not have been complete.

This project has been a source to learn and bring our theoretical knowledge to the
real-life world. So, I would really acknowledge his help and guidance for this
project.

I owe my great deal to my family & friends for their unflagging support and
encouragement.

LAVANYA SAINI

XII - B

~3~
TABLE OF CONTENT [TOC]

S.No. Description Page No


01 ACKNOWLEDGEMENT 03

02 INTRODUCTION 05

03 OBJECTIVE OF THE PROJECT 06

04 PROPOSED SYSTEM 07

05 SYSTEM DEVELOPMENT LIFE CYCLE (SDLC) 08

06 IMPORTANCE OF SOFTWARE LIFE CYCLE 09

07 HARDWARE AND SOFTWARE REQUIREMENT 10

08 FLOW CHART 11

09 SOURCE CODE 12

10 OUTPUT 30

11 BIBILOGRAPHY 42

~4~
INTRODUCTION
This project on “CAFÉ MANAGEMENT” is general software developed (using

python) to simplify school operations by automating them. In this project it covers

major aspects of CAFÉ MANAGEMENT; it could perform the following

operations – Customer Management, Bill Management and Employee

Management.

OBJECTIVE OF THE PROJECT


The objective of this project is to let the students apply the programming

knowledge into a real-world situation/problem and exposed the students how

programming skills helps in developing a good software.

1. Write programs utilizing modern software tools.

2. Apply object-oriented programming principles effectively when developing

small to medium sized projects.

3. Write effective procedural code to solve small to medium sized problems.

4. Students will demonstrate a breadth of knowledge in computer science, as

exemplified in the areas of systems, theory and software development.

5. Students will demonstrate ability to conduct research or applied Computer

Science project, requiring writing and presentation skills which exemplify

scholarly style in computer science.

~5~
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

paperwork has to be done but now software production 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.

~6~
SYSTEM DEVELOPMENT LIFE CYCLE
[SDLC]
The system development life cycle is a project management model that defines

the stages involved in bringing a project from inception to completion. Software

development teams, for example, deploy a variety of systems development life

cycle models that include waterfall, spiral and agile processes.

Systems development life cycle phases include ideation, requirements, design,

development, testing, deployment, maintenance.

~7~
IMPORTANCE OF SOFTWARE LIFE CYCLE
• It provides visibility for the engaged parties.

• It allows to control the project.

• Predictable deliveries throughout an entire development process.

• Eliminating risks like going over budget or deadline breach.

• The process goes on until all the requirements are met.

~8~
MINIMUM SOFTWARE AND HARDWARE
REQUIREMENTS

HARDWARE:-
1. PC - Desktop/Laptop
2. Processor - intel i3
3. RAM - 2GB
4. Hard Disk - 2 GB

SOFTWARE:-
1. Operating System – windows 7 and later version (32-bit / 64-bit)
2. Language - Python
3. IDE - Python idle 3.7(min)
4. Database - MySQL
5. Database driver - mysql connector
6. Library for plotting - matplotlib

7. Other libraries- pandas

~9~
FLOW CHART

Main Menu

Customer Bill Employee


Management Management Management

Add a new Add Bill Add


Customer details details Employee
details

Search a Customer Search


Search Bill employee
details details details

View all View all


View all Bill employee
Customer details details details

Edit Customer Edit Bill Edit employee


details details
details

Delete Customer Delete Bill Delete


details employee
details details

~ 10 ~
~ 11 ~
SOURCE CODE

MySQL CODE
create databases cafemanagemet;

use cafemanagemet ;

Create table Customer

(Cust_id char(3),

Cust_name varchar(30),

Phoneno char(10),

Address varchar(50),

Primary key(Cust_id));

Create table Bill

(Cust_id char(3),

Order_name varchar(20),

Billno char(3),

Price int,

Quantity int ,

Modes_of_payment

varchar(20),

Primary key(Cust_id),

Foreign Key (Cust_id) references Customer (Cust_id));

~ 12 ~
Create table Employee

(Empid char(3),

Salary int,

Emp_address varchar(50),

Emp_phoneno char(10),

Salary_hike float,

Primary key (Empid));

~ 13 ~
PYTHON CODE
import mysql.connector

mydb=mysql.connector.connect( host='localhost',

user='root', password='12345',

database='sportsshopmanagement')

mycursor=mydb.cursor()

Main Menu
def Main_Menu():
while True:
print("\t___________________________________________________________")
print(" *******WELCOME TO CAFE MANAGEMENT ******* ")
print("\t___________________________________________________________")
print("\n\t ***** MAIN MENU ***** ")
print("1: Customer Management Menu")
print("2: Bill Management Menu ")
print("3: Employee Management Menu")
print("4: Visual Representation")
print("5: Exit")
print("\t ")
choice=int(input("Enter Your Choice:"))
if choice==1:
Customer_Management()
elif choice==2:
Bill_Management()
elif choice==3:
Employee_Management()
elif choice==4:

~ 14 ~
View_Graph()
elif choice==5:
break
else:
print("ERROR: Invalid Choice Try Again")
cont=input("Press any key to continue")

Customer Management Menu


def Customer_Management():

while True:

print("\t ")

print("\t********CUSTOMER DETAILS********")

print("\t ")

print("1: Add Customer Details")

print("2: Search Customer Details")

print("3: View all Customer Details")

print("4: Edit Customer Details")

print("5: Delete Customer Details")

print("6: Return Main Menu")

print('______________________________________')

choice=int(input("Enter Your Choice:"))

print('______________________________________')

if choice==1:

Add_Customer_Details()

elif choice==2:
~ 15 ~
Search_Customer()

elif choice==3:

View_Customer()

elif choice==4:
Edit_Customer_Details()

elif choice==5:

Delete_Customer()

elif choice==6:

return

else:

print("ERROR: Invalid Choice Try Again")

cont=input("Press any key to continue")

Add New Customer Details


def Add_Customer_Details():
Cust_id=int(input("Enter Customer id:"))

Cust_name=input("Enter Name of Customer:")

Phoneno=input("Enter Phone Number:")

Address=input("Enter Address:")

query="insert into Customer


values('{}','{}','{}','{}')".format(Cust_id,Cust_name,Phoneno,Address)

mycursor.execute(query)

mydb.commit()

print("Customer Details stored Successfully")

~ 16 ~
Search a Customer
def Search_Customer():
Cust_id=input("Enter Cust_id:")

sql="select * from Customer where Cust_id='{}'".format(Cust_id)

mycursor.execute(sql)

print("THE CUSTOMER DETAILS ARE AS FOLLOWS:")

res=mycursor.fetchall()

for x in res:

print(x)

View All Customer Details


def View_Customer():

print("The customer details are as follow:")

mycursor.execute("SELECT * FROM Customer")

myresult=mycursor.fetchall()

for x in myresult:

print(x)

Edit Customer Details


def Edit_Customer_Details():

Cust_id=input("Enter Customer id:")

Cust_name=input("Enter Name of Customer:")

Phoneno=input("Enter Phone number:")

Address=input("Enter Address:")

~ 17 ~
query="update Customer set Cust_name='{}',Phoneno='{}',Address='{}' Where

Cust_id='{}'".format(Cust_name,Phoneno,Address,Cust_id)

mycursor.execute(query)

mydb.commit()

print("Customer Details Changed Successfully")

Delete a Customer
def Delete_Customer():

Cust_id=input("Enter Customer ID of Customer:")

query="Delete from Customer where Cust_id='{}'".format(Cust_id)

mycursor.execute(query)

mydb.commit()

print("Customer Data Deleted")

Bill Management Menu


Def BillManagement():

while True:

print("\t ")

print("\t********BILL DETAILS********")

print("\t ")

print("1: Add Bill Details")

print("2: Search Bill Details")

print("3: View all Bill Details")

print("4: Edit Bill Details")

print("5: Delete Bill Details")


~ 18 ~
print("6: Return Main Menu")

print('______________________________________')

choice=int(input("Enter Your Choice:"))

print('______________________________________')

if choice==1:

Add_Bill_Details()

elif choice==2:

Search_Bill()

elif choice==3:

View_Bill()

elif choice==4:

Edit_Bill_Details()

elif choice==5:

Delete_Bill()

elif choice==6:

return

else:
print("ERROR: Invalid Choice Try Again")

cont=input("Press any key to continue")

Add Bill Details


def Add_Bill_Details():

Cust_id=input("Enter customer id:")

Order_name=input("Enter Name of order:")

~ 19 ~
Billno=input("Enter Bill number:")

Price=input('Enter Price:')

Quantity=input("Enter Quantity:")

Modes_of_payment=input (“Enter mode of payment:”)

query="insert into Item

values('{}','{}','{}','{}','{}')".format(Cust_id, order_name, billno, price,quantity,


modes_of_payment)

mycursor.execute(query)

mydb.commit()

print("Bill Details stored Successfully")

Search Bill Details


def Search_Bill():

Cust_id=input("Enter Cust_id:")

sql="select * from Item where Cust_id='{}'".format(Cust_id)


mycursor.execute(sql)
print("THE ITEM DETAILS ARE AS FOLLOWS:")
res=mycursor.fetchall()
for x in res:
print(x)

View All Bill Details


def View_Bill():

print("The Bill details are as follow:")

mycursor.execute("SELECT * FROM Bill")

myresult=mycursor.fetchall()

~ 20 ~
for x in myresult:

print(x)

Edit Bill Details


def Edit_Bill_Details():

Cust_id=input("Enter customer id:")

Order_name=input("Enter Name of Order:")

Billno=input("Enter Bill number:")

Price=input('Enter Price:')

Quantity=input("Enter Quantity:")

Modes_of_payment=input (“Enter mode of payment:”)

query="update Item set Order_name='{}',Billno='{}',Price='{}',Quantity='{}',


Modes_of_payment=’{}’ Where

Cust_id='{}'".format(Order_name,Billno,Price,Quantity,Modes_of_payment,Cust_id)

mycursor.execute(query)

mydb.commit()
print("Customer Details Changed Successfully")

Delete Bill Details


def Delete_Bill():

Cust_id=input("Enter Customer id:")

query="Delete from Item where Cust_id='{}'".format(Cust_id)

mycursor.execute(query)

mydb.commit()

print("Bill Data Deleted")


~ 21 ~
Employee Management Menu
def Employee_Management():

while True:

print("\t ")

print("\t********EMPLOYEE DETAILS********")

print("\t ")

print("1: Add Employee etails")

print("2: Search Employee Details")

print("3: View all Employee Details")

print("4: Edit Employee Details")

print("5: Delete Employee Details")

print("6: Return Main Menu")

print('______________________________________')

choice=int(input("Enter Your Choice:"))

print('______________________________________')

if choice==1:

Add_Employee_Details()

elif choice==2:

Search_Employee()

elif choice==3:

View_Employee()

elif choice==4:

Edit_Employee_Details()

~ 22 ~
elif choice==5:

Delete_Employee()

elif choice==6:

return

else:
print("ERROR: Invalid Choice Try Again")

cont=input("Press any key to continue")

Add Employee Details


def Add_Employee_Details():

Empid=input("Enter Employee id:")

Salary=input("Enter Salary of employee:")

Emp_address=input("Enter Employee address:")

Emp_phoneno=input("Enter Employee phone number:")

Salary_hike=input(‘Enter Salary hike:’)

query="insert into Employee

values('{}','{}','{}','{}','{}','{}','{}')".format(Empid,Salary,Emp_address,
emp_phoneno, Salary_hike)

mycursor.execute(query)

mydb.commit()

print("Employee Details stored Successfully")

Search Employee Details


def Search_Employee():

Empid=input("Enter Employee id :")

~ 23 ~
sql="select * from Bill where Empid='{}'".format(Empid)

mycursor.execute(sql)

print("THE EMPLOYEE DETAILS ARE AS FOLLOWS:")

res=mycursor.fetchall()

for x in res:

print(x)

View all Employee Details


def View_Employee():

print("The Employee details are as follow:")


mycursor.execute("SELECT * FROM Employee")
myresult=mycursor.fetchall() for x in
myresult:

print(x)

Edit Employee Details


def Edit_Employee_Details():

Empid=input("Enter Employee id:")

Salary=input("Enter Salary of employee:")

Emp_address=input("Enter Employee address:")

Emp_phoneno=input (“Enter Employee phone number:”)

Salary_hike=input(‘Enter Salary hike:’)

query="update Employee set Empid='{}', Salary='{}',Emp_address='{}',


Emp_phoneno='{}',Salary_hike='{}',
where Empid='{}'".format(Salary,Emp_address, Emp_phoneno, Salary_hike, Empid)

~ 24 ~
mycursor.execute(query)

mydb.commit()

print("Employee Details Changed Successfully")

Delete Employee Details


def Delete_Employee():

Empid=input("Enter Employee id:")

query="Delete from Employee where Empid='{}'".format(Empid)

mycursor.execute(query)

mydb.commit()

print(" Employee Data Deleted")

DATA VISUALIZATION
Graph Menu
def View_Graph():
while True:
print("\t____________________________________________________________")

print("\t ********DATA VISUALIZATION MENU******** ")

print("\t ")

print("1: Graph on the basis of Mode Of Payment ")

print("2: Graph on the basis of Sales ")

print("3: Return Main Menu")

print("\t ")

choice=int(input("Enter Your Choice:"))

if choice==1:
~ 25 ~
View_Graph_MOP()

elif choice==2:

View_Graph_Sales()

elif choice==3:

return

else:
print("ERROR: Invalid Choice Try Again")

cont=input("Press any key to return to Main Menu()")

Graph on the basis of Mode Of Payment


def View_Graph_MOP():

sql= 'Select count(Payment_Mode) as x, Payment_Mode from Sales group by


Payment_Mode'

print('Preferable mode of payment:')

Df1=pd.read_sql(sql,mydb);

print(Df1)

plt.bar(Df1['Payment_Mode'],Df1['x'],color='blue',width=0.25)

plt.title('Mode Of Payment')

plt.xlabel('Payment Mode')

plt.ylabel('No. Of Use ')

plt.show()

~ 26 ~
Graph on the basis of Sales
def View_Graph_Sales():

sql="Select count(month(order_date)) as count , monthname(order_date) as 'mod' from


sales where year(order_date)='2022' group by month(order_date) order by
month(order_date);"

sql2="Select count(month(order_date)) as count, monthname(order_date) as 'mod2'


from sales where year(order_date)='2023' group by month(order_date) order by
month(order_date);"

print("sales in different years:")

Df1=pd.read_sql(sql,mydb)

df2=pd.read_sql(sql2,mydb)

plt.plot(Df1['mod'],Df1['count'],color='red',label='2022')

plt.plot(df2['mod2'],df2['count'],color='blue',label='2023')

plt.title('SALES')

ticks=[1,2,3,4]

plt.yticks(ticks)

plt.show()

~ 27 ~
OUTPUT
MySQL

~ 28 ~
~ 29 ~
~ 30 ~
PYTHON

Main Menu

Customer Management Menu

~ 31 ~
Add Customer

Search Customer

~ 32 ~
View All Customer

Edit Customer Details

~ 33 ~
Delete Customer

~ 34 ~
Bill Management Menu

Add Bill

~ 35 ~
Search Bill

View All Bill

~ 36 ~
Edit Bill

Delete Bill

~ 37 ~
Employee Management Menu

Add Employee Details

~ 38 ~
Search Employee

View Employee

~ 39 ~
~ 40 ~
Edit Employee Detail

Delete Employee Details

~ 41 ~
Visual Representation

~ 42 ~
~ 43 ~
BIBLIOGRAPHY

1. Informatics Practices - NCERT


2. Textbook of Informatics Practices By Preeti Arora
3. Textbook of Informatics Practices by Sumita Arora
4. https://www.scribd.com/
5. https://www.tutorialaicsip.com/
6. https://medium.com/

~ 44 ~

You might also like