Computer Science Project On Food Ordering Software: Kendriya Vidyalaya Ongc Mehsana
Computer Science Project On Food Ordering Software: Kendriya Vidyalaya Ongc Mehsana
ONGC MEHSANA
COMPUTER
SCIENCE Submited By:
RITIK KUMAR
PROJECT ON
FOOD
ORDERING
Session 2019-20
SOFTWARE
Submited to:
Mrs. NAMRATA SHAH
CERTIFICATE
This is to certify that the project work on “FOOD
ORDERING SOFTWARE” has been satisfactorily
conducted under the guidance of Mrs. Namrata Shah
and hence recorded here is the bonafide work of
RITIK KUMAR of class XII ‘A’ of KV ONGC, Mehsana
during the academic year 2019-20.
Def reset(): This clears all the entry fields and resets the whole
Program.
Def nameclick(event): This clears the entry field of ‘NAME’ on left click
of mouse.
Def um_click(event) This clears the entry fields of ORDER Frame on left
Def bf_click(event): click of mouse.
Def smb_click(event):
Def stb_click(event):
USER DEFINED FUNCTIONS PURPOSE
Def ec_click(event):
Def fd_click(event):
Def cn_click(event):
Def kb_click(event):
root = Tk()
root.geometry("1366x768+0+0")
root.title("WELCOME TO PLAYERS UNKNOWN BELLY GROUNDS")
root.iconbitmap(r'frostbite.ico')
mydb =
mysql.connector.connect(host='localhost',user='ritik',passwd='ritik')
mycursor = mydb.cursor()
try:
mycursor.execute('create database frost_db')
mycursor.execute('use frost_db')
print("database frost_db is created")
except:
print('Database Matched')
mycursor.execute('use frost_db')
try:
mycursor.execute('create table FROSTBITE(orderno int(6),name
varchar(30),phoneno varchar(10),date date,um int(3),'
'bf int(3),stb int(3),smb int(3),ec int(3),fd
int(3),cn int(3),kb int(3),total float(6,2));')
print('Table FROSTBITE is created ')
except:
print('Table FOUND')
#=================================Variables================================
um_v=IntVar()
bf_v=IntVar()
smb_v=IntVar()
stb_v=IntVar()
ec_v=IntVar()
fd_v=IntVar()
cn_v=IntVar()
kb_v=IntVar()
name_v=StringVar()
name_v.set('customer name')
phone_v=StringVar()
phone_v.set('mobile number')
bill_number=StringVar()
cost_of_meal=IntVar()
cost_of_meal.set(0.0)
gst_applied=IntVar()
gst_applied.set(0.0)
total_cost=IntVar()
total_cost.set(0.0)
order_number_v=StringVar()
order_number_v.set("****")
#======================================functions===========================
def time():
string = strftime('%H:%M:%S %p')
time_label.config(text = string)
time_label.after(1000, time)
def total():
No_um = um_v.get()
No_bf = bf_v.get()
No_smb = smb_v.get()
No_stb = stb_v.get()
No_ec = ec_v.get()
No_fd = fd_v.get()
No_cn = cn_v.get()
No_kb = kb_v.get()
if No_um==0 and No_bf==0 and No_smb==0 and No_stb==0 and No_ec==0 and
No_fd==0 and No_cn==0 and No_kb==0:
messagebox.showerror('ERROR', 'NO ORDERS PLACED')
else:
cost_of_meal.set(meal)
gst_applied.set(gst)
total_cost.set(total_price)
def reset():
um_v.set(0)
bf_v.set(0)
smb_v.set(0)
stb_v.set(0)
ec_v.set(0)
fd_v.set(0)
cn_v.set(0)
kb_v.set(0)
cost_of_meal.set(0.0)
gst_applied.set(0.0)
total_cost.set(0.0)
name_v.set('customer name')
phone_v.set('mobile number')
bill_area.delete("1.0", END)
order_number_v.set("****")
try:
save_bill_btn.destroy()
except:
return
def nameclick(event):
name_v.set("")
def phoneclick(event):
phone_v.set("")
def um_click(event):
um_v.set('')
def bf_click(event):
bf_v.set('')
def smb_click(event):
smb_v.set('')
def stb_click(event):
stb_v.set('')
def ec_click(event):
ec_v.set('')
def fd_click(event):
fd_v.set('')
def cn_click(event):
cn_v.set('')
def kb_click(event):
kb_v.set('')
def um_click_desc():
pricelist = Tk()
pricelist.title('300 MAGNUM')
pricelist.iconbitmap(r'frostbite.ico')
def bf_click_desc():
pricelist = Tk()
pricelist.title('BULLET FRIES')
pricelist.iconbitmap(r'frostbite.ico')
def smb_click_desc():
pricelist = Tk()
pricelist.title('SMOKE BURGER')
pricelist.iconbitmap(r'frostbite.ico')
def stb_click_desc():
pricelist = Tk()
pricelist.title('STUN BURGER')
pricelist.iconbitmap(r'frostbite.ico')
def ec_click_desc():
pricelist = Tk()
pricelist.title('ENERGY COKE')
pricelist.iconbitmap(r'frostbite.ico')
def fd_click_desc():
pricelist = Tk()
pricelist.title('FLARE DRINK')
pricelist.iconbitmap(r'frostbite.ico')
def cn_click_desc():
pricelist = Tk()
pricelist.title('CHOCO NADE')
pricelist.iconbitmap(r'frostbite.ico')
def kb_click_desc():
pricelist = Tk()
pricelist.title('KILLER BROWNIE')
pricelist.iconbitmap(r'frostbite.ico')
def order_number_click(event):
order_number_v.set('')
def generate_bill():
random_bill = random.randint(11111,100000)
bill_number.set(str(random_bill))
bill_time = strftime('%H:%M:%S %p')
bill_date = strftime("%d/%m/%y")
if len(str(phone_v.get()))<10 or len(str(phone_v.get()))>10:
else:
bill_area.insert(END, '\t\tFROSTBITE\n')
bill_area.insert(END, '\t PUBG RESTAURANT\n')
bill_area.insert(END, '--------------------------------------
\n')
bill_area.insert(END, f'\n Bill Number :
{bill_number.get()}')
bill_area.insert(END, f'\n Date : {bill_date}')
bill_area.insert(END, f'\n Time : {bill_time}')
bill_area.insert(END, f'\n Customer Name: {name_v.get()}')
bill_area.insert(END, f'\n Phone Number : {phone_v.get()}')
bill_area.insert(END, '\n\n------------------------------------
--\n')
bill_area.insert(END, '\t\tORDERS\n')
bill_area.insert(END, '\n ITEMS\t\tQuantity\t\tCost\n')
#bill_area.insert(END, '')
if um_v.get()!=0:
qty_um=um_v.get()
cost_um=qty_um*450
bill_area.insert(END, f'\n 300 Magnum\t\t
{qty_um}\t\t{cost_um}')
if bf_v.get()!=0:
qty_bf=bf_v.get()
cost_bf=qty_bf*100
bill_area.insert(END, f'\n Bullet Fries\t\t
{qty_bf}\t\t{cost_bf}')
if smb_v.get()!=0:
qty_smb=smb_v.get()
cost_smb=qty_smb*120
bill_area.insert(END, f'\n Smoke Burger\t\t
{qty_smb}\t\t{cost_smb}')
if stb_v.get()!=0:
qty_stb=stb_v.get()
cost_stb=qty_stb*150
bill_area.insert(END, f'\n Stun Burger\t\t
{qty_stb}\t\t{cost_stb}')
if ec_v.get()!=0:
qty_ec=ec_v.get()
cost_ec=qty_ec*45
bill_area.insert(END, f'\n Energy Coke\t\t
{qty_ec}\t\t{cost_ec}')
if fd_v.get()!=0:
qty_fd=fd_v.get()
cost_fd=qty_fd*35
bill_area.insert(END, f'\n Flare Drink\t\t
{qty_fd}\t\t{cost_fd}')
if cn_v.get()!=0:
qty_cn=cn_v.get()
cost_cn=qty_cn*70
bill_area.insert(END, f'\n Choco Nade\t\t
{qty_cn}\t\t{cost_cn}')
if kb_v.get()!=0:
qty_kb=kb_v.get()
cost_kb=qty_kb*135
bill_area.insert(END, f'\n Killer Brownie\t\t
{qty_kb}\t\t{cost_kb}')
bill_area.insert(END, '\n\n------------------------------------
--\n')
No_um = um_v.get()
No_bf = bf_v.get()
No_smb = smb_v.get()
No_stb = stb_v.get()
No_ec = ec_v.get()
No_fd = fd_v.get()
No_cn = cn_v.get()
No_kb = kb_v.get()
billno_sql = random_bill
name_sql = name_v.get()
phone_sql = phone_v.get()
date_sql = bill_date
um_sql = um_v.get()
bf_sql = bf_v.get()
stb_sql = stb_v.get()
smb_sql = smb_v.get()
ec_sql = ec_v.get()
fd_sql = fd_v.get()
cn_sql = cn_v.get()
kb_sql = kb_v.get()
total_sql = total_cost.get()
def save_bill():
savebill = messagebox.askyesno('save bill', 'Do you want to
save the bill?')
if savebill > 0:
bill_data = bill_area.get('1.0', END)
bill_file = open('E:\\CS PROJECT
NEW\\newproject\\ORDERS\\order ' + str(bill_number.get()) + '.txt', 'w')
bill_file.write(bill_data)
bill_file.close()
messagebox.showinfo('saved', "Saved successfuly")
else:
return
global save_bill_btn
def search_order():
bill_area.delete("1.0", END)
if order_number_v.get()=='****':
return
else:
try:
bill_file = open('E:\\CS PROJECT NEW\\newproject\\ORDERS\\order
' + str(order_number_v.get()) + '.txt', 'r')
order_text = bill_file.read()
bill_area.insert(END, f'{order_text}')
bill_file.close()
except:
messagebox.showinfo('order not found', f"There is NO order with
Order No.{order_number_v.get()}")
def add():
os.system("C:\\Users\\RITIK\\Downloads\\frostbiteadd.mp4")
#=======================================IMAGESET===========================
um=PhotoImage(file="um.png")
bf=PhotoImage(file="bf.png")
smb=PhotoImage(file="smb.png")
stb=PhotoImage(file="stb.png")
ec=PhotoImage(file="ec.png")
fd=PhotoImage(file="fd.png")
cn=PhotoImage(file="cn.png")
kb=PhotoImage(file="kb.png")
pubg=PhotoImage(file='pubg.png')
frostbite=PhotoImage(file="frostbite.png")
pubg_tops=PhotoImage(file="pubg_tops.png")
background=PhotoImage(file="background.png")
#========================================FRAMES============================
f4 =Frame(root,bd=2,relief=RIDGE)
f4.place(x=842, y=475)
f5 = LabelFrame(root,width=450,height=668, text='BILL',
font=('Agency FB',30,))
f5.place(x=1045, y=115)
#=======================================TOPS===============================
frostbite_img_1=Label(Tops,image=frostbite)
frostbite_img_1.place(x=515,y=0)
frostbite_img_2=Label(Tops,image=frostbite)
frostbite_img_2.place(x=800,y=0)
pubg_tops_img=Label(Tops,image=pubg_tops)
pubg_tops_img.place(x=600,y=0)
#======================================MENU================================
um_img=Button(f1,image=um,command=um_click_desc,
relief=RIDGE,overrelief=RAISED)
um_img.grid(row=0,column=0)
bf_img=Button(f1,image=bf,command=bf_click_desc
,relief=RIDGE,overrelief=RAISED)
bf_img.grid(row=1,column=0)
smb_img=Button(f1,image=smb,command=smb_click_desc,
relief=RIDGE,overrelief=RAISED)
smb_img.grid(row=0,column=2)
stb_img=Button(f1,image=stb,command=stb_click_desc,
relief=RIDGE,overrelief=RAISED)
stb_img.grid(row=1,column=2)
ec_img=Button(f1,image=ec,command=ec_click_desc,
relief=RIDGE,overrelief=RAISED)
ec_img.grid(row=0,column=4)
fd_img=Button(f1,image=fd,command=fd_click_desc,
relief=RIDGE,overrelief=RAISED)
fd_img.grid(row=1,column=4)
cn_img=Button(f1,image=cn,command=cn_click_desc,
relief=RIDGE,overrelief=RAISED)
cn_img.grid(row=0,column=6)
kb_img=Button(f1,image=kb,command=kb_click_desc,
relief=RIDGE,overrelief=RAISED)
kb_img.grid(row=1,column=6)
#========================================ORDER=============================
#=======================================CALCULATION========================
name_lbl=Label(f3,text="NAME",font=('Agency FB',20,),
fg='#FF4500')
name_lbl.grid(row=0,column=0)
name_ent=Entry(f3,justify='right' , textvar=name_v,
fg='#A52A2A')
name_ent.grid(row=0,column=1)
name_ent.bind("<Button-1>", nameclick)
grand_lbl=Label(f3,text="TOTAL",font=('Agency FB',30,'bold'),
fg='#DAA520')
grand_lbl.grid(row=5,column=0)
#=====================================BUTTON===============================
tot_btn=Button(f4,text='TOTAL',pady=22.5, width=25,
command=total,activebackground='#FF8C00',
activeforeground='black',relief=RIDGE,overrelief=RAISED,bd=3)
tot_btn.grid(row=0,column=0)
search_order_btn = Button(f4,text='SEARCH
ORDER',activebackground='#FF8C00',
command = search_order,activeforeground='black',
relief=RIDGE,overrelief=RAISED)
search_order_btn.grid(row=3,column=0,sticky=E)
#=====================================BILLFRAME============================
bill_area=Text(f5,width=38,height=23)
bill_area.grid(row=1,column=0)
pubg_img=Button(f5,image=pubg,relief=RIDGE,command = add)
pubg_img.grid(row=2,column=0)
#==========================================================================
root.state("zoom")
root.mainloop()
OUTPUT SCREENS
1). Folder of project
2). If database and table
doesn’t exist then software
creates it.
Displays Message if
Phone Number is not
of 10 digit
FUTURE SCOPE