CERTIFICATE
This is to certify that JEROME ADRIEL T has successfully
completed Computer Science Project towards partial
completion of Practical examination of SSCE 2025 as prescribed
by CBSE.
Internal Examiner                External Examiner
                 ACKNOWLEDGEMENT
I wish to express my deep gratitude and sincere thanks to all my
teachers for encouragement and the management for providing
all facilities to successfully complete the project work.
I extend my sincere thanks to my principal and my Computer
Science teacher, whose valuable guidance helped to successfully
complete the project.
I extend my gratitude to my parents and classmates for their
valuable support and time.
            CONTENTS
1. Brief Overview of Project
2. Need for digitalization
3. Software and Hardware       requirement
4. Advantages of Project
5. Limitations of Project
6. Source Code of Project
7. Output Screens
8. Future Enhancement of Project
9. Bibliography
FOOD BOOKING SYSTEM
      BRIEF OVERVIEW 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.
SOFTWARE AND HARDWARE REQUIREMENTS:
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:
• 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
     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.
                  ADVANTAGES
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.
 SOURCE CODESCREENING
DBMS: MySQL
Host: local host
User: root
Passwd: root
Database: Food
Table Structure: (Image below)
              PYTHON CODE:
import os
import platform
import mysql.connector
import pandas as pd
mydb=mysql.connector.connect(host="localhost",\
                   user="root",\
                   passwd ="root",\
                   database="food")
mycursor=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)
  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 (PK C_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)
  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
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
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)
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)
  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):
  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")
MenuSet()
runAgain()
OUTPUT   SCREEN
FUTURE ENHANCEMENTS
 1. The solutions are given as a proposal. The suggestion is revised on user
    request and optimal changes are made. This loop terminates as soon as
    the user is gratified with the proposal.
 2. So on the whole, system analysis is done to improve the system
    performance by monitoring it and obtaining the best throughput possible
    from it. Therefore system analysis plays a crucial role in designing any
    system.
BIBLIOGRAPHY
 1. http://www.google.com/
 2. http://en.wikipedia.org
 3. Computer science with python
   by Sumita Arora