Cs Project..
Cs Project..
Objective
The objective of this project is to let the
students apply the programming
knowledge into a real-world
situation/problemand exposed the
students how programming skills helps
in developing a good software.
Input/Output Requirement
HARDWAREREQUIREMENTS
Operating System: - Windows 10 or above
Processor: - Pentium (Any) or AMD Athlon
(3800+ - 4200 + Dual core)
RAM:- 512 MB+
Hard Disk: - SATA 40GB Or Above
Software Requirements
Windows OS
Python Programming Language
MySQL Database Management System
ysQL@
The Existing System
The present software are obsolete,
sluggish, unorganized and are only
accessible by either the staffs or the
customers.
V Most of the work is done manually which
increases the chances of human error.
The Proposed System
v It's an age of computers and automating of
such an organization gives the better look.
v The work becomes fully automated and
any information regarding the
organisation can be obtained by clicking
the button.
Similar Softwares
Some of the pre-existing similar software are
shown below
TOP RATED
Restaurant
2022 365
Sarbari
Future Scope of the
Project
Our project has a large scope in the future as it
is easy to use it, understand it
and modify it.
Vln this age of evolving technologies, our
software aims to modernize Data Storing
which were not able to stand the test of
time, either because of superior
competition or due to heavy storing of data
in the system.
V Our software helps the management
department to manage and maintain the
records of customers, food and the other
bills of the restaurant much easier and
effective method from virtually anywhere in
the world.
v Our software is a paperless software which
makes it easy to sustain and aids the
environment.
v Our software increases the precision and
efficiently by eliminating the human chance of
error.
v Our software is laidback and can be accesse
by employees and users.
Source Code
fom tkinter import *
import random
importtime
tkinter import ttk
tkinter import messagebox
import sqlite3
from tkinter import *
root. ManagementSystem")
def Database():
global connectn,cursor
connectn=
cursor connectn.cursor()
# creating bill table
cursor.execute(
"CREATE TABLEIF NOT EXISTS text,piz text,bur text,ice text, dr
text, ct text,sbtext,taxtext,sr text,tot text)
# defining totalfunction
deftottal():
#fetching the values from entry box
order —(orderno.get())
pi
bu =
ice =float (icecream.getO)
dr =
# computing the cost of items
costpi = pi * 240
costbu = bu * 125
costice —ice * SO
costdr = dr * 60
# defining resetfunction
defreset():
orderno.set("")
pizza.set("")
btuger.set("")
icecream.set("")
drinks.set("")
cost. set("")
subtotal.set("")
tax.set("")
service. set("")
total.set("")
# definingexitfunction
defexit():
mot. destmy()
# Topframe
topframe = Frame(root, bg="white", width=1600, height=50)
topframe k(side—TOP)
# Leftframe
leftframe —Frame(root, height—700)
leftframe.pac k(side —LEFT)
# rightframe
rightframe = Frame(mot,
rightframe .pack(side=RIGHT)
display data
defDisplayData():
Database()
my tree.delete(*mytwe.get children())
cursor = * FROMRestaurantrecords
fetch cursorfetchall()
for data infetch:
my_tree.insert(", 'end', values=(data))
cursor.close()
connectn. close()
style = ttk.StyIe()
s tyle.
foreground="black",
rowheight=40,
fieldbackground="white"
style.map('Treeview',
'lightblue')])
Creating
my tree = ttk.Treeview(rightframe)
my_tree['columns'] = ("ordno", "Piz", "bur", "ice", "dr", "ct", "sb", " , "sr ", "tot")
creatingfor
horizontal_bar = ttk.ScmIIbar(rightframe,orient= "horizontal")
horizontal twe.xview)
ma set)
horizontal side=BOTTOM)
vertical_bar = ttk.ScmlIbar(rightframe,orient—"vertical")
vertica l_bm: configure'
my_tree.
vertical side—RlGHT)
DisplayData()
# definingaddfunction to add
defadd():
Database()
# getting data
orders = orderno.get()
pizzas = pizza.get()
burcgers= btnger.get()
ices = icecwam.get()
drinkss = drinks.get()
costs = cost.get()
subtotals = subtotal.get()
taxs —tax.get()
services = service.get()
totals = total.get()
if orders or pizzas '"' or bumgers "" or ices '"' or drinkss "" or costs ""
or subtotals '"' or taxs "" or servæes "" or totals —
messagebox.showinfo("Warning",
'Please fill the emptyfield!!!")
else:
connectn.execute(
'INSERTINTO Restaurantreco,tls (ordno, Piz, bur , ice .dr .tax, sr, tot) VALUES
(orders, pizzas, bmgers, ices, drinkss, costs, subtotals, taxs, services, totals));
connectn.commit()
messagebox.showinfo('Message", "Stored successfully")
# wfresh table data
DisplayData()
connectn.close()
connectn.commit()
cursor.close()
connectn.close()
# Time
localtime —time.asctime(time.localtime(time.time()))
# Toppart
main_lbl = 25, 'bold'), text—"Restaurant Management System"
fg-"B1ue'1
anchor= W)
O, column—O)
main 1b/ = Label(topframe,font=('Calibri', 15,), text=localtime,fg="lightgreen", anchor=W)
column=O)
# items
ordlbl = Label(lefiframe, 16, 'bold'), bd 5
column—I))
ordtxt = Entry(lefiframe,font=('Calibri', 16, 'bold'), bd=6, 'right',
I, column—I)
# Pizza
pizlbl = Label(leftframe,font=('Calibri', 16, 'bold'), bd=5,
anchor W).grid(mw=2,
# icecream
icelbl = 16, 'bold'), text="lce Cream", bd=5,
column —O)
totaltxt= 16, 'bold'), bd—6, insertwidth=4,justify—'right',
column—I)
# „-button--
deffeedbackk():
feed = Tk()
feed.
feed. title("Submit Feedbackform")
# database #
connectn = sqlite3.connect("Restaurant.db")
cursor = connectn.cursor()
TABLEIF NOT EXISTS FEEDBACK(n text, eid textJeedback5
text, com text)
# variable datatype asssignment #
name = StringVar()
email —String Var()
comments = StringVar()
# defiing submitfunction
defsubmit():
n = name.get()
eid = email.get()
com = txt.get('1.O', END)
feedback/ =
feedback2 = '"'
feedback-3
feedback4=
if (checkvarl.get()
feedback/ = "Excellent"
if (checkvar2.get() —
feedback2 = "Good"
if (checkvar3.get()
feedback2 = "Average"
if (checkvar4.get() —
feedback2 "Poor"
feedback5 = feedback] + " " + feedback2 + " " + feedback3 + " " +feedback4
conn = sqlite3.connect("Restaurant.db")
cursor = conn.cursor()
INTOFEEDBACKVALUES + n + + eid + + com +
+ feedback.' +
"data inserted ! ")
feed. destroy()
# label#
1b] = MT", 15, "bold"), text="Thanksfor Visiting!",
"black TOP)
lb12 = Label(feed, font=("calisto MT", 15), glad you chose us ! Please tell us how
it Was
fg "black").pack(side=TOP)
# name
namelbl = 15), bd—10,
x-10, y-215)
checkvarl = String Var()
checkvar2 = StringVar()
checkvar3 = String Var()
checkvar4 = StringVar()
cl = Checkbutton(/eed,font=(Calibri', 10, "bold"), text= 'Excellent",
variable=checkvarl)
cl. deselect()
cl y=265)
c2 = 10, "bold"), text="Good", bg="white",
variable=checkvar2,
)
c2. deselect()
y=265)
c3 = Checkbutton(/eed,font=('Calibri', 10, "bold"), "white".
variable=checkvar3,
)
c3.deselect()
c3.place(x=220, y=265)
c4 Checkbutton(feed, 10, "bold"), text=" Poor 'f,
variable=checkvar4,
)
c4.deselect()
c4.place(x=320, y=265)
# comments "
commentslbl = Label(feed, 15),
10, y=3()())
txt = Text(feed, width—50, height—5)
txt.place(x=15, y=335)
# button
submit = Button(feed, • 15), text="Submit", "black", bg="green", bd=2,
x-145, y-430)
cancel = Button(feed, 15) bg="red", bd=2,
x=245,
feed. main loop()
# Feedbackbutton
feedbtn = Button(leftframe, 16, 'bold'), text="Feedback Form "black",
"lightgwy", bd=3,
width—ID, column=2, columnspan=l)
defmenu():
roott — Tk()
roott.title("Price Menu")
# menubutton
menubtn = 16, 'bold'), Card"
"black", bd=3, padx=6,
pady 6, width—12, column=2)
root.mainloop()
system()
output
RestaurantManagementSystem
1 Card Add
Ice Reset
505.0 System
90.89999999999999
601.0010101010101
ITEM LIST
zoo/-
Burger i2S/.
Drinks
se
sting of the menu card prices
Bibliography
Our Documentation I Python.org
MySQL:: MySQLDocumentation
What is Windows - javatpoint
Restaurant Management Software:
Everything You Need To Know
(posist.com)