[go: up one dir, main page]

0% found this document useful (0 votes)
333 views26 pages

Food Booking System

The document appears to be a project report submitted by a student for a partial fulfillment of an AISSE examination. It includes the cover page with the school and examination details, a certificate signed by internal and external examiners and the principal, an acknowledgment section thanking the project guide and school authorities, and a table of contents listing the topics to be covered in the project report including introduction, objectives, proposed application, algorithm, flowchart, code, output, and system requirements.

Uploaded by

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

Food Booking System

The document appears to be a project report submitted by a student for a partial fulfillment of an AISSE examination. It includes the cover page with the school and examination details, a certificate signed by internal and external examiners and the principal, an acknowledgment section thanking the project guide and school authorities, and a table of contents listing the topics to be covered in the project report including introduction, objectives, proposed application, algorithm, flowchart, code, output, and system requirements.

Uploaded by

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

OLIVE PUBLIC SCHOOL

Affiliated to CBSE,New Delhi


Affiliation No.1931179
Chitlapakkam

CENTRAL BOARD OF SECONDARY EDUCATION

Olive Public School


II main road,Sarvamangala nagar,
Chitlapakkam,Chennai-600 064

PROJECT REPORT FILE IS SUBMITTED TO DEPARTMENT OF


COMPUTER SCIENCE FOR THE
PARTIAL FULFILLMENT OF
AISSE EXAMINATION SESSION – 2023-2024

SUBMITTED BY :
CLASS :
ROLL NO :

1
OLIVE PUBLIC SCHOOL
Affiliated to CBSE,New Delhi
Affiliation No.1931179
Chitlapakkam

DEPARTMENT OF COMPUTER SCIENCE


CERTIFICATE
This is to certify that the project report entitled
_____________________________________________ submitted by
____________________________ of grade XII with Roll
No.___________________ for the AISSCE – 2023-2024 at Olive
Public School, Chitlapakkam has been examined. This report is
checked by the Practical External/Internal Examiner on
_______________

Signature of Internal Examiner Signature of External Examiner

2
Signature of Principal

ACKNOWLEDGEMENT

We would like to express our deep sense of


honour and gratitude to our project guide
Ms.Amudhavalli.K M.Tech.,MBA.,B.Ed, for guiding and
mentoring us through the course of the project. Her
constructive advice and constant motivation have been
responsible for the successful of this project.

Our sincere regards go to our respected Principal,


Mrs.Priya Ajith M.Sc.,M.Phil.,B.Ed for extending every
possible support and school authorities for providing us
with the facilities for making this project file.

We also extend our obligation to our Parents for their


motivation and support. We thank our classmates and
friends for their timely help and support to complete this
project file successfully.

3
V. HARSHAVARDAN

CONTENTS

S.NO. TOPIC PAGE.NO

1 BONAFIDE

2 ACKNOWLEDGEMENT

3 INTRODUCTION

4 OBJECTIVE OF THE PROJECT

5 PROPOSED APPLICATION

6 APPLICATION ALGORITHM

7 FLOW CHART

8 APPLICATION CODE

9 OUTPUT

10 SYSTEM REQUIREMENTS

11 BIBILIOGRAPHY

4
FOOD BOOKING SYSTEM
OBJECTIVE OF PROJECT
The main objective of the python project on Food ordering is to manage the details of booking,
menu payments, and order.

The project is totally built at administrative end and only administrator is guaranteed the access .

The purpose of the project is to build an application program to reduce the manual work for
managing the booking, discounts, and payments.

It tracks all the details about menu, discount, and payments; it also prints various reports as per
input given by the user.

INPUT DATA AND VALIDATION OF PROJECT


1. All the fields such as order payments discounts are validated and does not take invalid
values.
2. Each form of sales, discounts, bookings cannot accept the blank values.
3. Avoiding errors in data.
4. Controlling amount of input.

SYSTEM REQUIRMENTS:
Data file handling has been effectively used in the program. The database is a collection of
interrelated data to serve multiple applications. That is database programs create files of
information. So we see that files are worked with most, inside the program.

DBMS: The software required for the management of data is called as DBMS. It has3 models:
5
• Relation model

• Hierarchical model

• Network model

RELATIONAL MODEL: It’s based on the concept on relation.


Relation is the table that consists of rows and columns. The rows
of the table are called tuple and the columns of the table are called
attribute. Numbers of rows in the table is called as cardinality.
Number of columns in the table is called as degree.
HIERARCHICAL MODEL: In this type of model, we have multiple records for each
record. A particular record has one parent record. No chide record can exist without parent
record. In this, the records are organized in tree.

NETWORK MODEL: In this, the data is represented by collection of records and


relationship is represented by (ink or association.

CHARACTERISTICS OF DBMS:
• It reduces the redundancy

• Reduction of data in inconsistency

• Data sharing

• Data standardization

DIFFERENT TYPES OF FILES: -BASED ON ACCESS:


• Sequential file

• Serial file

• Random (direct access) file BASED ON STORAGE:-

• Text file

• Binary File

NEED OF COMPUTERISATION
6
Over the decades computers and food bookings have developed gradually, changed with
time. But nobody knew that a time will come when both these fields will complement each
other so well. Today food booking has reached new heights by computer aided methods of
design. As a result of which, computer industry has got its new customer. Computer technology
is making waves in the food booking zone. Computers are a vital component of the food
booking counters. Computer aided design (CAD) programs reduce the demand for manual
sketches. New software programs continue to replace old manual skills. Those who lag in math
can now breathe a little easier. Manually figuring of food insists that knowledge. Software
programs constantly evolve. A program used today may be obsolete within several years. Being
trained on today's software does not guarantee it will be used when you are ready to go out into
the field. Understanding calculations is timeless, as is computer competency. Software,
however, shifts rapidly.

PROPOSED APPLICATIONS:
1. It generates the report on sales, discounts and menu.
2. Provides filter report on payments and food booking.
3. We can easily export PDF on sales, products and stocks.
4. Applications can also provide excel export for bookings and discounts.
5. It deals with monitoring the information and transaction of food bookings.
6. It increases the efficiency of food booking and discount.
7. It has higher efficiency of editing, adding and updating of records.
8. Provides the searching facilities on various factors.

LIMITS
1. Excel export has not been developed for bookings.
2. The transactions are executed in offline mode only.
3. Online transactions for sales, bookings, or other data modifications are not possible.
4. Offline reports of sales, bookings, and discounts cannot be generated due to batch mode
execution.

Application Algorithm:
Database Connection Setup:

7
 Import necessary libraries (os, platform, mysql.connector,
pandas).
 Establish a connection to the MySQL database (food) using the
mysql.connector.connect() method.
Create a cursor for executing SQL queries.
Functions for Data Entry:

Customer ():

 Accept customer details (ID, name, phone, payment method,


payment status, email, order ID, date).
 Insert the data into the customer table.
Employee ():

 Accept employee details (ID, name, gender, age, phone,


password).
 Insert the data into the Employee table.
Food ():

 Accept food details (ID, name, size, prize).


 Insert the data into the Food table.

8
Order Food ():

 Accept order details (Order ID, Customer ID, Employee ID,


Food ID, quantity, total price).
 Insert the data into the OrderFood table.
Fee deposit ():

 Accept fee deposit details (Roll number, fee amount, month).


 Insert the data into the fee table.
View ():

 Prompt the user to choose a search criterion (Employee,


Customer, Food, Order Food).
 Based on the choice, execute the corresponding SQL query and
display the results.
Menu Set ():

 Display a menu with options to add an employee, customer, food,


order food, deposit fee, or view bookings.
 Accept user input and call the corresponding function.
run Again ():

9
 Ask the user if they want to run the program again.
 If yes, clear the console (if on Windows or Linux) and rerun the
Menu Set () function.
 Repeat until the user decides to exit.
Execution:

 Call Menu Set () initially to start the program.


 After each operation, ask if the user wants to run another
operation.
 If yes, clear the console (optional) and run MenuSet() again.
 If no, display a goodbye message and exit the program.

10
FLOW CHART

11
12
13
14
Source Code

DBMS: MySQL
Host: local host
User: root
Passwd: root
Database: Food
Table Structure: (Image below)

15
Application Code:
import os
import platform.
import mysql.connector
import pandas as pd
mydb=mysql.connector.connect(host="localhost",\
user="root",\
passwd ="root",\
database="food")
my cursor=mydb.cursor()

def Customer ():


L=[]
c_id=int(input("Enter the customer ID number : "))
L.append(c_id)
name=input("Enter the Customer Name: ")
L.append(name)
cphone=int (input("Enter customer phone number : "))
L.append(cphone)
payment=int (input("Enter payment method ((1)credit card/(2)Debit Card:) "))
L.append(payment)
pstatus=input ("Enter the payment status : ")
L.append(pstatus)
16
email=input("Enter the email id")
L.append(email)
orderid=input("enter orderid")
L.append(orderid)
date=input("Enter the Date : ")
L.append(date)
cust=(L)
sql="insert into customer (c_id,name,cphone,payment,pstatus,email,orderid,date) values (%s,
%s,%s,%s,%s,%s,%s,%s)"
mycursor.execute(sql,cust)
mydb.commit()
# Customer Table :- C_id (PKC_name C_phonenum Payment_method (Cash/Credit
Card) Payment_status (Paid/Unpaid) Email Emp_id (FK) OrderF_id (FK) date

def Employee ():


L=[]
Emp_id=int(input("Enter the Employee id : "))
L.append(Emp_id)
ename=input("Enter the Employee Name: ")
L.append(ename)
emp_g=input("Enter Employee Genderr : ")
L.append(emp_g)
eage=int(input("Enter Employee age"))
L.append(eage)
emp_phone=int(input("enter employee phone number"))
L.append(emp_phone)

17
pwd=input("Enter the password : ")
L.append(pwd)
EMP=(L)
sql="insert into Employee (Emp_id,ename,emp_g,eage,emp_phone,pwd) values (%s,%s,%s,
%s,%s,%s)"
mycursor.execute(sql,EMP)
mydb.commit()

def Food ():


L=[]
Food_id=int(input("Enter the Food id : "))
L.append(Food_id)
Foodname=input("Enter the Food Name: ")
L.append(Foodname)
Food_size=input("Enter Food size : ")
L.append(Food_size)
prize=int(input("Enter Prize of Food"))
L.append(prize)
Food=(L)
sql="insert into Food (Food_id,Foodname,Food_size,prize ) values (%s,%s,%s,%s)"
mycursor.execute(sql,Food)
mydb.commit()

#Food_id (PK Foodname Food_size price


18
def OrderFood():
L=[]
OrderF_id=int(input("Enter the Food Order id : "))
L.append(OrderF_id)
C_id=input("Enter the Customer id : ")
L.append(C_id)
Emp_id=input("Enter Employee id: ")
L.append(Emp_id)
Food_id=int(input("Enter Food id"))
L.append(Food_id)
Food_qty=input("Enter Qty: ")
L.append(Food_qty)
Total_price=input("Enter Total_price")
L.append(Total_price)
OrderFood=(L)
sql="insert into OrderFood (OrderF_id,C_id,Emp_id,Food_id,Food_qty,Total_price ) values
(%s,%s,%s,%s,%s,%s)"
mycursor.execute(sql,OrderFood)
mydb.commit()

#OrderF_id (PK) C_id (FK) Employee_id (FK) Food_id (FK) Food_qty Total_price

19
def View():
print("Select the search criteria : ")
print("1. Employee")
print("2. Customer")
print("3. Food")
print("4. Order Food")
ch=int(input("Enter the choice 1 to 4 : "))
if ch==1:
s=int(input("enter Employee ID:"))
rl=(s,)
sql="select * from Employee where Emp_id=%s"
mycursor.execute(sql,rl)
res=mycursor.fetchall()
for x in res:
print(x)

elif ch==2:
s=input("Enter Customer Name : ")
rl=(s,)
sql="select * from Customer where cname=%s"
mycursor.execute(sql,rl)
res=mycursor.fetchall()
for x in res:
print(x)

20
elif ch==3:

sql="select * from Food"


mycursor.execute(sql)
res=mycursor.fetchall()
for x in res:
print(x)

elif ch==4:
s=int(input("Enter Food id ID : "))
rl=(s,)
sql="select * from Foodorder where food_id=%s"
mycursor.execute(sql,rl)
res=mycursor.fetchall()
for x in res:
print(x)

#print("The Food details are as follows : ")


#print("(Custoemer ID, Food Name, quatity, Cost )")
#for x in res:
#print(x)

def feeDeposit():
L=[]
roll=int(input("Enter the roll number : "))
L.append(roll)
21
feedeposit=int(input("Enter the Fee to be deposited : "))
L.append(feedeposit)
month=input("Enter month of fee : ")
L.append(month)
fee=(L)
sql="insert into fee (roll,feedeposit,month) values (%s,%s,%s)"
mycursor.execute(sql,fee)
mydb.commit()

def MenuSet():
print("Enter 1 : To Add Employee")
print("Enter 2 : To Add Cutomer details")
print("Enter 3 : To Add Food Details ")
print("Enter 4 : For Food Order")
print("Enter 5 : For feeDeposit")
print("Enter 6 : To view Food booking")

try:

userInput = int(input("Please Select An Above Option: "))


except ValueError:
exit("\nHy! That's Not A Number")
else:
print("\n")
if (userInput==1):
22
Employee()
elif (userInput==2):
Customer()
elif (userInput==3):
Food()
elif (userInput==4):
OrderFood()
elif (userInput==5):
feeDeposit()
elif (userInput==6):
View()

else:
print("Enter correct choice. . . ")

def runAgain():
runAgn=input("\nwant to run Again Y/N")
while runAgn.lower()=='y':
if(platform.system()=="Windows"):
print(os.system('cls'))
else:
print(os.system('clear'))
MenuSet()
runAgn=input("\nwant to run Againy/n")
print("Good Bye ... HAVE A NICE DAY")

23
Menu Set()
run Again()

24
OUTPUT :

25
BIBLIOGRAPHY

• Computer Science Text Book for Class XII - by NCERT

• Computer Science with Python (Text book for Class XII) - by Sumita Arora

• MySQL Connector/Python Developer Guide (https://dex.mysql.com/doc/connector-python/en/

26

You might also like