0% found this document useful (0 votes)
14 views46 pages

Online Digital Books With QR Code Generator

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views46 pages

Online Digital Books With QR Code Generator

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 46

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

1.1 ABOUT THE PROJECT 1

1.2 SYSTEM ENVIRONMENT 1

1.2.1 HARDWARE SPECIFICATION 2

1.2.2 SOFTWARE SPECIFICATION 2

1.3 SOFTWARE DESCRIPTION 2

2 SYSTEM STUDY 16

2.1 EXISTING SYSTEM 16

2.2 PROPOSED SYSTEM 16

2.3 MODULE DESCRIPTION 17

2.4 FEASIBILITY STUDY 18


3 SYSTEM DESIGN 19

3.1 SYSTEM FLOW DIAGRAM 19

3.2 INPUT DESIGN 21

3.3 OUTPUT DESIGN 22


4 SYSTEM TESTING & IMPLEMENTATION 23

4.1 SYSTEM TESTING 23

4.2 SYSTEM IMPLEMENTATION 25


5 CONCLUSION 27
6 APPENDIX 28

6.1. SCREENSHOTS 28

6.2. SOURCE CODE 41


7 BIBLIOGRAPHY 44

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.

1.2 SYSTEM ENVIRONMENT


The purpose of the software requirement specification is to produce specification of the
analysis task and also to establish the complete information about the requirement, behaviour,
and other constraints such as functional performance and so on. The goal of the application
requirement is to completely specify the technical requirements of the software products in a
concise an unambiguous manner.

The software and hardware required to be developed, use and maintain specification of
the application are as follows.
1.2.1 HARDWARE SPECIFICATION

Processor Speed : 2.10 GHz

RAM : 8GB

Hard Disk Capacity : 1 TB

Processor : AMD Ryzen 55500U with Radeon Graphics

Keyboard : Standard 104 keys

1.2.2 SOFTWARE SPECIFICATION

Operating System : Windows 11

Front End : Tkinter

Back End : Python & sqlite3

Programming Language : Python

Software Tool used : PyCharm

1.3 SOFTWARE DESCRIPTION

1.3.1 PYCHARM INTRODUCTION

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

 Code completion and inspection


 Advanced debugging
 Support for web programming and frameworks such as Django and Flask
Features of PyCharm

Besides, a developer will find PyCharm comfortable to work with because of the features
mentioned below:

 PyCharm enables smoother code completion whether it is for built in or for an


external package.
 SQLAlchemy as Debugger
 You can set a breakpoint, pause in the debugger and can see the SQL
representation of the user expression for SQL Language code.
 Git Visualization in Editor
 When coding in Python, queries are normal for a developer. You can check the
last commit easily in PyCharm as it has the blue sections that can define the
difference between the last commit and the current one.
 Code Coverage in Editor
 You can run .py files outside PyCharm Editor as well marking it as code coverage
details elsewhere in the project tree, in the summary section etc.
 It provides smart code completion, code inspection, on-the-fly error highligting
and quick-fixes, along with automated code refractorings and rich navigation
capabilities.

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.

Fig no: 1.1 PyCharm software

1.3.2 PYCHAM INSTALLATION


From the screenshot shown above, you can see the newly created project Demo and the site-
packages folder for package management along with various other folders.
In this chapter, you will learn in detail about the installation process of PyCharm on your local
computer.
Steps Involved
You will have to follow the steps given below to install PyCharm on your system. These steps
show the installation procedure starting from downloading the PyCharm package from its official
website to creating a new project.
Step 1
Download the required package or executable from the official website of PyCharm
https://www.jetbrains.com/pycharm/download/#section=windows. Here you will observe two
versions of package for Windows as shown in the screenshot given below
Fig no: 1.2 PyCharm installation
Note that the professional package involves all the advanced features and comes with free trial
for few days and the user has to buy a licensed key for activation beyond the trial period .
Community package is for free and can be downloaded and installed as and when required . It
includes all the basic features needed for installation. Note that we will continue with community
package throughout this tutorial.
Step 2
Download the community package (executable file) onto your system and mention a destination
folder as shown below –
Fig no: 1.3 PyCharm community package
Step 3
Now, begin the installation procedure similar to any other software package.
Step 4
Once the installation is successful, PyCharm asks you to import settings of the existing package
if any.

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

Fig no: 1.5 PyCharm configure page


Recall that in the last chapter, we created a project named demo1 and we will be referring to the
same project throughout this tutorial. Now we will start creating new files in the same project to
understand the basics of PyCharm Editor.

Fig no: 1.6 Editing page

Fig no: 1.7 Editor page


The above snapshot describes the project overview of demo1 and the options to create a new file.
Let us create a new file called main.py.
The code included in main.py is as follows

Fig no: 1.8 coding window


The code created in the file main.py using PyCharm Editor is displayed as shown below
This code can be run within IDE environment. The basic demonstration of running a program is
discussed below

Fig no: 1.9 project interpreter


Fig no: 1.10 coding window page

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.

Fig no: 1.11 Programming page


1.3.3 PYTHON PROGRAM

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.

Fig no 1.12 python software platform

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

Functions in Python are defined like this:


Notice also how the lines that make up the function or if-statement are grouped by all having the
same level of indentation. We also presented 2 different ways to repeat strings, using the +
operator which is more user-friendly, but * also works because it's Python's "repeat" operator,
meaning that '-' * 10 gives '----------', a neat way to create an onscreen "line." In the code
comment, we hinted that * works faster than +, the reason being that * calculates the size of the
resulting object once whereas with +, that calculation is made each time + is called. Both + and *
are called "overloaded" operators because they mean different things for numbers vs. for strings
(and other data types).
The def keyword defines the function with its parameters within parentheses and its code
indented. The first line of a function can be a documentation string ("do string") that describes
what the function does. The do string can be a single line, or a multi-line description as in the
example above. (Yes, those are "triple quotes," a feature unique to Python!) Variables defined in
the function are local to that function, so the "result" in the above function is separate from a
"result" variable in another function. The return statement can take an argument, in which case
that is the value returned to the caller.
Python History
Python’s roots are traced back to the late 1980s. Guido Van Rossum of CWI in the Netherlands
began implementing Python in December 1989. Python labeled version was first published in
February 1991 whereas, Python 1.0 was launched in 1994, and it included new capabilities such
as lambda, map, filter, and reduce. List comprehensions and garbage collection mechanisms
were included in Python 2.0. Python 3.0 (commonly known as “Py3K”) was released on
December 3, 2008. It was created to correct language’s underlying weakness. The ABC
programming language, which was capable of Exception Handling and connecting with the
Amoeba Operating System, is claimed to be the forerunner of Python.
Characteristics of Python:
 Easy and simple to learn and understand.
 Python enables object-oriented programming and concepts such as classes, encapsulation,
and so on.
 Python is a dynamically typed language
 It turns the code into bytecode, which can be run on any platform.
 It is an extensible programming language which means we can write and compile code
like any other programming language.
 Python is also an integrated language since it can easily be used with other programming
languages such as C, C++, Java, and others.
Career Opportunities:
Python has huge career opportunities in the IT industry. Almost every other IT company, be it a
startup or a Multi-National Company uses python for varied applications. So, if you have good
expertise in python, you will be in demand for a wide range of jobs in different domains such as
machine learning, cloud infrastructure, website designing, testing, and many more.
Large Open Source Community:
Let’s say you are working on a python project and you get stuck somewhere, you don’t have to
worry at all because python has a huge community for help. So, if you have any queries, you can
directly seek help from millions of python community members. Now, in this tutorial, we will
look at the procedure to install python.
Python Installation
If you are new to programming, then installing a programming language itself could be a
herculean task. So, now we are going to look at the step-by-step process to install python.
1. Start off by going to this website -> Downloads Python
Fig no 1.13 python download page

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.

Fig no 1.14 python download for window


Now that we have installed python, let’s go ahead in this tutorial and start off with programming
in Python
Python is a popular programming language. It was created by Guido van Rossum and released in
1991.
It is used for:
 web development (server-side),
 software development,
 mathematics,
 System scripting.
1.3.5 Features of Python programming language

1. Readable: Python is a very readable language.


2. Easy to Learn: Learning python is easy as this is an expressive and high level programming
language, which means it is easy to understand the language and thus easy to learn.
3. Cross platform: Python is available and can run on various operating systems such as Mac,
Windows, Linux, Unix etc. This makes it a cross platform and portable language.
4. Open Source: Python is an open source programming language.
5. Large standard library: Python comes with a large standard library that has some handy codes
and functions which we can use while writing code in Python.
6. Free: Python is free to download and use. This means you can download it for free and use it
in your application. See: Open Source Python License. Python is an example of a FLOSS
(Free/Libre Open Source Software), which means you can freely distribute copies of this
software, read its source code and modify it.
7. Supports exception handling: If you are new, you may wonder what is an exception? An
exception is an event that can occur during program exception and can disrupt the normal flow of
program. Python supports exception handling which means we can write less error prone code
and can test various scenarios that can cause an exception later on.
8. Advanced features: Supports generators and list comprehensions. We will cover these features
later.
9. Automatic memory management: Python supports automatic memory management which
means the memory is cleared and freed automatically. You do not have to bother clearing the
memory.
2. SYSTEM STUDY

“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.1 EXISTING SYSTEM


In the existing system the information of Book is displayed when the QR code is scanned.
The books can be read and are downloaded and some books require payment for downloading
the books. Just point out the scanner at them and get the information of the Books.

1. Tap the camera icon to open up the camera search function.

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.

2.2. PROPOSED SYSTEM


To avoid the drawbacks in the existing system, the proposed system has been developed to
provide an effective application. The proposed system makes the user to read Books in system
and can also read and download the books by the QR code given beside the Books information
on the system using the mobile phones. And the system creates QR code for the Books and the
content of the Book is displayed when the QR code is scanned.
BENEFITS OF PROPOSED SYSTEM
 No internet connection is needed to read the books.
 Easy to use.
 Free of cost.
 Provides accurate details of the Books.

2.3 MODULE DESCRIPTION


This project consists of three modules. Such as,
 Admin Module

 User Login Module

 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.

ii) User Login Module:


The new user is required to register their details in the registration form to enter the
application. The user who is already registered or using the application can just login with their
username and password to enter the application. After the login, the user can read the books and
the user if required can download the books by scanning the QR code given under each book title
using the QR code scanner.

iii) Category Module:


After the registration, the new user can login with the username and password to read and
access the books under several categories. This module includes categories such as
Programming, Fiction, Art, Comics and Biography.

iv) Main Module:


After the User selects the category, the books are displayed vertically with the
corresponding QR code and also contains information such as Author’s name and the title of the
book. The user if required can download the books by scanning the QR code given under each
book title using the QR code scanner in their mobile. The User can read the books by clicking
the button which contains the name of the author.

2.4 FEASIBILITY STUDY


The feasibility study is performed to determine whether the proposed system is viable
considering the Technical, Operational and Economical factors. After going through feasibility
study, we can have a clear-cut view of the system’s benefits and drawbacks.

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.

A process on a system is sufficient detail to permit its physical realization. It is process


through which requirements are translated in representation of the software.

3.1 SYSTEM FLOW DIAGRAM


A System flow diagram is a graphical representation of the “flow” of data through an
information system, modelling the process aspects. It can also be used for the visualization of
data processing. A System flow diagram is a tool used to represent the logical model of the
system. The main merit of data flow diagram is to be processed by system, the data to be
transformed and the flow of data along the system.

SYSTEM FLOW DIAGRAM


DATABASE DESIGN
Database design is the process is the process of producing a detailed data model of a
database. In Android SQLite is used as database. SQLite is a relational database management
System. It is an embedded database software used in Application Development Environment.

Table 3.2.1 Login


Field Data Type Size

Username VarChar 15

Password VarChar 15

Table 3.2.2 User Registration

Field Data Type Size

User Name VarChar 15

Password VarChar 15

E-Mail ID VarChar 15

Mobile Number Int 15


3.2 INPUT DESIGN

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.

The input design form of this project is,

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

4.1 SYSTEM TESTING


After the source code has been completed, project has to undergo testing and validation
where there is subtitle and definite amount to get errors. The project developer is always
responsible for testing the individual units i.e., the modules of the program. In many cases
developer also conducts integration testing i.e., the testing step that leads to the construction of
the complete program structure.

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 whether an application is not permitting an attacker to access sensitive


content or functionality without proper authentication.

• 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.

4.2 SYSTEM IMPLEMENTATION


Implementation is the process of converting a new or revised system design into an
operational one when the initial design was done by the system; a demonstration was given to the
end user about the working system. This process uses to verify and identify any logical mess
working of the system by feeding various combinations of test data. After the approval of the
system by both end user and management the system was implemented.

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.

TRAINING AND SUPPORT


Training plan is a strategy for training user so they quickly learn to the new system. The
development of the training plan probably began earlier in the project
5. CONCLUSION
“Online Digital Books with QR code” is an application which helps the user to find out
the Books and its details. This system is implemented for the user who wants to read and
download the Books and its details in the System by scanning the QR code which is given beside
the Information of Books. Another one feature is without scanning, user get information and read
the book by clicking the author names of the books present in the page in this app. This project
can be enhanced in future by adding more Books into more Categories. Also other details of
Books such as edition, status, publishers, and year can be added in future.
6. APPENDICES
6.1. SOURCE CODE:
Homepage.py
from tkinter import*
from subprocess import call
win=Tk()
win. title("Welcome to Book store")
win. geometry("1500x800")
win. config(bg="#CCCCFF")
def admin():
call(["python", "admin.py"])
def user():
call(["python", "ruser.py"])
def new():
call(["python", "user.py"])
img = PhotoImage(file="books.png")
Label(win, image=img, width=1460,height=760).place(x=20,y=20)
Frame =Frame (win, bg="#CCFFFF", width=400, height=400)
frame. place(x=600, y=200)
title = Label(frame, text="Select Your Role", font=("Calibri",18,"bold"),bg="#CCFFFF",
fg="navy blue")
title. grid(row=0, columnspan=2,padx=20,pady=20)
btn_frame=Frame(frame, bg="#CCFFFF")
btn_frame. grid(row=4,column=0,columnspan=8,padx=10,pady=10,sticky="w")
btn1=Button(btn_frame,command=admin,text="ADMIN",width=15,font=("Calibri",16,"bold"),f
g="white",bg="navy blue", bd=0).grid(row=0,column=1)
btn2=Button(btn_frame,command=user,text="USER",width=15,font=("Calibri",16,"bold"),fg="
white",bg="green",bd=0).grid(row=1,column=1,pady=20)
btn3=Button(btn_frame, command=new, text="NEW USER",
width=15,font=("Calibri",16,"bold"),fg="white", bg="navy blue", bd=0).grid(row=2,column=1)
win. mainloop()
Bookstore.py
from tkinter import*
from subprocess import call
win=Tk()
win. title("Category")
win. geometry("1500x800")
win. config(bg="#CCCCFF")
def prog():
call(["python", "prog.py"])
def fiction():
call(["python", "fiction.py"])
def art():
call(["python", "art.py"])
def bio():
call(["python", "bio.py"])
def comic():
call(["python", "comic.py"])
img=PhotoImage(file="Sm.png")
Label(win, image=img, bg="white", width = 1460, height = 760).place(x=20,y=20)
frame=Frame(win, bg="#CCFFCC")
frame. pack(side=TOP, fill=Y)
title=Label(frame, text="Select the Category", font=("Calibri",18,"bold"),bg="#CCFFCC",
fg="navy blue")
title. grid(row=0,columnspan=2,padx=10,pady=20,sticky="w")
btn_frame=Frame(frame, bg="#CCFFCC")
btn_frame.grid(row=4,column=0,columnspan=4,padx=10,pady=10)
btn1=Button(btn_frame,command=prog,text="PROGRAMMING",width=15,font=("Calibri",16,
"bold"),fg="white",bg="#56AD8F",bd=0).grid(row=0,column=1)
btn2=Button(btn_frame,command=fiction,text="FICTION",width=15,font=("Calibri",16,"bold")
,fg="white",bg="#808CDF",bd=0).grid(row=1,column=1,pady=20)
btn3=Button(btn_frame,command=art,text="ART",width=15,font=("Calibri",16,"bold"),fg="whi
te",bg="#566D8F",bd=0).grid(row=2,column=1)
btn4=Button(btn_frame,command=bio,text="BIOGRAPHY",width=15,font=("Calibri",16,"bold
"),fg="white",bg="#56CD8F",bd=0).grid(row=3,column=1,pady=20)
btn5=Button(btn_frame,command=comic,text="COMICS",width=15,font=("Calibri",16,"bold"),
fg="white",bg="#686C8F",bd=0).grid(row=4,column=1)
btn_exit =Button(btn_frame, text="LOG OUT", fg="black", width=10, height=1,
bg="#B8B3B3", border=0,font=("Calibri", 14, "bold"), command=exit)
btn_exit. grid(row=5,column=1,pady=10)
win. mainloop()

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

Head-First Python Book as PDF

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/

You might also like