COFFEE SHOP MANAGEMENT SYSTEM
PROJECT REPORT
Submitted in partial fulfillment of the
Requirements for the award of the Degree of
BACHELOR OF SCIENCE (COMPUTER SCIENCE)
By
NEHA YADAV WAGHMARE
Seat No.:-
Under the esteemed guidance of
Ms. Asha D. Desai
DEPARTMENT OF COMPUTER SCIENCE
MODEL COLLEGE OF SCIENCE AND COMMERCE
(Affiliated to University of Mumbai)
KALYAN, 421 306
MAHARASHTRA
2019-2020
PROFORMA FOR THE APPROVAL PROJECT PROPOSAL
(Note: All entries of the proforma of approval should be filled up with appropriate
and complete information. Incomplete proforma of approval in any respect will be
summarily rejected.)
PNR No.: …………………… Roll no.: ___________
1. Name of the Student : NEHA YADAV WAGHMARE
2. Title of the Project : COFFEE SHOP MANAGEMENT SYSTEM
3. Name of the Guide : Ms. ASHA D. DESAI
4. Teaching experience of the Guide: 3 YEARS
5. Is this your first submission? Yes No
Signature of the Student Signature of the Guide
Date: ………………… Date: …………………….
Signature of the coordinator
Date: ………………
MODEL COLLEGE OF SCIENCE AND COMMERCE
(Affiliated to University of Mumbai)
KALYAN-MAHARASHTRA-421 306
DEPARTMENT OF COMPUTER SCIENCE
CERTIFICATE
This is to certify that the project entitled, “COFFEE SHOP MANAGEMENT SYSTEM“,
is bonafied work of NEHA YADAV WAGHMARE bearing Seat No.: submitted
in partial fulfilment of the requirements for the award of degree of BACHELOR OF
SCIENCE in COMPUTER SCIENCE from University of Mumbai.
Internal Guide Coordinator
External Examiner
Date seal: College
OBJECTIVE
The main objective of the Coffee Shop Management System is
to manage details of Sales, Discounts, Payments, Product.
It manages all the information about Sales, Stock, Inventory.
The project is totally built at administrative end and thus only the
administrator is guaranteed the access. The purpose of the project
is to build an application program to reduce the manual work for
managing the Sales, Discount, Stock, Payments.
ABSTRACT
METHODOLOGY
DECLARATION
I hereby declare that the project entitled, “COFFEE SHOP MANAGEMENT
SYSTEM” done at college, has not been in any case duplicated to submit to any other university
for the award of any degree. To the best of my knowledge other than me, no one has submitted
to any other university.
The project is done in partial fulfilment of the requirements for the award of
degree of BACHELOR OF SCIENCE (COMPUTER SCIENCE) to be submitted as final
semester project as part of our curriculum.
NEHA YADAV WAGHMARE
ACKNOWLEDGEMENT
We thank the almighty for giving us the courage & perseverance in
completing the project. This project itself is an acknowledgement for all those
who have given us their heart-felt-co-operation in making it a grand success.
We are greatly indebted to, Head of IT & CS, Ms. Sonal Nemade for
providing valuable guidance at every stage of this project work.
We are also thankful to the project coordinator & guide, Ms. Asha D.
Desai for extending their sincere & heartfelt guidance throughout this project
work. Without their supervision and many hours of devoted guidance, stimulating
& constructive criticism, this thesis would never come out in this form.
It is a pleasure to express our deep and sincere gratitude to the project
Guide and are profoundly grateful towards the unmatched help rendered by him.
Our special thanks to all the lectures of Information Technology, for their
valuable advises at every stage of this work.
Last but not the least; we would like to express our deep sense and earnest thanks
giving to our dear parents for their moral support and heartfelt cooperation in
doing the project. We would also like to thank our friends, whose direct or indirect
help has enabled us to complete this work successfully.
ARCHITECTURE
PROBLEM DEFINITION
REQUIREMENT SPECIFICATION
Hardware Configuration :
Processor : Intel i3
RAM : 4GB DDR4
Monitor : 15 “inch COLOR
Hard disk : 50GB
Floppy Drive : 1.4MB
CD Drive : LG 52X
Keyboard : Standard 102 keys
Mouse : 3 button
Software Configuration :
Software used for development of project is
Operating System : Windows 10
Environment : Python IDLE 3.8 / Visual studio code
Language : Python
Front End : IDLE (python 3.8)
LANGUAGE SPECIFICATION
PYTHON :
What is Python?
The idea of Python originated in 1989 when its creator Guido
van Rossum was confronted by the shortcomings of ABC
language (namely extensibility). Rossum started work on
developing a new language that integrated all good features of
ABC language and new desired features, such as extensibility
and exception handling. Python 1.0 was released in 1994; it
borrowed the module system from Modula-3, had the
capability to interact with Amoeba operating system, and
included functional programming tools.
In 2000, Python’s core development team moved to
Beopen.com, and in October 2000, Python 2.0 was released
with many improvisations including a garbage collector and
support for Unicode.
December 2008 saw the release of Python 3.0, giving up
backward compatibility and possessing a new design to avoid
duplicative constructs and modules. It is still a multi-paradigm
language offering developers the options of object-orientation,
structured programming and functional programming.
Python today has multiple implementations including
Jython, scripted in Java language for Java Virtual
Machine; IronPython written in C# for the Common Language
Infrastructure, and PyPy version written in RPython and
translated into C. To be noted, Cpython which is written in C
and developed by Python Software Foundation is the default
and most popular implementation of Python. While these
implementations work in the native language they are written
in, they are also capable of interacting with other languages
through use of modules. Most of these modules work on
community development model and are open-source and free.
Released in February 2015, Python 3.4.3 offers drastic
improvement in Unicode support, among other new features.
Python 3.5 is currently in development, with scheduled release
in September 2015.
Applications of Python
GUI based desktop applications
o Image processing and graphic design
applications
o Scientific and computational applications
o Games
Web frameworks and web applications
Enterprise and business applications
Operating systems
Language development
Prototyping
Advantages/Benefits of Python
The diverse application of the Python language is a result of the
combination of features which give this language an edge over
others. Some of the benefits of programming in Python include:
1. Presence of Third Party Modules:
The Python Package Index (PyPI) contains numerous third-
party modules that make Python capable of interacting with
most of the other languages and platforms.
2. Extensive Support Libraries:
Python provides a large standard library which includes areas
like internet protocols, string operations, web services tools and
operating system interfaces. Many high use programming tasks
have already been scripted into the standard library which
reduces length of code to be written significantly.
3. Open Source and Community Development:
Python language is developed under an OSI-approved open
source license, which makes it free to use and distribute,
including for commercial purposes.
Further, its development is driven by the community which
collaborates for its code through hosting conferences and
mailing lists, and provides for its numerous modules.
4. Learning Ease and Support Available:
Python offers excellent readability and uncluttered simple-to-
learn syntax which helps beginners to utilize this programming
language. The code style guidelines, PEP 8, provide a set of
rules to facilitate the formatting of code. Additionally, the wide
base of users and active developers has resulted in a rich
internet resource bank to encourage development and the
continued adoption of the language.
5. User-friendly Data Structures:
Python has built-in list and dictionary data structures which can
be used to construct fast runtime data structures. Further,
Python also provides the option of dynamic high-level data
typing which reduces the length of support code that is needed.
6. Productivity and Speed:
Python has clean object-oriented design, provides enhanced
process control capabilities, and possesses strong integration
and text processing capabilities and its own unit testing
framework, all of which contribute to the increase in its speed
and productivity. Python is considered a viable option for
building complex multi-protocol network applications.
VISUAL STUDIO CODE :
What is Visual Studio Code ?
Any programme/software that we see or use, work on the
code that runs in the background. Traditionally coding used to
do in the traditional editors or even in the basic editors like
notepad! These editors used to provide basic support to the
coders. Some of them were so basic that it was very difficult
in writing basic English level programmes in them. As time
went by, some programming languages needed specific
framework and support for further coding and development in
it, which was not possible using these editors. VI
Editor, Sublime Text Editor, and Visual Studio Code are one
of the many kinds of editors that came into existence. The
most prominent and which supports almost every coding
language is VISUAL STUDIO CODE. Visual Studio Code
features let the user modify the editor as per the usage, which
means, the user is able to download the libraries from the
internet and integrate it with the code as per his requirements.
Definition
Visual Studio Code is a code editor in layman’s terms. To
define it, Visual Studio Code is, “a free-editor which helps the
programmer to write code, helps in debugging and corrects
the code using the intelli-sense method ”. In normal terms, it
facilitates user to write the code in an easy manner. Many
people say that it is half of an IDE and an editor, but the
decision is up to to the coders.
What Visual Studio Code can do
Visual Studio Code has some very unique features. They are
listed as below :
1.Support for multiple programming languages :
Visual Studio Code supports multiple programming
languages. So earlier, programmers needed Web-Support: a
different editor for different languages, but it has built-in
multi-language support. This also means it easily detects, if
there’s any fault or cross-language reference, it’ll be able to
detect it easily.
2.Intelli-Sense :
It can detect if any snippet of code is left incomplete. Also,
common variable syntaxes and variable declarations are made
automatically. Ex: If a certain variable is being used in the
program and the user has forgotten to declare, intelli-sense
will declare it for the user.
3.Cross-Platform Support :
Traditionally, editors used to support either the Windows or
Linux or Mac Systems. But Visual Studio Code is cross-
platform. So it can work on all three platforms. Also, the code
works on all three platforms, else, the open-source and
proprietary software codes used to be different.
4.Extensions and Support:
Usually supports all the programming languages but, if the
user/programmer wants to use the programming language
which is not supported then, he can download the extension
and use it. And performance wise, the extension doesn’t slow
down the editor as it rums as a different process.
5.Repository:
With ever-increasing demand of the code, secure and timely
storage is equally important. Visual Studio Code is connected
with Git or can be connected with any other repository for
pulling or saving the instances.
6.Web-Support:
Comes with built-in support for Web applications. So web-
applications can be built and supported in VSC.
7.Hierarchy Structure:
The code files are located in files and folders. Along with the
required code files, it also has some files, which may be
required for other complex projects. These files can be deleted
as per convenience.
8.Improving Code:
Some code snippets can be declared a bit differently, which
might help the user in the code. This function prompts the
user wherever necessary to change it to the suggested option.
9.Terminal Support:
Many of the times, the user needs to start from the root of the
directory to start with a particular action, in-built terminal or
console provides user support to not to switch in-between two
screens for the same.
10.Multi-Projects:
Multiple projects containing multiple files/folder can be
opened simultaneously. These projects/folders might or might
not be related to each other.
11.Git Support:
Resources can be pulled from Git Hub Repo online and vice-
versa; saving can be done too. Resource pulling also means to
clone the code which is made available on the internet. This
code can later be changed and saved.
12.Commenting:
A common feature, but some of the languages do not support
it. Commenting the code helps the user to recall or track
according to the sequence he wants.
SOURCE CODE
from tkinter import *
import random
import time
import datetime
from tkinter import messagebox
import tempfile
import os
root = Tk()
root.geometry("1350x750+0+0")
root.title("Cafe Management Systems")
root.configure(background = "black")
Tops = Frame(root, width = 1350, height = 100, bd = 14, relief = "raise")
Tops.pack(side = TOP)
f1 = Frame(root, width = 900, height = 650, bd = 8, relief = "raise")
f1.pack(side = LEFT)
f2 = Frame(root, width = 450, height = 650, bd = 8, relief = "raise")
f2.pack(side = RIGHT)
f1a = Frame(f1, width = 900, height = 330, bd = 8, relief = "raise")
f1a.pack(side = TOP)
f2a = Frame(f1, width = 900, height = 320, bd = 6, relief = "raise")
f2a.pack(side = BOTTOM)
ft2 = Frame(f2, width = 440, height = 650, bd = 12, relief = "raise")
ft2.pack(side = TOP)
fb2 = Frame(f2, width = 440, height = 250, bd = 16, relief = "raise")
fb2.pack(side = BOTTOM)
f1aa = Frame(f1a, width = 400, height = 330, bd = 16, relief = "raise")
f1aa.pack(side = LEFT)
f1ab = Frame(f1a, width = 400, height = 330, bd = 16, relief = "raise")
f1ab.pack(side = RIGHT)
f2aa = Frame(f2a, width = 450, height = 330, bd = 14, relief = "raise")
f2aa.pack(side = LEFT)
f2ab = Frame(f2a, width = 450, height = 330, bd = 14, relief = "raise")
f2ab.pack(side = RIGHT)
Tops.configure (background = 'black')
f1.configure (background = 'black')
f2.configure (background = 'black')
localtime=time.asctime(time.localtime(time.time()))
lblInfo = Label(Tops, font = ('Californian FB', 40, 'bold','italic'), text = "Neha's
Coffee Shop Management System", bd = 10) #Coffee Shop Management
System
lblInfo.grid(row = 0, column = 0)
lblinfo = Label(Tops, font=( 'aria' ,20, ),text=localtime,fg="steel
blue",anchor=W)
lblinfo.grid(row=1,column=0)
def CostofItems():
Item1 = float(E_Latte.get())
Item2 = float(E_Espresso.get())
Item3 = float(E_Iced_Latte.get())
Item4 = float(E_Vale_Coffee.get())
Item5 = float(E_Cappuccino.get())
Item6 = float(E_African_Coffee.get())
Item7 = float(E_American_Coffee.get())
Item8 = float(E_Iced_Cappuccino.get())
Item9 = float(E_Coffee_Cakes.get())
Item10 = float(E_Red_Velvet_Cake.get())
Item11 = float(E_Black_Forest_Cake.get())
Item12 = float(E_Boston_Cream_Cake.get())
Item13 = float(E_Lagos_Chocolate_Cake.get())
Item14 = float(E_Kilburn_Chocolate_Cake.get())
Item15 = float(E_Carlton_Hill_Chocolate_Cake.get())
Item16 = float(E_Queen_Park_Chocolate_Cake.get())
PriceofDrinks = (Item1 * 30) + (Item2 * 40) + (Item3 * 45) + (Item4 * 50) +
(Item5 * 30) + (Item6 * 40) + (Item7 * 35) + (Item8 * 40)
PriceofCakes = (Item9 * 40) + (Item10 * 30) + (Item11 * 35) + (Item12 *
30) + (Item13 * 40) + (Item14 * 45) + (Item15 * 30) + (Item16 * 35)
DrinksPrice ="Rs." + str('%.2f'%(PriceofDrinks))
CakesPrice = "Rs." + str('%.2f'%(PriceofCakes))
CostofCakes.set(CakesPrice)
CostofDrinks.set(DrinksPrice)
SC = "Rs." + str('%.2f'%(1.59))
ServiceCharge.set(SC)
SubTotalofITEMS = "Rs." + str('%.2f'%(PriceofDrinks + PriceofCakes +
1.59))
SubTotal.set(SubTotalofITEMS)
Tax = "Rs." + str('%.2f'%((PriceofDrinks + PriceofCakes + 1.59)*0.15))
PaidTax.set(Tax)
TT = ((PriceofDrinks + PriceofCakes + 1.59)*0.15)
TC = "Rs." + str('%.2f'%(PriceofDrinks + PriceofCakes + 1.59 + TT))
TotalCost.set(TC)
def qExit():
qExit = messagebox.askyesno("Quit System", "Do you want to quit?")
if qExit>0:
root.destroy()
return
def qPrint():
i = txtReceipt.get("1.0","end-1c")
filename = tempfile.mktemp(".txt")
open (filename, "w").write(i)
os.startfile(filename, "print")
def reset():
PaidTax.set("")
SubTotal.set("")
TotalCost.set("")
CostofDrinks.set("")
CostofCakes.set("")
ServiceCharge.set("")
txtReceipt.delete("1.0", END)
E_Latte.set("0")
E_Espresso.set("0")
E_Iced_Latte.set("0")
E_Vale_Coffee.set("0")
E_Cappuccino.set("0")
E_African_Coffee.set("0")
E_American_Coffee.set("0")
E_Iced_Cappuccino.set("0")
E_Coffee_Cakes.set("0")
E_Red_Velvet_Cake.set("0")
E_Black_Forest_Cake.set("0")
E_Boston_Cream_Cake.set("0")
E_Lagos_Chocolate_Cake.set("0")
E_Kilburn_Chocolate_Cake.set("0")
E_Carlton_Hill_Chocolate_Cake.set("0")
E_Queen_Park_Chocolate_Cake.set("0")
var1.set(0)
var2.set(0)
var3.set(0)
var4.set(0)
var5.set(0)
var6.set(0)
var7.set(0)
var8.set(0)
var9.set(0)
var10.set(0)
var11.set(0)
var12.set(0)
var13.set(0)
var14.set(0)
var15.set(0)
var16.set(0)
txtLatte.configure(state = DISABLED)
txtEspresso.configure(state = DISABLED)
txtIced_Latte.configure(state = DISABLED)
txtVale_Coffee.configure(state = DISABLED)
txtAfrican_Coffee.configure(state = DISABLED)
txtAmerican_Coffee.configure(state = DISABLED)
txtIced_Cappuccino.configure(state = DISABLED)
txtCoffeeCake.configure(state = DISABLED)
txtRed_Velvet_Cake.configure(state = DISABLED)
txtBlack_Forest_Cake.configure(state = DISABLED)
txtBoston_Cream_Cake.configure(state = DISABLED)
txtLagos_Chocolate_Cake.configure(state = DISABLED)
txtKilburn_Chocolate_Cake.configure(state = DISABLED)
txtCappuccino.configure(state = DISABLED)
txtCarlton_Hill_Cake.configure(state = DISABLED)
txtQueen_park_Cake.configure(state = DISABLED)
def chkbutton_value():
if(var1.get() == 1):
txtLatte.configure(state = NORMAL)
elif var1.get() == 0:
txtLatte.configure(state = DISABLED)
E_Latte.set("0")
if(var2.get() == 1):
txtEspresso.configure(state = NORMAL)
elif var2.get() == 0:
txtEspresso.configure(state = DISABLED)
E_Espresso.set("0")
if(var3.get() == 1):
txtIced_Latte.configure(state = NORMAL)
elif var3.get() == 0:
txtIced_Latte.configure(state = DISABLED)
E_Iced_Latte.set("0")
if(var4.get() == 1):
txtVale_Coffee.configure(state = NORMAL)
elif var4.get() == 0:
txtVale_Coffee.configure(state = DISABLED)
E_Vale_Coffee.set("0")
if(var5.get() == 1):
txtCappuccino.configure(state = NORMAL)
elif var5.get() == 0:
txtCappuccino.configure(state = DISABLED)
E_Cappuccino.set("0")
if(var6.get() == 1):
txtAfrican_Coffee.configure(state = NORMAL)
elif var6.get() == 0:
txtAfrican_Coffee.configure(state = DISABLED)
E_African_Coffee.set("0")
if(var7.get() == 1):
txtAmerican_Coffee.configure(state = NORMAL)
elif var7.get() == 0:
txtAmerican_Coffee.configure(state = DISABLED)
E_American_Coffee.set("0")
if(var8.get() == 1):
txtIced_Cappuccino.configure(state = NORMAL)
elif var8.get() == 0:
txtIced_Cappuccino.configure(state = DISABLED)
E_Iced_Cappuccino.set("0")
if(var9.get() == 1):
txtCoffeeCake.configure(state = NORMAL)
elif var9.get() == 0:
txtCoffeeCake.configure(state = DISABLED)
E_Coffee_Cakes.set("0")
if(var10.get() == 1):
txtRed_Velvet_Cake.configure(state = NORMAL)
elif var10.get() == 0:
txtRed_Velvet_Cake.configure(state = DISABLED)
E_Red_Velvet_Cake.set("0")
if(var11.get() == 1):
txtBlack_Forest_Cake.configure(state = NORMAL)
elif var11.get() == 0:
txtBlack_Forest_Cake.configure(state = DISABLED)
E_Black_Forest_Cake.set("0")
if(var12.get() == 1):
txtBoston_Cream_Cake.configure(state = NORMAL)
elif var12.get() == 0:
txtBoston_Cream_Cake.configure(state = DISABLED)
E_Boston_Cream_Cake.set("0")
if(var13.get() == 1):
txtLagos_Chocolate_Cake.configure(state = NORMAL)
elif var13.get() == 0:
txtLagos_Chocolate_Cake.configure(state = DISABLED)
E_Lagos_Chocolate_Cake.set("0")
if(var14.get() == 1):
txtKilburn_Chocolate_Cake.configure(state = NORMAL)
elif var14.get() == 0:
txtKilburn_Chocolate_Cake.configure(state = DISABLED)
E_Kilburn_Chocolate_Cake.set("0")
if(var15.get() == 1):
txtCarlton_Hill_Cake.configure(state = NORMAL)
elif var15.get() == 0:
txtCarlton_Hill_Cake.configure(state = DISABLED)
E_Carlton_Hill_Chocolate_Cake.set("0")
if(var16.get() == 1):
txtQueen_park_Cake.configure(state = NORMAL)
elif var16.get() == 0:
txtQueen_park_Cake.configure(state = DISABLED)
E_Queen_Park_Chocolate_Cake.set("0")
def Receipt():
txtReceipt.delete("1.0", END)
x = random.randint(10908, 500876)
randomRef = str(x)
Receipt_Ref.set("BILL" + randomRef)
txtReceipt.insert(END, 'Receipt Ref:
\t\t'+Receipt_Ref.get()+"\t\t"+DateofOrder.get()+"\n")
txtReceipt.insert(END, 'Items\t\t'+'Quantity\t\t'+"Price \n\n")
if E_Latte.get() > 0:
txtReceipt.insert(END,
'Latte:\t\t'+str(E_Latte.get())+'\t\t'+str('Rs.%.2f'%(E_Latte.get()*30))+'\n')
if E_Espresso.get() > 0:
txtReceipt.insert(END,
'Espresso:\t\t'+str(E_Espresso.get())+'\t\t'+str('Rs.%.2f'%(E_Espresso.get()*40))
+'\n')
if E_Iced_Latte.get() > 0:
txtReceipt.insert(END, 'Iced
Latte:\t\t'+str(E_Iced_Latte.get())+'\t\t'+str('Rs.%.2f'%(E_Iced_Latte.get()*45))
+'\n')
if E_Vale_Coffee.get() > 0:
txtReceipt.insert(END, 'Vale
Coffee:\t\t'+str(E_Vale_Coffee.get())+'\t\t'+str('Rs.%.2f'%(E_Vale_Coffee.get()
*50))+'\n')
if E_Cappuccino.get() > 0:
txtReceipt.insert(END,
'Cappuccino:\t\t'+str(E_Cappuccino.get())+'\t\t'+str('Rs.%.2f'%(E_Cappuccino.g
et()*30))+'\n')
if E_African_Coffee.get() > 0:
txtReceipt.insert(END, 'African
Coffee:\t\t'+str(E_African_Coffee.get())+'\t\t'+str('Rs.%.2f'%(E_African_Coffee
.get()*40))+'\n')
if E_American_Coffee.get() > 0:
txtReceipt.insert(END, 'American
Coffee:\t\t'+str(E_American_Coffee.get())+'\t\t'+str('Rs.%.2f'%(E_American_C
offee.get()*35))+'\n')
if E_Iced_Cappuccino.get() > 0:
txtReceipt.insert(END, 'Iced
Cappuccino:\t\t'+str(E_Iced_Cappuccino.get())+'\t\t'+str('Rs.%.2f'%(E_Iced_Ca
ppuccino.get()*40))+'\n')
if E_Coffee_Cakes.get() > 0:
txtReceipt.insert(END, 'Coffee
Cake:\t\t'+str(E_Coffee_Cakes.get())+'\t\t'+str('Rs.%.2f'%(E_Coffee_Cakes.get(
)*40))+'\n')
if E_Red_Velvet_Cake.get() > 0:
txtReceipt.insert(END, 'Red Velvet
Cake:\t\t'+str(E_Red_Velvet_Cake.get())+'\t\t'+str('Rs.%.2f'%(E_Red_Velvet_C
ake.get()*30))+'\n')
if E_Black_Forest_Cake.get() > 0:
txtReceipt.insert(END, 'Black Forest
Cake:\t\t'+str(E_Black_Forest_Cake.get())+'\t\t'+str('Rs.%.2f'%(E_Black_Forest
_Cake.get()*35))+'\n')
if E_Boston_Cream_Cake.get() > 0:
txtReceipt.insert(END, 'Boston Cream
Cake:\t\t'+str(E_Boston_Cream_Cake.get())+'\t\t'+str('Rs.%.2f'%(E_Boston_Cre
am_Cake.get()*30))+'\n')
if E_Lagos_Chocolate_Cake.get() > 0:
txtReceipt.insert(END, 'Lagos Chocolate
Cake:\t\t'+str(E_Lagos_Chocolate_Cake.get())+'\t\t'+str('Rs.%.2f'%(E_Lagos_C
hocolate_Cake.get()*40))+'\n')
if E_Kilburn_Chocolate_Cake.get() > 0:
txtReceipt.insert(END, 'Kilburn Chocolate
Cake:\t\t'+str(E_Kilburn_Chocolate_Cake.get())+'\t\t'+str('Rs.%.2f'%(E_Kilburn
_Chocolate_Cake.get()*45))+'\n')
if E_Carlton_Hill_Chocolate_Cake.get() > 0:
txtReceipt.insert(END, 'Carlton Hill Chocolate
Cake:\t\t'+str(E_Carlton_Hill_Chocolate_Cake.get())+'\t\t'+str('Rs.%.2f'%(E_Ca
rlton_Hill_Chocolate_Cake.get()*30))+'\n')
if E_Queen_Park_Chocolate_Cake.get() > 0:
txtReceipt.insert(END, 'Queen Park Chocolate
Cake:\t\t'+str(E_Queen_Park_Chocolate_Cake.get())+'\t\t'+str('Rs.%.2f'%(E_Qu
een_Park_Chocolate_Cake.get()*35))+'\n')
txtReceipt.insert(END, '\nCost of Drinks:\t'+CostofDrinks.get()+"\t\tTax
Paid:\t"+ PaidTax.get()+"\n")
txtReceipt.insert(END, 'Cost of
Cakes:\t'+CostofCakes.get()+"\t\tSubTotal:\t"+ SubTotal.get()+"\n")
txtReceipt.insert(END, 'Service Charge:\t'+ServiceCharge.get()+"\t\tTotal
Cost:\t"+ TotalCost.get()+"\n")
var1 = IntVar()
var2 = IntVar()
var3 = IntVar()
var4 = IntVar()
var5 = IntVar()
var6 = IntVar()
var7 = IntVar()
var8 = IntVar()
var9 = IntVar()
var10 = IntVar()
var11 = IntVar()
var12 = IntVar()
var13 = IntVar()
var14 = IntVar()
var15 = IntVar()
var16 = IntVar()
DateofOrder = StringVar()
Receipt_Ref = StringVar()
PaidTax = StringVar()
SubTotal = StringVar()
TotalCost = StringVar()
CostofCakes = StringVar()
CostofDrinks = StringVar()
ServiceCharge = StringVar()
E_Latte = IntVar()
E_Espresso = IntVar()
E_Iced_Latte = IntVar()
E_Vale_Coffee = IntVar()
E_Cappuccino = IntVar()
E_African_Coffee = IntVar()
E_American_Coffee = IntVar()
E_Iced_Cappuccino = IntVar()
E_Coffee_Cakes = IntVar()
E_Red_Velvet_Cake = IntVar()
E_Black_Forest_Cake = IntVar()
E_Boston_Cream_Cake = IntVar()
E_Lagos_Chocolate_Cake = IntVar()
E_Kilburn_Chocolate_Cake = IntVar()
E_Carlton_Hill_Chocolate_Cake = IntVar()
E_Queen_Park_Chocolate_Cake = IntVar()
E_Latte.set(0)
E_Espresso.set(0)
E_Iced_Latte.set(0)
E_Vale_Coffee.set(0)
E_Cappuccino.set(0)
E_African_Coffee.set(0)
E_American_Coffee.set(0)
E_Iced_Cappuccino.set(0)
E_Coffee_Cakes.set(0)
E_Red_Velvet_Cake.set(0)
E_Black_Forest_Cake.set(0)
E_Boston_Cream_Cake.set(0)
E_Lagos_Chocolate_Cake.set(0)
E_Kilburn_Chocolate_Cake.set(0)
E_Carlton_Hill_Chocolate_Cake.set(0)
E_Queen_Park_Chocolate_Cake.set(0)
DateofOrder.set(time.strftime("%d/%m/%Y"))
Latte = Checkbutton(f1aa, text="Latte", variable = var1, onvalue = 1, offvalue =
0,
command = chkbutton_value, font = ('arial', 18, 'bold')).grid(row =
0, sticky = W)
Espresso = Checkbutton(f1aa, text="Espresso", variable = var2, onvalue = 1,
offvalue = 0,
command = chkbutton_value, font = ('arial', 18, 'bold')).grid(row
= 1, sticky = W)
Iced_Latte = Checkbutton(f1aa, text="Iced Latte", variable = var3, onvalue = 1,
offvalue = 0,
command = chkbutton_value, font = ('arial', 18,
'bold')).grid(row = 2, sticky = W)
Vale_Coffee = Checkbutton(f1aa, text="Vale Coffee", variable = var4, onvalue
= 1, offvalue = 0,
command = chkbutton_value,font = ('arial', 18,
'bold')).grid(row = 3, sticky = W)
Cappuccino = Checkbutton(f1aa, text="Cappuccino", variable = var5, onvalue
= 1, offvalue = 0,
command = chkbutton_value,font = ('arial', 18,
'bold')).grid(row = 4, sticky = W)
African_Coffee = Checkbutton(f1aa, text="African Coffee", variable = var6,
onvalue = 1, offvalue = 0,
command = chkbutton_value,font = ('arial', 18,
'bold')).grid(row = 5, sticky = W)
American_Coffee = Checkbutton(f1aa, text="American Coffee", variable =
var7, onvalue = 1, offvalue = 0,
command = chkbutton_value,font = ('arial', 18,
'bold')).grid(row = 6, sticky = W)
Iced_Cappuccino = Checkbutton(f1aa, text="Iced Cappuccino", variable = var8,
onvalue = 1, offvalue = 0,
command = chkbutton_value,font = ('arial', 18,
'bold')).grid(row = 7, sticky = W)
CoffeeCake= Checkbutton(f1ab, text="Coffee Cake", variable = var9, onvalue
= 1, offvalue = 0,
command = chkbutton_value, font = ('arial', 18, 'bold')).grid(row
= 0, sticky = W)
Red_Velvet_Cake = Checkbutton(f1ab, text="Red Velvet Cake", variable =
var10, onvalue = 1, offvalue = 0,
command = chkbutton_value, font = ('arial', 18,
'bold')).grid(row = 1, sticky = W)
Black_Forest_Cake = Checkbutton(f1ab, text="Black Forest Cake", variable =
var11, onvalue = 1, offvalue = 0,
command = chkbutton_value, font = ('arial', 18,
'bold')).grid(row = 2, sticky = W)
Boston_Cream_Cake = Checkbutton(f1ab, text="Boston Cream Cake", variable
= var12, onvalue = 1, offvalue = 0,
command = chkbutton_value, font = ('arial', 18,
'bold')).grid(row = 3, sticky = W)
Lagos_Chocolate_Cake = Checkbutton(f1ab, text="Lagos Chocolate Cake",
variable = var13, onvalue = 1, offvalue = 0,
command = chkbutton_value, font = ('arial', 18,
'bold')).grid(row = 4, sticky = W)
Kilburn_Chocolate_Cake = Checkbutton(f1ab, text="Kilburn Chocolatee
Cake", variable = var14, onvalue = 1, offvalue = 0,
command = chkbutton_value, font = ('arial', 18,
'bold')).grid(row = 5, sticky = W)
Carlton_Hill_Cake = Checkbutton(f1ab, text="Carlton Hill Cake", variable =
var15, onvalue = 1, offvalue = 0,
command = chkbutton_value, font = ('arial', 18,
'bold')).grid(row = 6, sticky = W)
Queen_park_Cake = Checkbutton(f1ab, text="Queen's Park Chocolate Cake",
variable = var16, onvalue = 1, offvalue = 0,
command = chkbutton_value, font = ('arial', 18,
'bold')).grid(row = 7, sticky = W)
txtLatte = Entry(f1aa, font=('arial', 16, 'bold'), bd = 8, width = 6, justify = 'left',
textvariable = E_Latte, state = DISABLED)
txtLatte.grid(row = 0, column = 1)
txtEspresso = Entry(f1aa, font=('arial', 16, 'bold'), bd = 8, width = 6, justify =
'left', textvariable = E_Espresso, state = DISABLED )
txtEspresso.grid(row = 1, column = 1)
txtIced_Latte = Entry(f1aa, font=('arial', 16, 'bold'), bd = 8, width = 6, justify =
'left', textvariable = E_Iced_Latte, state = DISABLED )
txtIced_Latte.grid(row = 2, column = 1)
txtVale_Coffee = Entry(f1aa, font=('arial', 16, 'bold'), bd = 8, width = 6, justify
= 'left', textvariable = E_Vale_Coffee, state = DISABLED )
txtVale_Coffee.grid(row = 3, column = 1)
txtCappuccino = Entry(f1aa, font=('arial', 16, 'bold'), bd = 8, width = 6, justify =
'left', textvariable = E_Cappuccino, state = DISABLED )
txtCappuccino.grid(row = 4, column = 1)
txtAfrican_Coffee = Entry(f1aa, font=('arial', 16, 'bold'), bd = 8, width = 6,
justify = 'left', textvariable = E_African_Coffee, state = DISABLED )
txtAfrican_Coffee.grid(row = 5, column = 1)
txtAmerican_Coffee = Entry(f1aa, font=('arial', 16, 'bold'), bd = 8, width = 6,
justify = 'left', textvariable = E_American_Coffee, state = DISABLED )
txtAmerican_Coffee.grid(row = 6, column = 1)
txtIced_Cappuccino = Entry(f1aa, font=('arial', 16, 'bold'), bd = 8, width = 6,
justify = 'left', textvariable = E_Iced_Cappuccino, state = DISABLED )
txtIced_Cappuccino.grid(row = 7, column = 1)
txtCoffeeCake = Entry(f1ab, font=('arial', 16, 'bold'), bd = 8, width = 6, justify =
'left', textvariable = E_Coffee_Cakes, state = DISABLED )
txtCoffeeCake.grid(row = 0, column = 1)
txtRed_Velvet_Cake = Entry(f1ab, font=('arial', 16, 'bold'), bd = 8, width = 6,
justify = 'left', textvariable = E_Red_Velvet_Cake, state = DISABLED )
txtRed_Velvet_Cake.grid(row = 1, column = 1)
txtBlack_Forest_Cake = Entry(f1ab, font=('arial', 16, 'bold'), bd = 8, width = 6,
justify = 'left', textvariable = E_Black_Forest_Cake, state = DISABLED )
txtBlack_Forest_Cake.grid(row = 2, column = 1)
txtBoston_Cream_Cake = Entry(f1ab, font=('arial', 16, 'bold'), bd = 8, width =
6, justify = 'left', textvariable = E_Boston_Cream_Cake, state = DISABLED )
txtBoston_Cream_Cake.grid(row = 3, column = 1)
txtLagos_Chocolate_Cake = Entry(f1ab, font=('arial', 16, 'bold'), bd = 8, width
= 6, justify = 'left', textvariable = E_Lagos_Chocolate_Cake, state =
DISABLED )
txtLagos_Chocolate_Cake.grid(row = 4, column = 1)
txtKilburn_Chocolate_Cake = Entry(f1ab, font=('arial', 16, 'bold'), bd = 8, width
= 6, justify = 'left', textvariable = E_Kilburn_Chocolate_Cake, state =
DISABLED )
txtKilburn_Chocolate_Cake.grid(row = 5, column = 1)
txtCarlton_Hill_Cake = Entry(f1ab, font=('arial', 16, 'bold'), bd = 8, width = 6,
justify = 'left', textvariable = E_Carlton_Hill_Chocolate_Cake, state =
DISABLED )
txtCarlton_Hill_Cake.grid(row = 6, column = 1)
txtQueen_park_Cake = Entry(f1ab, font=('arial', 16, 'bold'), bd = 8, width = 6,
justify = 'left', textvariable = E_Queen_Park_Chocolate_Cake, state =
DISABLED )
txtQueen_park_Cake.grid(row = 7, column = 1)
lblReceipt = Label(ft2, font=('arial', 12, 'bold'), text="Receipt",bd = 2, anchor =
"w")
lblReceipt.grid(row = 0, column = 0, sticky = W)
txtReceipt = Text(ft2, font=('arial', 11, 'bold'), width = 59, height =22,
bg="white", bd=8)
txtReceipt.grid(row = 1, column = 0)
lblCostofDrinks = Label(f2aa, font=('arial', 16, 'bold'), text = "Cost of Drinks",
bd = 8, anchor="w")
lblCostofDrinks.grid(row = 0, column = 0, sticky = W)
txtCostofDrinks = Entry(f2aa,font=('arial', 16, 'bold'), bd = 8, justify = "left",
textvariable = CostofDrinks)
txtCostofDrinks.grid(row = 0, column = 1, sticky = W)
lblCostofCakes = Label(f2aa, font=('arial', 16, 'bold'), text = "Cost of Cakes", bd
= 8, anchor="w")
lblCostofCakes.grid(row = 1, column = 0, sticky = W)
txtCostofCakes = Entry(f2aa,font=('arial', 16, 'bold'), bd = 8, justify = "left",
textvariable = CostofCakes)
txtCostofCakes.grid(row = 1, column = 1, sticky = W)
lblServiceCharge = Label(f2aa, font=('arial', 16, 'bold'), text = "Sevice charge",
bd = 8, anchor = "w")
lblServiceCharge.grid(row = 2, column = 0, sticky = W)
txtServiceCharge = Entry(f2aa,font=('arial', 16, 'bold'), bd = 8, justify = "left",
textvariable = ServiceCharge)
txtServiceCharge.grid(row = 2, column = 1, sticky = W)
lblPaidTax = Label(f2ab, font=('arial', 16, 'bold'), text = "Tax", bd = 8)
lblPaidTax.grid(row = 0, column = 0, sticky = W)
txtPaidTax = Entry(f2ab,font=('arial', 16, 'bold'), bd = 8, justify = "left",
textvariable = PaidTax)
txtPaidTax.grid(row = 0, column = 1, sticky = W)
lblSubTotal = Label(f2ab, font=('arial', 16, 'bold'), text = "Sub Total", bd = 8)
lblSubTotal.grid(row = 1, column = 0, sticky = W)
txtSubTotal = Entry(f2ab,font=('arial', 16, 'bold'), bd = 8, justify = "left",
textvariable = SubTotal)
txtSubTotal.grid(row = 1, column = 1, sticky = W)
lblTotalCost = Label(f2ab, font=('arial', 16, 'bold'), text = "Total", bd = 8)
lblTotalCost.grid(row = 2, column = 0, sticky = W)
txtTotalCost = Entry(f2ab,font=('arial', 16, 'bold'), bd = 8, justify = "left",
textvariable = TotalCost)
txtTotalCost.grid(row = 2, column = 1, sticky = W)
btnTotal = Button(fb2, padx = 5, pady = 1, bd = 4, fg = "black", font = ('arial',
16, 'bold'), width = 5, text = "Total", command = CostofItems).grid(row = 0,
column = 0)
btnReceipt = Button(fb2, padx = 5, pady = 1, bd = 4, fg = "black", font = ('arial',
16, 'bold'), width = 5, text = "Receipt", command = Receipt).grid(row = 0,
column = 1)
btnReset = Button(fb2, padx = 5, pady = 1, bd = 4, fg = "black", font = ('arial',
16, 'bold'), width = 5, text = "Reset", command = reset).grid(row = 0, column =
2)
btnPrint = Button(fb2, padx = 5, pady = 1, bd = 4, fg = "black", font = ('arial',
16, 'bold'), width = 5, text = "Print", command=qPrint).grid(row = 0, column =
3)
btnExit = Button(fb2, padx = 5, pady = 1, bd = 4, fg = "black", font = ('arial',
16, 'bold'), width = 5, text = "Exit", command=qExit).grid(row = 0, column = 4)
root.mainloop()
SCREEN SHOTS
Normal Screen
Total
Receipt
Print
Reset
Exit
CONCLUSION
SIGNIFICANCE
FUTURE SCOPE
SYSTEM IMPLIMENTATION
The following steps were carried out in implementation phase.
Conduct Training: the training was conducted for the
employees of the cafe to make them familiar with the system.
Bug fixing and documentation: any errors that occurred were
solved and documented.
Install the system: the system was then installed.
THANK YOU .….