Online Digital Books With QR Code Generator
Online Digital Books With QR Code Generator
ABSTRACT
The goal of the online digital Books with QR code python project is to make a certain
search and use of books from being accessed. This project will assist the user in avoiding
distractions and by preventing them from downloading web books on their system. There are
certain times when we face the need to read different books on our system and also download the
books sometimes. This is where online digital books with QR code helps us and is created based
on python and Sqlite3 database. Locating relevant information in a timely manner is critical for
both the researcher and the information professional. This project would surely reduce the
manual work and also saves the user’s time.
We are going to create Online Digital Books with QR code using python which will give
us a window where we can type the URL of the book pdf to generate a QR code and then we can
link our books to the QR code. We will also have a reading feature added to it so that we can
read by clicking the button containing the author’s name of any books in the same system if we
want. We can also download the books in our mobile in a PDF format using QR Code. Here we
use Tkinter Module for creating GUI. In this project the books are displayed in the category wise
and the user can access the books available in the selected category. If the user needs other books
rather than the books available in the category, we have provided the button in the page, so that
the user can click the button and view the books in the Internet. This also saves our valuable time
and gives as a wide option to choose from at one stop.
While creating Python Online Digital Books with QR code Application, we are having
four modules namely Admin Module, User Login Module, Category Module and Main Module.
In PyCharm we are going to use only one module – Tkinter Module to make easy GUI using
Python. As the names suggest the user will perform reading the pdf by scanning the QR code in
mobiles and also reading of books in the same system respectively. These applications are
mainly used by the students to search a book based on the title and the author of the book. This
brings us the comfort to sit at any place and scan any QR Code of the book that we intent to read.
CONTENTS
CHAPTER NO TITLE
PAGE NO
1 INTRODUCTION 1
2 SYSTEM STUDY 16
6.1. SCREENSHOTS 28
1. INTRODUCTION
1.1 ABOUT THE PROJECT
The main objective of the present study is the creation of QR Code for the books. The QR
Codes are used for identification as well as it provides the details of books including Author
name and title. It may provide the clues for proper identification of the books. Online Digital
Books with QR code using python which will give us a window where we can type the URL of
the book pdf to generate a QR code and then we can link our books to the QR code. We will also
have a reading feature added to it so that we can read by clicking the button containing the author
name of any books in the same system if we want. The QR Code is used to determine the correct
identification of the book sample in a rapid and reliable environment, because QR Code are
consider as a best tool for understanding. In recent day’s mobile phones has become a
fundamental need for daily life. There are lots of apps available in android are used to scan the
QR Code to read the books. Based on the above idea we generated an application “Online Digital
books with QR Code” for the identification of books in internet. With the online digital books
with QR Code system, Consumers do not need to blindly go to various places to find their own
books but only in a computer connected to the internet can access the system. This greatly
facilitates every consumer saving time and reduce cost and can bring convenience to everyone.
More importantly, in today’s world, the economy tends to be globalization, which promote the
future development of online digital books with QR Code system has some practical
significance.
The software and hardware required to be developed, use and maintain specification of
the application are as follows.
1.2.1 HARDWARE SPECIFICATION
RAM : 8GB
PyCharm is the most popular IDE used for Python scripting language. This chapter will
give you an introduction to PyCharm and explains its features.
PyCharm offers some of the best features to its users and developers in the following
aspects
Besides, a developer will find PyCharm comfortable to work with because of the features
mentioned below:
Package Management
All the installed packages are displayed with proper visual representation. This includes list of
installed packages and the ability to search and add new packages.
Local History
Local History is always keeping track of the changes in a way that complements like Git. Local
history in PyCharm gives complete details of what is needed to rollback and what is to be added.
Refactoring
Refactoring is the process of renaming one or more files at a time and PyCharm includes various
shortcuts for a smooth refactoring process.
User Interface of PyCharm Editor
The user interface of PyCharm editor is shown in the screenshot given below. Observe that the
editor includes various features to create a new project or import from an existing project.
This helps in creating a new project of Python where you can work from the scratch. Note that
unlike other IDEs, PyCharm only focusses on working with projects of Python scripting
language.
This chapter will discuss the basics of PyCharm and make you feel comfortable to begin working
in PyCharm editor.
Fig no: 1.4 PyCharm package
When you launch PyCharm for the first time, you can see a welcome screen with entry points to
IDE such as
Creating or opening the project
Checking out the project from version control
Viewing the documentation
Configuring the IDE
Note that we have included some errors within the specified code such that console can execute
the code and display output as the way it is intended to.
Python is a dynamic, interpreted (byte code-compiled) language. There are no type declarations
of variables, parameters, functions, or methods in source code. This makes the code short and
flexible, and you lose the compile-time type checking of the source code. Python tracks the types
of all values at runtime and flags code that does not make sense as it runs.
An excellent way to see how Python code works is to run the Python interpreter and type code
right into it. If you ever have a question like, "What happens if I add an int to a list?" Just typing
it into the Python interpreter is a fast and likely the best way to see what happens.
As you can see above, it's easy to experiment with variables and operators. Also, the interpreter
throws, or "raises" in Python parlance, a runtime error if the code tries to read a variable that has
not been assigned a value. Like C++ and Java, Python is case sensitive so "a" and "A" are
different variables. The end of a line marks the end of a statement, so unlike C++ and Java,
Python does not require a semicolon at the end of each statement. Comments begin with a '#' and
extend to the end of the line.
Python source code
Python source files use the ".py" extension and are called "modules." With a Python
module hello.py, the easiest way to run it is with the shell command "python hello.py Alice"
which calls the Python interpreter to execute the code in hello.py, passing it the command line
argument "Alice". See the official doc’s page on all the different options you have when running
Python from the command-line.
Here's a very simple hello.py program (notice that blocks of code are delimited strictly using
indentation rather than curly braces — more on this later!):
1.3.4 User-defined Functions
2. Click on the downloads tab and choose the operating system and python version. So, here
I am downloading python version 3.7.4 for Windows operating system.
“System study is a program solving technique that decomposes an application into its
component pieces for the purpose of the studying how well those components parts work and
interact to accomplish their purpose”. It is a reduction of an entire application by studying the
various operations performed a relationship with in the application. An examination of a business
activity with a view to identifying problem areas and recommending alternative solutions. There
the consequences are also being accomplished through this procedure of such phenomena.
2. Point the camera at the QR codes for which the information of the Books is displayed.
DRAWBACKS:
The existing system is to provide only the Information of the book such as Author,
Edition and publishers.
If the user wants to read the book, the user needs to download it from the link.
There is an inconvenient in the existing system, that the QR code scanned in the books
take the user to the information section of the book and not to the contents of book.
The user requires to download the book or need to purchase the book.
Category Module
Main Module
i) Admin Module:
As the admin manages the services, the admin can see the users who uses the Online
Digital Books with QR code application. Admin is the one who manages the entire application
such as add, modify and delete etc.
TECHNICAL FEASIBILITY
The proposed system is developed using Active Server Page, VB Script and HTML as
front-end tool and Oracle 8 as the back end. The proposed system needs a Personal Web Server
to serve the requests submitted by the users. The Web browser is used to view the web page that
is available within the Windows operating system itself. The proposed system will run under
Win9x, NT, and win2000 environment. As Windows is very user friendly and GUI OS it is very
easy to use. All the required hardware and software are readily available in the market. Hence the
system is technically feasible.
OPERATIONAL FEASIBILITY
• The proposed system is operationally feasible because of the following reasons.
• The customer is benefited more as most of his time is saved.
• The customer is serviced at his place of work.
• The cost of the proposed system is almost negligible when compared to the benefits
gained.
ECONOMICAL FEASIBILITY
As the necessary hardware and software are available in the market at a low cost, the
initial investment is the only cost incurred and does not need any further enhancements. Hence it
is economically feasible.
PRESENT SYSTEM
• There are certain features limiting the process of the present system.
• The drawbacks of the present system are listed below.
• It takes more amount of time to collect the Books.
3. SYSTEM DESIGN
System design is the process of defining the architecture, components, modules, interfaces
and data for a system to satisfy specified requirements, design is the process of applying various
techniques and principles for the purpose of designing and developing a system.
Username VarChar 15
Password VarChar 15
Password VarChar 15
E-Mail ID VarChar 15
Input Design is the process of converting the user-oriented inputs into computer-based
formats. Input invalid data is one of the common errors in data processing. Any ambiguity
conceiving in input leads to a total fault in output. The goals of designing the input data are to
make the data entry as easy and error free as possible.
Here, the inputs are designed in such way that occurrence of errors are minimized to its
maximum. Input design features can be ensured the reliability of the application and produce
results from accurate data or they can result in the production of erroneous information.
QR code
QR CODE:
QR code abbreviated from Quick Response code. QR codes often contain data for a
locator, identifier or tracker that points to a website or application. A QR codes uses four
standardized encoding modes (Numeric, Alphanumeric, Byte, Binary) to store data efficiently,
extensions may also be used. The quick response system become popular outside the automotive
industry due to its fast readability and greater storage capacity compared to standard UPC
barcodes.
A QR code consists of black squares arranged in a white background which can be read by
an imaging device such as camera and processed using Reed Solomon error correction until the
image appropriately interpreted. The required data is then extracted from patterns that are present
in both horizontal and vertical components of the image.
3.3 OUTPUT DESIGN
For many end-users, output is the main reason for developing the system and the basis on
which they evaluate the usefulness of the application. Output design phase of the system is,
concerned the convergence of information to the end user-friendly manner. The output design
should efficient, intelligent so that system relationship with the user is improved and they are by
enhancing the process of decision-making. It also serves as historical record for feature
reference.
In this project, Books are displayed in the pdf format.
PDF FORMAT:
PDF stands for "Portable Document Format". Essentially, the format is used when you
need to save files that cannot be modified but still need to be easily shared and printed. Today
most devices have a version of Adobe Reader or can open a PDF in an Internet Browser.
Portable Document Format, standardized as ISO 32000, is a file format developed by Adobe in
1992 to present documents, including text formatting and images, in a manner independent of
application software, hardware, and operating systems.
PDF that has captured all the elements of a printed document. As an electronic image that
users can view, navigate, print or forward to someone else. However, pdf files are more than
images of document. Files can embed type fonts so that they are available at any viewing
location. They can also include interactive elements such as buttons for forms entry and for
triggering sound/video. When user want to send a document electronically but be sure that the
recipient sees it exactly as the sender intended it to look.
4. SYSTEM TESTING & IMPLEMENTATION
The project has undergone the following testing procedures to ensure its correctness.
• Functional Testing
• Performance Testing
• Security Testing
• Usability Testing
• Compatibility Testing
FUNCTIONAL TESTING:
The functional testing of Mobiles normally consists in the areas of testing user interactions as
well as testing the transactions. The various factors which are relevant in functional testing are
• To validate whether all the required mandatory fields are working as required.
• To validate that the mandatory fields are displayed in the screen in a distinctive way than
the non-mandatory fields.
• To validate whether the application works as per as requirement whenever the application
starts/stops.
• To validate whether the application provides an available user guide for those who are
not familiar to the app.
PERFORMANCE TESTING
• This type of testing’s fundamental objective is to ensure that the application performs
acceptably under certain performance requirements such as access by a huge number of
users or the removal of a key infrastructure part like a database server.
• To validate whether the response time of the application is as per as the requirements.
• To determine whether the application performs as per the requirement under different
load conditions.
• To determine whether the existing client-server configuration setup provides the required
optimum performance level.
SECURITY TESTING
• To validate that the application is able to withstand any brute force attack which is an
automated process of trial and error used to guess a person’s username, password or
credit-card number.
• To validate that the application has a strong password protection system and it does not
permit an attacker to obtain, change or recover another user’s password.
USABILITY TESTING
• The usability testing process of the Mobile application is performed to have a quick and
easy step application with less functionality than a slow and difficult application with
many features. The main objective is to ensure that we end up having an easy-to-use,
intuitive and similar to industry-accepted interfaces which are widely used.
• To ensure that the buttons should have the required size and be suitable to big fingers.
• To ensure that the validation for the tapping zoom-in and zoom-out facilities should be
enabled.
• To ensure that the font size is big enough to be readable and not too big or too small.
• To ensure that the application provides a method for going back or undoing an action, on
touching the wrong item, within an acceptable duration.
COMPATIBILITY TESTING
• Compatibility testing on mobile devices is performed to ensure that since mobile devices
have different size, resolution, screen, version and hardware so the application should be
tested across all the devices to ensure that the application works as desired.
• The following are the most prominent areas for compatibility testing.
• To validate that the user Interface of the application is as per the screen size of the device,
no text/control is partially invisible or inaccessible.
• To ensure that the text is readable for all users for the application.
System implementation is made up of any activities. The six major activities are as follows.
CODING
Coding is the process of whereby the physical design specifications created by the
analysis team turned into working computer code by the programming team.
TESTING
Once the coding process begins and proceed in parallel, as each program module can be
tested.
INSTALLATION
Installation is the process during which the current system is replaced by the new system.
This includes conversion of existing data, software and documentation and work procedures to
those consistent with the new system.
DOCUMENTATION
It is the result from installation process, user guides provide the information of how to
use of the system and its flow.
Python.py
import webbrowser
from tkinter import *
import subprocess
win=Tk()
win. title("Python")
win. geometry("1500x800")
win. config(bg="white")
def bn1():
subprocess. Popen(['python1.pdf'], shell=True)
def bn2():
subprocess. Popen(['python2.pdf'],shell=True)
def bn3():
subprocess. Popen(['python3.pdf'],shell=True)
def bn4():
subprocess. Popen(['python4.pdf'], shell=True)
def bn5():
subprocess. Popen(['python5.pdf'], shell=True)
def bn6():
subprocess. Popen(['python6.pdf'], shell=True)
frame=Frame(win, bg="white")
frame. pack(side=TOP, fill=X)
Label(frame, text="//To read the books:\n\n Click on Author
name",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=80)
Label(frame, text="//Scan the QR Code to read and\n\n Download the
books",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=250)
def cal():
webbrowser. open_new("https://www.google.com/")
Label(frame, text="Search other books in
Online",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=400)
Button(frame, text="Google", command=cal, bg="sky blue",
width=15,height=2).place(x=1200,y=430)
title=Label(frame, text="Python Programming",
font=("Calibri",18,"bold"),bg="#535c68",fg="white")
title. grid(row=1,columnspan=4,padx=10,pady=10)
labname=Label(frame, text="Introduction to Python", bg="white", fg="black",
font=("times",16,"bold"))
labname. grid(row=2,column=0,pady=50)
btn1=Button(frame,command=bn1,text="E.Balagurusamy",width=15,font=("Calibri",16,"bold"),
fg="white",bg="#16a085").grid(row=3,column=0)
img1=PhotoImage(file="p1.png")
Label(win,image=img1,bg="white",width=200,height=200).place(x=350,y=40)
labname=Label(frame, text="Head-First python", bg="white", fg="black",
font=("times",16,"bold"))
labname. grid(row=4,column=0,pady=50)
btn2=Button(frame, command=bn2,text="Paul
Barry",width=15,font=("Calibri",16,"bold"),fg="white",bg="#2980b9").grid(row=5,column=0)
img2=PhotoImage(file="p2.png")
Label(win,image=img2,bg="white",width=200,height=200).place(x=350,y=240)
labname=Label(frame, text="Python for everybody", bg="white", fg="black",
font=("times",16,"bold"))
labname. grid(row=6,column=0,pady=60)
btn3=Button(frame, command=bn3,text="R
Severance",width=15,font=("Calibri",16,"bold"),fg="white",bg="#108076").grid(row=7,column
=0)
img3=PhotoImage(file="p3.png")
Label(win,image=img3,bg="white",width=200,height=200).place(x=350,y=440)
labname=Label(frame, text="Learning Python", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=100)
btn4=Button(frame, command=bn4,text="Mark
Lutz",width=15,font=("Calibri",16,"bold"),fg="white",bg="navyblue").place(x=640,y=180)
img4=PhotoImage(file="p4.png")
Label(win,image=img4,bg="white",width=200,height=200).place(x=950,y=40)
labname=Label(frame, text="Black Hat Python", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=280)
btn5=Button(frame, command=bn5,text="Justin
Seitz",width=15,font=("Calibri",16,"bold"),fg="white",bg="#298089").place(x=640,y=360)
img5=PhotoImage(file="p5.png")
Label(win,image=img5,bg="white",width=200,height=200).place(x=950,y=240)
labname=Label(frame, text="Python Data Analytics", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=460)
btn6=Button(frame, command=bn6,text="Fabio
Nelli",width=15,font=("Calibri",16,"bold"),fg="white",bg="#16CB85").place(x=640,y=550)
img6=PhotoImage(file="p6.png")
Label(win,image=img6,bg="white",width=200,height=200).place(x=950,y=440)
btn7=Button(frame,command=exit,text="Back",width=15,font=("Calibri",16,"bold"),fg="white",
bg="#c0392b").place(x=1200,y=560)
win. mainloop()
Fiction.py
import webbrowser
from tkinter import *
import subprocess
win=Tk()
win. title("Fiction")
win. geometry("1500x800")
win. config(bg="white")
def bn1():
subprocess. Popen(['fict1.pdf'], shell=True)
def bn2():
subprocess. Popen(['fict2.pdf'],shell=True)
def bn3():
subprocess. Popen(['fict3.pdf'],shell=True)
def bn4():
subprocess. Popen(['fict4.pdf'], shell=True)
def bn5():
subprocess. Popen(['fict5.pdf'], shell=True)
def bn6():
subprocess. Popen(['fict6.pdf'], shell=True)
frame=Frame(win, bg="white")
frame. pack(side=TOP, fill=X)
Label(frame, text="//To read the books:\n\n Click on Author
name",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=80)
Label(frame, text="//Scan the QR Code to read and\n\n Download the
Books",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=250)
def cal():
webbrowser. open_new("https://www.google.com/")
Label(frame, text="Search other books in
Online",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=400)
Button(frame, text="Google", command=cal, bg="sky blue",
width=15,height=2).place(x=1200,y=430)
title=Label(frame, text="Books on Fiction",
font=("Calibri",18,"bold"),bg="#535c68",fg="white")
title. grid(row=1,columnspan=4,padx=10,pady=10)
labname=Label(frame, text="The Art of Character", bg="white", fg="black",
font=("times",16,"bold"))
labname. grid(row=2,column=0,pady=50)
btn1=Button(frame, command=bn1,text="David
Corbett",width=15,font=("Calibri",16,"bold"),fg="white",bg="#16a085").grid(row=3,column=0)
img1=PhotoImage(file="f1.png")
Label(win,image=img1,bg="white",width=200,height=200).place(x=350,y=40)
labname=Label(frame, text="Crafting Novels & Short stories", bg="white", fg="black",
font=("times",16,"bold"))
labname. grid(row=4,column=0,pady=50)
btn2=Button(frame, command=bn2,text="James Scott
Bell",width=15,font=("Calibri",16,"bold"),fg="white",bg="#2980b9").grid(row=5,column=0)
img2=PhotoImage(file="f2.png")
Label(win,image=img2,bg="white",width=200,height=200).place(x=350,y=240)
labname=Label(frame, text="Everything creative Writing", bg="white", fg="black",
font=("times",16,"bold"))
labname. grid(row=6,column=0,pady=60)
btn3=Button(frame,command=bn3,text="WendyBurt-
Thomas",width=15,font=("Calibri",16,"bold"),fg="white",bg="#108076").grid(row=7,column=0
)
img3=PhotoImage(file="f3.png")
Label(win,image=img3,bg="white",width=200,height=200).place(x=350,y=440)
labname=Label(frame, text="The Illuminati", bg="white", fg="black", font=("times",16,"bold"))
labname. place(x=640,y=100)
btn4=Button(frame, command=bn4,text="Mark
Dice",width=15,font=("Calibri",16,"bold"),fg="white",bg="navyblue").place(x=640,y=180)
img4=PhotoImage(file="f4.png")
Label(win,image=img4,bg="white",width=200,height=200).place(x=950,y=40)
labname=Label(frame, text="Elements of Fiction Writing", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=280)
btn5=Button(frame, command=bn5,text="James Scott
Bell",width=15,font=("Calibri",16,"bold"),fg="white",bg="#298089").place(x=640,y=360)
img5=PhotoImage(file="f5.png")
Label(win,image=img5,bg="white",width=200,height=200).place(x=950,y=240)
labname=Label(frame, text="Master of Science Fiction", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=460)
btn6=Button(frame, command=bn6,text="Karen
Haber",width=15,font=("Calibri",16,"bold"),fg="white",bg="#16CB85").place(x=640,y=550)
img6=PhotoImage(file="f6.png")
Label(win,image=img6,bg="white",width=200,height=200).place(x=950,y=440)
btn7=Button(frame,command=exit,text="Back",width=15,font=("Calibri",16,"bold"),fg="white",
bg="#c0392b").place(x=1200,y=560)
win. mainloop()
Art.py
import webbrowser
from tkinter import *
import subprocess
win=Tk()
win. title("ART")
win. geometry("1500x800")
win. config(bg="white")
def bn1():
subprocess. Popen(['a1.pdf'], shell=True)
def bn2():
subprocess. Popen(['a2.pdf'],shell=True)
def bn3():
subprocess. Popen(['a3.pdf'],shell=True)
def bn4():
subprocess. Popen(['a4.pdf'], shell=True)
def bn5():
subprocess. Popen(['a5.pdf'], shell=True)
def bn6():
subprocess. Popen(['a6.pdf'], shell=True)
frame=Frame(win, bg="white")
frame. pack(side=TOP, fill=X)
Label(frame, text="//To read the books:\n\n Click on Author
name",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=80)
Label(frame, text="//Scan the QR Code to read and\n\n Download the
Books",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=250)
def cal():
webbrowser. open_new("https://www.google.com/")
Label(frame, text="Search other books in
Online",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=400)
Button(frame, text="Google", command=cal, bg="sky blue",
width=15,height=2).place(x=1200,y=430)
title=Label(frame, text="Books on Art", font=("Calibri",18,"bold"),bg="#535c68",fg="white")
title. grid(row=1,column=0,pady=10)
labname=Label(frame, text="Pencil Drawing", bg="white", fg="black",
font=("times",16,"bold"))
labname. grid(row=2,column=0,pady=50)
btn1=Button(frame,command=bn1,text="Guide",width=15,font=("Calibri",16,"bold"),fg="white
",bg="#16a085").grid(row=3,column=0)
img1=PhotoImage(file="a1.png")
Label(win,image=img1,bg="white",width=200,height=200).place(x=350,y=40)
labname=Label(frame, text="Start sketching & drawing now", bg="white", fg="black",
font=("times",16,"bold"))
labname. grid(row=4,column=0,pady=50)
btn2=Button(frame, command=bn2,text="Grant
Fuller",width=15,font=("Calibri",16,"bold"),fg="white",bg="#2980b9").grid(row=5,column=0)
img2=PhotoImage(file="a2.png")
Label(win,image=img2,bg="white",width=200,height=200).place(x=350,y=240)
labname=Label(frame,text="Drawingportraits",bg="white",fg="black",font=("times",16,"bold"))
labname. grid(row=6,column=0,pady=60)
btn3=Button(frame,command=bn3,text="Willenbrink",width=15,font=("Calibri",16,"bold"),fg="
white",bg="#108076").grid(row=7,column=0)
img3=PhotoImage(file="a3.png")
Label(win,image=img3,bg="white",width=200,height=200).place(x=350,y=440)
labname=Label(frame, text="Draw 50 Animals", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=100)
btn4=Button(frame, command=bn4,text="Lee
J.Ames",width=15,font=("Calibri",16,"bold"),fg="white",bg="navyblue").place(x=640,y=180)
img4=PhotoImage(file="a4.png")
Label(win,image=img4,bg="white",width=200,height=200).place(x=950,y=40)
labname=Label(frame, text="Drawing Cartoons & Comics", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=280)
btn5=Button(frame, command=bn5,text="Brian
Fairrington",width=15,font=("Calibri",16,"bold"),fg="white",bg="#298089").place(x=640,y=360
)
img5=PhotoImage(file="a5.png")
Label(win,image=img5,bg="white",width=200,height=200).place(x=950,y=240)
labname=Label(frame, text="Pencil Drawing Techniques", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=460)
btn6=Button(frame, command=bn6,text="David
Lewis",width=15,font=("Calibri",16,"bold"),fg="white",bg="#16CB85").place(x=640,y=550)
img6=PhotoImage(file="a6.png")
Label(win,image=img6,bg="white",width=200,height=200).place(x=950,y=440)
btn7=Button(frame,command=exit,text="Back",width=15,font=("Calibri",16,"bold"),fg="white",
bg="#c0392b").place(x=1200,y=560)
win. mainloop()
Bio.py
import webbrowser
from tkinter import *
import subprocess
win=Tk()
win. title("BIOGRAPHY")
win. geometry("1500x800")
win. config(bg="white")
def bn1():
subprocess. Popen(['bio1.pdf'], shell=True)
def bn2():
subprocess. Popen(['bio2.pdf'],shell=True)
def bn3():
subprocess. Popen(['bio3.pdf'],shell=True)
def bn4():
subprocess. Popen(['bio4.pdf'], shell=True)
def bn5():
subprocess. Popen(['bio5.pdf'], shell=True)
def bn6():
subprocess. Popen(['bio6.pdf'], shell=True)
frame=Frame(win, bg="white")
frame. pack(side=TOP, fill=X)
Label(frame, text="//To read the books:\n\n Click on Author
name",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=80)
Label(frame, text="//Scan the QR Code to read and\n\n Download the
Books",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=250)
def cal():
webbrowser. open_new("https://www.google.com/")
Label(frame, text="Search other books in
Online",bg="white",fg="black",font=("times",13,"bold")).place(x=1200,y=400)
Button(frame, text="Google", command=cal, bg="sky blue",
width=15,height=2).place(x=1200,y=430)
title=Label(frame, text="Books on Biography",
font=("Calibri",18,"bold"),bg="#535c68",fg="white")
title. grid(row=1,column=0,pady=10)
labname=Label(frame, text="Mother Teresa-A Biography", bg="white", fg="black",
font=("times",16,"bold"))
labname. grid(row=2,column=0,pady=50)
btn1=Button(frame, command=bn1,text="Meg
Greene",width=15,font=("Calibri",16,"bold"),fg="white",bg="#16a085").grid(row=3,column=0)
img1=PhotoImage(file="b1.png")
Label(win,image=img1,bg="white",width=200,height=200).place(x=350,y=40)
labname=Label(frame, text="When the Moon Split", bg="white", fg="black",
font=("times",16,"bold"))
labname. grid(row=4,column=0,pady=50)
btn2=Button(frame, command=bn2,text="Prophet
Muhammad",width=16,font=("Calibri",16,"bold"),fg="white",bg="#2980b9").grid(row=5,colum
n=0)
img2=PhotoImage(file="b2.png")
Label(win,image=img2,bg="white",width=200,height=200).place(x=350,y=240)
labname=Label(frame,text="Napolean",bg="white",fg="black",font=("times",16,"bold"))
labname. grid(row=6,column=0,pady=60)
btn3=Button(frame, command=bn3,text="Frank
McLynn",width=15,font=("Calibri",16,"bold"),fg="white",bg="#108076").grid(row=7,column=0
)
img3=PhotoImage(file="b3.png")
Label(win,image=img3,bg="white",width=200,height=200).place(x=350,y=440)
labname=Label(frame, text="The Story of my Life", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=100)
btn4=Button(frame, command=bn4,text="Helen
Keller",width=15,font=("Calibri",16,"bold"),fg="white",bg="navyblue").place(x=640,y=180)
img4=PhotoImage(file="b4.png")
Label(win,image=img4,bg="white",width=200,height=200).place(x=950,y=40)
labname=Label(frame, text="True Stories from history", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=280)
btn5=Button(frame,command=bn5,text="Hawthrone",width=15,font=("Calibri",16,"bold"),fg="
white",bg="#298089").place(x=640,y=360)
img5=PhotoImage(file="b5.png")
Label(win,image=img5,bg="white",width=200,height=200).place(x=950,y=240)
labname=Label(frame, text="Karl Marx-A Biography", bg="white", fg="black",
font=("times",16,"bold"))
labname. place(x=640,y=460)
btn6=Button(frame, command=bn6,text="David
McLellan",width=15,font=("Calibri",16,"bold"),fg="white",bg="#16CB85").place(x=640,y=550
)
img6=PhotoImage(file="b6.png")
Label(win,image=img6,bg="white",width=200,height=200).place(x=950,y=440)
btn7=Button(frame,
command=exit,text="Back",width=15,font=("Calibri",16,"bold"),fg="white",bg="#c0392b").pla
ce(x=1200,y=560)
win. mainloop()
6.2 SCREENSHOTS:
Homepage
Admin - Login
New User - Registration
Book Store
Python Programming
CHAPTER 7
BIBLIOGRAPHY
WEBSITES REFERRED
1) https://www.javatpoint.com/
2) https://www.tutorialspoint.com/
3) https://www.google.com/
4) https://stackoverflow.com/
5) https://en.wikipedia.org/