0% found this document useful (0 votes)
26 views78 pages

Ilovepdf Merged

Uploaded by

Priyanshi Jain
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)
26 views78 pages

Ilovepdf Merged

Uploaded by

Priyanshi Jain
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/ 78

BOOKWORM

A Project Work-II Report


Submitted in partial fulfillment of requirement of
the Degree of
BACHELOR OF TECHNOLOGY in
COMPUTERSCIENCE & ENGINEERING
BY
Priyanshi Jain
EN20CS301322

Under the Guidance of


Er. Arpit Deo

Department of Computer Science &


EngineeringFaculty of Engineering
MEDI-CAPS UNIVERSITY, INDORE- 453331

Jan-April 2024
BOOKWORM

A Project Work-II Report


Submitted in partial fulfillment of requirement of
the Degree of
BACHELOR OF TECHNOLOGY in
COMPUTERSCIENCE & ENGINEERING
BY
Priyanshi Jain
EN20CS301322

Under the Guidance of


Er. Arpit Deo

Department of Computer Science &


EngineeringFaculty of Engineering
MEDI-CAPS UNIVERSITY, INDORE- 453331

Jan-April 2024
Report Approval

The project work “BOOKWORM” is hereby approved as a creditable study of an


engineering/computer application subject carried out and presented in a manner
satisfactory to warrant its acceptance as prerequisite for the Degree for which it has
been submitted.
It is to be understood that by this approval the undersigned do not endorse or
approved any statement made, opinion expressed, or conclusion drawn there in;
but approve the “Project Report” only for the purpose for which it has been
submitted.

Internal Examiner
Name:
Designation
Affiliation

External Examiner
Name: Designation
Affiliation

1
Declaration
I/We hereby declare that the project entitled “Bookworm” submitted in partial
fulfillment for the award of the degree of Bachelor of Technology/Master of
Computer Applications in ‘Computer science and engineering completed under
the completed under the supervision of Er. Arpit Deo , Faculty of Engineering,
Medi-Caps University Indore is an authentic work.

Further, I/we declare that the content of this Project work, in full or in parts, have
neither been taken from any other source nor have been submitted to any other
Institute or University for the award of any degree or diploma.

Signature and name of the student(s) with date


Priyanshi Jain
EN20CS301322

2
Certificate

I/We, Ms. Garima S. Tukra certify that the project entitled “Drowsiness Detection
system” submitted in partial fulfillment for the award of the degree of Bachelor
of

Technology/Master of Computer Applications by Priyanka Sharma

EN20CS301317 is the record carried out by him/them under my/our guidance and
that the work has not formed the basis of award of any other degree elsewhere.

<Name of Internal Guide> <Name of External Guide (If any)>


<Name of the Department> <Name of the Department>
Medi-Caps University, Name of the Organization
Indore

Dr. Ratnesh Litoriya


Head of the
Department Computer
Science &
EngineeringMedi-Caps
University, Indore

3
Acknowledgements

I would like to express my deepest gratitude to Honorable Chancellor, Shri R C


Mittal, who has provided me with every facility to successfully carry out this
project, and my profound indebtedness to Prof. (Dr.) D K Patnaik, Vice
Chancellor, Medi- Caps University, whose unfailing support and enthusiasm has
always boosted up my morale. I also thank Prof. (Dr.) Pramod S Nair, Dean,
Faculty of Engineering, Medi-Caps University, for giving me a chance to work on
this project. I would also like to thank my Head of the Department Dr. Ratnesh
Litoriya for his continuous encouragement for the betterment of the project.

I express my heartfelt gratitude to my Internal Guidee Er. Arpit Deo, Faculty

of Engineering, Medi-Caps University Indore without whose continuous help and


support, this project would ever have reached to the completion.

It is their help and support, due to which we became able to complete the design and
technical report.

Without their support this report would not have been possible.

Priyanka Sharma
EN20CS301317

B.Tech. IV Year
Department of Computer Science &
EngineeringFaculty of Engineering
Medi-Caps University, Indore

4
Table of Contents
S. Chapter name Page
N. No.
Report Approval i

Declaration ii

Certificate iii
Acknowledgement iv
Table of Contents v
List of figures vi
List of tables vii
1 Introduction 1-5

1.1 Purpose 1
1.2 Scope 2

1.3 Problem in existing system 2

1.4 Statement of Problem 3

2 System Requirement Analysis


2.1 Introduction 6

2.2 Overall Description 9

2.3 External Interface Requirements


2.4 Functional Requirement 10

2.5 Nonfunctional Requirements 10

2.6 Project Plan 10

3 3.1 Methodology Used


3.2 UseCaseDiagrams 11

3.3 Activity Diagram 11

3.4 SequenceDiagram
3.5 Class Diagram 12
4 Design 14
4.1 Architectural Design

4.2 Database Design 19


4.3 InterfaceDesign 19
5 Implementation

5.1 Language and database system used for the implementation 21

5
5.2 Features of language and database used for the project 21
5.3 Description of third-party tools used 22
6 Conclusion 22
7 Reference 22

6
List of Figures
Figure 1.1 Effects of Drowsy Driving 3
Figure 1.2 Road accidents caused by sleepy drivers 4
Figure 5.1 Growth of Machine Learning in World Wide Use Cases 15
Figure 5.2 Features of TensorFlow 17
Figure 7.1 Part 1 Source code of our model.py file 23
Figure 7.2 Part 2 Source code of our model.py file 23
Figure 7.3 Part 1 code of our drowsiness.py file 24
Figure 7.4 Part 1 code of our drowsiness.py file 24
Figure 7.5 Part 1 code of our drowsiness.py file 25

7
List of Tables
Table 2.1 Common methods of evaluating drowsiness 6

8
1: INTRODUCTION

BACKGROUND:
“The automobile population is growing exponentially in our country. The biggest
problem with increasing vehicle use is the increase in traffic accidents. Road
accidents are undoubtedly a global threat to our country”. “The frequency of road
accidents in India is one of the highest in the world. The National Crime Records
Bureau (NCRB) reports that about 135,000 people die each year in road accidents in
India. The Global Status Report on Road Safety, published by the World Health
Organization (WHO), identifies driver mistakes and carelessness as the main causesof
traffic accidents. Drowsiness, alcoholism, and driver negligence are the main causes
of accident scenarios”.

Mortality, associated costs and associated risks are considered serious threats to the
country. “All these factors have led to the development of Intelligent Transportation
Systems (ITS). The ITS includes driver assistance systems such as adaptive cruise
control, a parking assist system, a pedestrian detection system, smart headlights and a
blind spot detection system. Considering these factors, the driver's condition is a
major challenge in developing advanced driver assistance systems”.

Driver mistakes and carelessness make a contribution maximum of the street injuries
going on nowadays. “The most important motive force mistakes are resulting from
drowsiness, drunken and reckless conduct of the motive force. The resulted mistakes
and errors make a contribution plenty loss to the humanity. In order to decrease the
consequences of motive force abnormalities, a device for abnormality tracking must
be built in with the vehicle. The actual time detection of those behaviors is a critical
trouble concerning the layout of superior protection structures in automobiles”. This
assignment specializes in a motive force abnormality detection device in ITS on-
automobile domain.

1
Improving public safety and reducing accidents are key goals of Intelligent Transport
Systems (ITS). One of the biggest factors in accidents, especially on baredirt roads, is
driver fatigue and monotony. “Fatigue reduces the driver's perception and decision-
making ability. Research shows that drivers are often tired after 1 hourof driving. In
the early afternoon, after lunch and midnight, drivers are often much more tired and
sleepy than at other times”.

In different countries, different statistics have been reported on accidents caused by


tired and distracted drivers. “Overall, the main cause of about 20% of accidents and
30% of fatal crashes are driver drowsiness and lack of concentration. In single-
vehicle crashes (only one vehicle was damaged) or involving heavy vehicles, up to
50% of crashes involve drowsy driving [1, 3-5]”. “According to current studies, it is
expected that the number of accidents will be reduced by 10-20% thanks to the
driver's face monitoring system”.

The driver face monitoring system is a real-time system that studies the physical and
mental state of the driver based on the image processing of the driver's face. “The
driver's state can be estimated from eye closure, eyelid distance, blinking, gaze
direction, yawning and head turning.
In driver-facing monitoring systems, two main challenges can be considered: "How to
measure fatigue?" and "how to measure concentration?". These problems are themain
challenge of a monitoring system faced by the driver”.
Admittedly, because of the lack of an exact definition of fatigue, there are no
criteriaor measurement tools. However, the exact definition of fatigue is unknown,
“but there is a link between fatigue and a number of symptoms, including body
temperature, skin resistance, eye movements, breathing rate, heart rate and brain
activity [2, 3, 7, no. 8]. One of the first and most important symptoms of fatigue
appears in the eyes”. There is a very close relationship between psychomotor
vigilance task (PVT) and percentage of eyelids closed over time (PERCLOS).
PVTindicates a person's rate of response to a visual stimulus.

2
3
EFFECT OF DROWSY DRIVING:
Drowsy driving, “also known as driver fatigue or tired driving, is the act of drivingor
operating a motor vehicle while tired and feeling fatigued or sleepy”. “Job stress or
interrupted nights with young children are common reasons to be short on sleep.
However, other factors can contribute to drowsy driving, such as a medication youare
taking or an untreated sleep disorder that leaves you depleted and unable to
stayawake during the day”.
“Late-night and third-shift workers are particularly affected by the natural release of
melatonin associated with dark hours as they journey home after a long shift.

Fig. 1.1 Effects of Drowsy Driving

4
The main effects of drowsy driving are inability to concentrate, slow reaction times,
poor judgment, inability to judge distance and speed and of course dozing”.

o
“The effects of drowsy driving are more serious than most people realize.
When you stay awake for more than 18 hours”, “the effects on the body are
the same as if you have a blood alcohol level of 0.05%. According to the
CDC, after 24 hours of sobriety, the blood alcohol level is 0.10%,
wellabove the legal limit in all states. With a legal blood alcohol
concentration(BAC) limit of 0.08%, drowsy driving is similar to driving
while intoxicated”.
o
“Certain groups are especially susceptible to drowsy driving, including
teenagers and young men in their 20s and 30s, who tend to be drowsy
while driving at night”. Drowsy-driving crashes in this group most
commonly occur between “11 p.m. and 5 a.m. and 8 am”.
o
“Older adults are another group that are more likely to be involved in a
drowsy driving accident, with older adults having more accidents in the
mid-afternoon”.
MOTIVATION:
o
Drowsy driving is an important factor in the increasing number of
accidents on today's roads and is widely accepted.
o
Road accidents caused by sleepy drivers: “Update of a Norwegian survey

Fig. 1.2 Road accidents caused by sleepy drivers

5
Setting to distinguish when a driver is drowsy and trigger an alarm is an important
guide to accident prevention. A conceivable procedure for differentiating driver
drowsiness in general can be separated into related classifications: detection of
physiological qualities, detection of driver activity. vehicle response, observe the
driver's reaction. Driver fatigue is a notable factor in a large number of vehicle
accidents. Current information indicates that 1,200 deaths and 76,000 injuries per
year can be attributed to burnout-related accidents. Progress in identifying or
preventing driver-seat drowsiness is a significant challenge in the field of crash
avoidance frames. Because the risk of somnolence is present, strategies must be
devised to balance its effects”.

OBJECTIVE:

For this Python project, we are going to create a sleep detection system. Countless
people travel day and night on the highway. Taxi drivers, bus drivers, truck
driversand long-distance commuters suffer from insomnia. Therefore, driving while
drowsy becomes very dangerous.

“The majority of accidents happen because the driver falls asleep. So, to avoid these
accidents, we will build a system using Python, OpenCV and Keras to warn the driver
when he feels drowsy”.

6
CHAPTER 2: LITERATURE REVIEW/SURVEY

The general definition of a driver anomaly is: “Driver anomalies represent less
attention to activities that are essential for safe driving in the absence of competing
activities,Driving behavior detection is a hot topic in ITS. In the area of driving
monitoring and anomaly detection systems, some work is done using different
techniques. Possible techniques for detecting driver drowsiness can be divided into
physiological characteristics, driver operation, vehicle response, And detection of
driver reaction. Of these methods, the most accurate and accurate method is based on
human physiological phenomena. This technique can be implemented in a variety of
ways. B. Measure brain waves (EEG), heart rate (ECG), and eye open / closed
status”. The accuracy of the first two methods is impractical because the
measurement electrodes must be attached directly to the driver's body, which can
interfere with or distract the driver.
The technique based on closing the eyes is well suited to real driving conditions, as
“it can be non-intrusive using the camera to detect the open/closed state of the eyes”.
The eye-tracking-based drowsiness detection system is realized by analyzing the time
when eyes are closed with the camera and developing an algorithm to detect the
driver's drowsiness in advance and warn the driver through the systems.

COMMON METHODS OF EVALUATING DROWSINESS AND THEIR


ADVANTANGES AND DISADVANTAGES:
During our research we have found different methods used for evaluating drowsiness
problem, so “we describe their advantages and disadvantages of these methods using
table format”.

Table 2.1 Common methods of evaluating drowsiness

Sr. Name of Method Advantages Disadvantage


s
No.

7
1 Based on By using brain “It is
physiologic waves,drowsiness not
al can be realisti
c,
because to get

8
measures efficiently and these signs,
(particularly accuratelydetected. electrodes
EEG) should be
attached to
thebody,
which is
unpleasant
or annoying
for
driver”.
2 Based on vehicle- Lane tracking, vehicle “Having
based measures steering wheel changes, the restrictions
(vehicle number of lane crossings, against some
performance) the distance from the front changes,
can be used in detecting including
number of lane
crossings, and
the distance
from the
vehicle
type, driver
experience,
road
topology, road
front can be
used in
detecting
quality, and
ambient light

9
and on the
other
hand the
processing of
these methods
require a
considerable
time to analyze
the driver

10
behaviors
thatcause to
not
recognize of
micro-sleep”.
3 Based on In drowsiness, sensible en “Sudden
behavioral
measures (image in appearance and the changes in
head,

processing) changes can be seen in eyes and

appearance and face of changes in light


people, and the most intensity can be
important changes in eyes, decrease the
head, mouth and sitting percentage of
posture. “By taking picture drowsiness
of driver and helping detection”.
image
processing techniques,
signs of drowsiness can be
extracted”.
4 Combined method In this method, “This method
infrared
(expect-intrusive) radiation is used requires
for
Based on imaging, which different
behavioral “allows
and vehicle-based imaging at night without categories in
measurement. disturbing driver”. terms of image
processing and
status of eyes
and face”.

11
PROBLEMS ENCOUNTERED DURING RESEARCH:
o
While looking for any existing system, we encountered some problems,
and we’ve listed them down below

To train model “we have to work on huge data so algorithms are
very complex and too much time consuming”.

There is many complex algo used by people “while creating this typeof
detection system”.

Drowsy driving is an important issue in the context of traffic safety. Several methods
have been developed to reduce the risk of drowsy driving. The mechanisms for
detecting driver fatigue and drowsiness have been classified into three main
approaches, including vehicle-based, physiological-based, and behavioral-based
approaches.

Subject diversity Subject diversity was lacking among subjects in areas such as
ethnicity, age, gender and brand media compared with non-participants. Ethnic
differences can affect the accuracy of behavior-based models, with most pdhais using
a single ethnic group; however, another problem exists when ethnicity is often not
reported in pdhai. Research has shown that classifiers often reduce the accuracy of
darker skin tones, especially for women, as models often don't receive extensive
training.

Data loss can occur during recording because sensors can become detached, weather
can interfere with vehicle-based recording, or changes in lighting can affect
recording. behavior recorder.When using an adaptive association model or a model
with multiple sources of sleepiness, data loss does not necessarily mean that sleep
tracking will stop. One study explored this, with a system that continues to function
when the source signal is lost and can continue to monitor sleepiness [152]. Data loss
can happen at any time during monitoring; therefore, the system must continue to
function if this occurs.

12
CHAPTER 3: FEASIBILITY STUDY

FINANCIAL FEASIBILITY:
o
No hosting cost will be incurred because we'll be using Heroku and
Flask to host the web app

TECHNICAL FEASIBILITY:
o
Main technologies used for the project are

OpenCV

Keras

TensorFlow

Pygame

Machine Learning

Deep Learning

Convolutional Neural Networks (CNN)
o
Each of the technologies are freely available and technical skills are
manageable

RESOURCES FEASIBILITY:
o
Resources required for the project are

Programming Device (Laptop)

Hosting Space (Freely available)

Programming Tools (Freely available)

Programming individuals

13
CHAPTER 4: REQUIREMENTS

HARDWARE REQUIREMENTS:
o
Processor: Minimum 1 GHz; Recommended 2GHz or more
o
Ethernet connection (LAN) OR a wireless adapter (Wi-Fi)
o
Memory (RAM): Minimum 1 GB; Recommended 4 GB or above

SOFTWARE REQUIREMENTS:
o
An operating system of your choice
o
Any modern web browser like Chrome, Firefox, etc.

14
CHAPTER 5: PROPOSED METHODOLOGY

The Model Architecture:


“The model we use is built with Keras using a cumulative neural network (CNN). A
convolutional neural network is a special type of deep neural network that works
extremely well for image classification purposes. CNN basically consists of an input
layer, an output layer and a hidden layer which can have many layers. The
convolution operation is performed on these layers using a filter that performs 2D
matrix multiplication on the layer and the filter”.

The CNN model architecture includes the following layers:


Transformation class; “32 nodes”, core size 3 Transformation
class; “32 nodes”, core size 3 Transformation class; “64
nodes”, core size 3
Full connection layer; “128 knots”

“The final layer is likewise a totally related layer with 2 nodes”. A Relu activation
function is used in all layers except the output layer where we used SoftMax.
Process 1 – Through Camera Image as Input Taken
The input will be taken from web cam. So, “to access the webcam we made an
infinite loop that will record every frame. We use the technique provided thru
OpenCV, cv2.VideoCapture(0) to get right of entry to the virtual digital camera
andset the capture object (cap). cap. study () will study everybody and we can shop
the photograph in a body variable”.

Process 2 – Region of Interest (ROI) Calculated with Face Detection


“To locate faces inside the image, we want to convert the image to grayscale first
because the OpenCV rule set for element detection takes a grayscale snapshot insidethe
frontend. We don't want color records to position objects. We can use the haar
classifier to locate the face. This line is used to define our face=cv2.CascadeClassifier
classifier (`path to our waterfall xml file`). Then we do

15
16
the detection using face = face. DetectMultiScale (gray). It returns a detection array
with the x, y coordinates and the height and width of the element boundary
container”.
“cv2.rectangle(frame, (x, y), (x + w, y + h), (100,100,100), 1)”

Process 3 – Eyes Detected from ROI Further Feed it into


ClassifierThe same procedure for face detection is used for eye detection. “We first
define acascade classifier for eyes as leye and reye, and then detect the eyes using
left_eye
= leye.detectMultiScale (gray). Now we just need to extract the eye data from the full
image. This can be achieved by extracting the boundary box from the eye, thenwe can
extract the eye image from the frame using this code. l_eye = frame [y: y +h, x: x +
w]
l_eye contains only eye image data. This might be fed into our CNN classifier so that
it will are expecting if eyes are open or closed. Similarly, we are able to be extracting
the proper eye into r_eye”.

Process 4 – Either Eyes are Closed or Open Classified by the


Classifier
We use CNN classifier to expect eye condition. “To embody our photographs
withinside the version, we favored to some paint because of the reality the version
favored the right length to start with. First, we convert the shader picture to grayscale
the use of r_eye = cv2.cvtColor(r_eye, cv2.COLOR_BGR2GRAY). Wethen resize
the image to 24*24 pixels because our version is already qualified on the
cv2.resize(r_eye, (24,24)) 24*24 pixels image). We normalize our profile for better
convergence r_eye = r_eye / 255 (All possible values are within 01). Expandthe size
to provide our classifier. We loaded our model using model=load_model(`models/
cnnCat2.h5`)”.
“lpred = version. expect classes (l_eye). If lpred's tariff[0] = 1, it shows that attention
is open, if lpred[0] = 0, it shows that attention is closed.”

17
Process 5 – In Final Process Score is Calculated and through that we

18
Detect Person is Drowsy or Not

19
The rating is essentially a fee that “we can use to decide how lengthy the
individualhas closed their eyes. So if we near each eyes we can hold to boom our
rating andwhile we open our eyes we can lower our rating. We plot the effects on the
show display using the cv2.putText() function, which displays the individual's real-
time status. cv2.put(frame, "Open", (10, height20), font, 1, (255,255,255), 1,
cv2.LINE_AA)”
A threshold is described as an example “if the rating is better than 15, it way that the
individual has closed their eyes for a lengthy time. This is while we sound thealarm.
player ()”.

CONCEPTS INVOLVED:

MACHINE LEARNING
 Machine mastering is a subfield of synthetic intelligence (AI). The purposeof

device mastering commonly is to apprehend the shape of records and healthy

that records into fashions that may be understood and used by people.

“Although device mastering is a area inside laptop science, it differs from

conventional computational approaches. In conventional computing,


algorithms are units of explicitly programmed commands utilized by
computer systems to calculate or trouble solve. Machine mastering algorithms
alternatively permit for computer systems to teach on records inputs and use
statistical evaluation with a view to output values that fall inside a particular
range”. Because of this, device mastering allows computer systems in
constructing fashions from pattern records with a view to automate decision-
making techniques primarily based totally on recordsinputs.
 Any generation character these days has benefitted from tool learning. Facial

popularity era permits “social media structures to assist customers tag and
percentage pix of friends. Optical individual popularity (OCR) era converts
pictures of textual content into movable type. Recommendation engines,
powered through device learning, endorse what films or tv suggests to observe
subsequent primarily based totally on person preferences”.

20
 Self-riding motors that depend on system studying to navigate may also

quickly be to be had to consumers. “Machine studying is a constantly growing

field. Because of this, there are a few issues to preserve in thoughtsas you

figure with system studying methodologies, or examine the effect of system


studying processes”.
 Here on this thesis, “we're imparting primary data of the not unusualplace

system mastering strategies of supervised and unsupervised mastering, andnot


unusualplace algorithmic strategies in system mastering, such as the k-nearest
neighbor algorithm, choice tree mastering, and deep mastering”.

Fig. 5.1 Growth of Machine Learning in World Wide Use Cases

21

KERAS:
 “Keras is a deep gaining knowledge of API written in Python, walking on

pinnacle of the device gaining knowledge of platform TensorFlow. It became

evolved with a focal point on permitting speedy experimentation. Being


capable of cross from concept to end result as speedy as feasible is prime to
doing excellent research”.
Keras is:
 Simple – “However now no longer simplistic. Keras reduces developer
cognitive load to unfastened you to attention at the elements of the hassle that
in reality matter”.
 Flexible – “Keras adopts the precept of innovative disclosure of complexity:

easy workflows have to be short and easy, at the same time as arbitrarily
superior workflows have to be feasible through a clean route thatbuilds upon
what you've got already learned”.
 Powerful – “Keras offers industry-electricity overall performance and

scalability: it's far utilized by businesses and corporations along with NASA,
YouTube, or Waymo”.


TENSORFLOW:
 “TensorFlow is an open-supply library evolved through Google normally for

deep studying applications. It additionally helps conventional gadget studying.

TensorFlow changed into firstly evolved for big numerical computations

without maintaining deep studying in mind. However, itproved to be very

beneficial for deep studying improvement as well, and consequently Google

open-sourced it”.

 TensorFlow accepts “statistics withinside the shape of multi-dimensional

arrays of better dimensions known as tensors. Multi-dimensional arrays are


very reachable in coping with massive quantities of statistics”.
 TensorFlow works on the premise of facts glide graphs which have nodes and

edges. “As the execution mechanism is withinside the shape of graphs, it's far
22
a good deal less complicated to execute TensorFlow code in a

23
disbursed way throughout a cluster of computer systems whilst the use of
GPUs”.

 FEATURES OF TENSORFLOW:

Fig. 5.2 Features of TensorFlow

 TensorFlow provides both C++ and Python APIs: “Before libraries were

developed, the coding mechanism for machine learning and deep learning was
much more complex. This library provides a high-level API and does not
require writing complex code for neural network preparation, neural
configuration, or neural programming. The library accomplishes all these
tasks. TensorFlow also has integration with Java and R”.
 TensorFlow supports both CPU and GPU computing devices: “Deep

learning applications are complex, with computationally intensive training.


This is time consuming due to the large data size and involves repetitive
procedures, mathematical calculations, matrix multiplication, etc. If you
perform these operations on a normal central processing unit (CPU), it usually
takes longer”. “Graphics processing units (GPUs) are common in game
settings where you need high resolution screens and images. However, they
are also used to develop deep learning applications. One of the main
advantages of TensorFlow is that it supports GPUs, as well as

24
25
CPUs. It also has faster compile times than other deep learning libraries,
like Keras and Torch”.

 Workability: - TensorFlow provides the resolution of complex topologies

with support for the Keras API and data input pipelines. “Keras provides
easy prototyping and is best suited for object-oriented neural networks.
TensorFlow facilitates machine learning using these features. It allows
usersto create and manipulate the system to generate different types of
models inreal time”.

 Growable: - “It makes it possible to forecast the number of stocks, products,

etc. se training using the same models and different datasets. It also allows
synchronous and asynchronous input and learning techniques. The graphical
approach ensures distributed execution parallelism”.

 Correcting: - “It allows you to reflect each node, i.e. individual activity in

relation to its rating. Tensor Board works with graphs to visualize how it
works using its dashboard. It provides graphical computation methods that
support an easy-to-implement model”.

 Easily accessible: - “We can run TensorFlow applications on various


platforms like Android, Cloud, IOS and various architectures like CPU and
GPU. This allows it to run on a variety of embedded platforms”.

TensorFlow has its own hardware designed to train neural models calledCloud
TPU (TensorFlow Processing Unit).

26
CHAPTER 6: SOFTWARES USED

JUPYTER NOTEBOOK
It is a web interface that allows rapid prototyping and sharing of data-related projects.
It works with many kernels (this is the name given to the code environmentin which it
can run) including but not limited to Python and R (although it is more well-known
and suitable for Python). It was formerly known as IPython Notebook, but it was
renamed and moved to the Jupyter project. Jupyter is an open-source project that aims
to create a better working experience for (data) scientists.

Unique features:
 Supports all imports and exports
 Great for sharing and collaborative work
 Supports variety of data types within the same window such as text, code,
graphs, videos, pictures
 Great for Visualizations

 Enables parallel computing


 Presentation feature in the Jupyter and ipython notebook where you can make

the presentation directly from your notebook. One such extension is “RISE”.

VISUAL STUDIO CODE


 “Visual Studio Code combines the simplicity of a source code editor with

powerful development tools, like IntelliSense debugging and code


completion”.
 “Above all, it's a backward-bending editor. The exciting frictionless

editbuilddebug cycle means less time messing with your environment and
more time implementing your ideas. Essentially, Visual Studio Code has a
lightning-fast source code editor that's perfect for everyday use. Withsupport
for hundreds of languages, VS Code helps you get productive in no time with
syntax highlighting, bracket matching, auto-indent, check boxes,

27
28
snippets, and more. Intuitive, easily customizable hotkeys, and community-
contributed hotkey mapping let you easily navigate your code”.

KAGGLE
 Kaggle is an Airbnb for data scientists where they spend nights and weekends.

“It is a community platform to engage, nurture, train and challenge data


scientists from around the world to solve problems in data science, machine
learning, and data science. predictive analytics. It has more than 536,000
active members from 194 countries and receives almost 150,000 submissions
per month. Started in Melbourne, Australia, Kaggle moved to Silicon Valley
in 2011, raising around $11 million from Hal Varian (Chief Economist at
Google), Max Levchin (Paypal), Index and Khosla Ventures, then eventually
was acquired by Google in March 2017”.

 Kaggle allows data scientists and other developers to participate in machine

learning competitions, write and share code, and host datasets.

 Various sources announce projects on this pioneering platform. “While some

are purely for educational purposes and fun brain exercises, others are real
problems companies are trying to solve. Kaggle makes the environment
competitive by giving prizes and leaderboards to winners and participants.
Prizes are not just money, but can also include attractive rewards such as free
jobs or products from the company running the contest. Monetary prizes are
interesting to most Kagglers. For example, Home Depot has offered a $40,000
prize to research an algorithm that improves search results on
homedepot.com. For most data science enthusiasts, this innovative website is
not only a monetary resource, but it is also an indispensable learning tool to
enhance experience, accumulate knowledge. knowledge, sharpen and improve
skills, and learn from mistakes by resending code. It's the perfect foundation
to practice consistently”.

29
CHAPTER 7: PROCESS FLOW AND IMPLEMENTATION

Process flow and Implementation of our project are as follows:


o
DATA COLLECTION:

Data collection is one of the main and most important tasks of any
machine learning project. “Because the input we give the algorithms is
data. Therefore, the efficiency and accuracy of the algorithms depends
on the accuracy and quality of the collected data. Thus, thedata will be
identical to the output. In order to predict a student's career, many
parameters are needed, such as student performance in different
subjects, majors, programming and analytical abilities, memory,
personal details. Personalities like relationships, hobbies, sports,
contests, hackathons, seminars, certificates, interest books and more.
Since all of these factors play an important role in a student's progress
toward a career field, they are all taken into consideration”. Data is
collected in a number of ways. Some data iscollected from employees
working in different organizations, somedata is collected through the
LinkedIn API, some data is random.

o
DATA PRE-PROCESSING:

Collecting data is one thing, and making it useful is another. “Data
collected from a variety of media will be in an unorganized format and
may contain many nulls, invalid data values, and unexpected data.
Cleaning all this data and replacing it with appropriate or approximate
data, removing blank and missing data, and replacing it with fixed
replacement values are the basic steps of data preprocessing. Even
collected data can contain completely useless values. It may not be in
the correct format or the way it should be. All of these cases need to be
checked and replaced with surrogate values for the data to be
meaningful and useful for further processing. Data should be kept in
an organized format”.

30
31
o
APPLICATION OF ALGORITHMS:

The next step is to apply algorithms to the data and record and observe
the results. “Algorithms are applied as mentioned in the diagram to
improve accuracy at each step”.

o
TRAINING AND TESTING:

“Finally, after data processing and training, the next task is obviously
testing. This is where algorithm performance, data quality, and
required outputs are displayed. From the huge data set collected, 80%
of the data is used for training and 20% of the data is used for testing.
Training, as we saw earlier, is for the machine to learn and give it the
ability to make deeper predictions based on the training it has
performed. Whereas, test means there is a predefineddata set with the
output also labeled before and the model is tested whether it performs
well and gives correct prediction. If the maximum number of
predictions is correct, the model will have a good and reliable
percentage of accuracy to continue, if not, it is better to change the
prototype”.

o
SOURCE CODE:

MAIN FILE CODE: Our main file code name is model.py and
drowsiness.py which contain code which work when image of a frame
is extracted from live feed from camera and our model will predict
score based on eyes open or close.

32
Fig. 7.1 Part 1 Source code of our model.py file

Fig. 7.2 Part 2 source code of our model.py file

33
Fig. 7.3 Part 1 code of drowsiness.py file

Fig. 7.4 Part 2 code of drowsiness.py file

34
Fig. 7.5 Part 3 code of drowsiness.py file

35
CHAPTER 8 :CONCLUSION

Research Statement:
This research aims to advance the understanding and effectiveness of driver drowsiness
detection technologies. Investigating the limitations, individual variability, and
environmental factors, the study seeks to propose innovative solutions for accurate and
reliable drowsiness detection, contributing to the improvement of road safety and the
development of future driver-assistance systems.

Implications:
The implications of driver drowsiness detection are profound, influencing both
individualsafety and broader societal concerns. By alerting drivers to potential fatigue,
these systems have the capacity to prevent accidents and save lives. However, false
positives and negatives pose challenges, impacting user trust and system effectiveness.
Moreover, the ethical handling of personal data raises privacy concerns. Implementing
these technologies on a larger scale requires collaboration with healthcare
professionals,adherence to global standards, and ongoing research to enhance accuracy.
Despite these challenges, the potential reduction in road accidents underscores the
transformative impact of drowsiness detection on overall road safety.

Limitations:
False Positives and Negatives:

False Positives: Detection systems may sometimes incorrectly identify a driver as


drowsywhen they are not, leading to unnecessary alerts or interventions. This can result
from factors such as temporary fatigue or external conditions affecting sensor accuracy.

False Negatives: On the other hand, the system may fail to detect actual drowsiness in
some cases, especially if the driver exhibits subtle signs or if the system's algorithms
arenot sensitive enough.

Individual Variability:

Drowsiness detection systems may not account for the significant individual variability
in how people express drowsiness. Some drivers may exhibit unique patterns of
behavioror physiological changes that the system may not accurately interpret.
Cost and Accessibility:

High costs associated with advanced drowsiness detection technologies may limit their
widespread adoption, particularly in older vehicles or in regions with limited resources.
This could create disparities in road safety features across different demographics.

26
Suggest Future Research:
Future applications for the Raspberry Pi 3 could include an infrared camera, speaker,
microphone, and several sensors to help prevent accidents brought on by drivers'
vertigo.In the future, we can also construct a system that is connected to a smartphone
app to monitor the reaction rate in real time. Additionally, the use of driverless cars by
numerousautomakers has reduced accidents at an exponential rate. India has more roads
and trafficthan any other country, therefore it will take time for driverless cars to be
used here.
Innovative Sensor Technologies: The future of driver drowsiness detection lies in the
development of advanced sensor technologies. Miniaturized and non-intrusive sensors
embedded within steering wheels, seats, and dashboards could continuously monitor
physiological indicators such as heart rate variability, eye movement patterns, and
facial expressions. These sensors would provide a more comprehensive and real-time
assessment of a driver's condition.
AI/ML Integration: AI and machine learning (ML) will play a pivotal role in the
evolution of drowsiness detection systems. Advanced algorithms will be capable of
learning individual driver patterns and adapting to various driving conditions. The
integration of deep learning models could enhance the accuracy of drowsiness
prediction by analyzing complex datasets, including biometric information, driving
behavior, and environmental factors.

Multimodal Approaches: Future systems may adopt multimodal approaches,


combining data from different sources to create a more robust detection system.
Integration of visual, auditory, and haptic feedback mechanisms could provide a multi-
sensory alert system, ensuring that drivers are promptly notified of their drowsy state.
This holistic approach could significantly improve the effectiveness of drowsiness
detection.
Responsive Vehicle Technologies: Drowsiness detection systems of the future could
interface directly with vehicle control systems. Smart vehicles may incorporate
adaptive technologies that respond to detected drowsiness by adjusting driving
conditions, such as suggesting breaks, altering seat positions, or even implementing
semi-autonomous driving features for a limited duration until the driver is more alert.
Human-Machine Interaction Studies: Research in human-machine interaction will be
essential for refining drowsiness detection systems. Understanding how drivers respond
to alerts and interventions is crucial for designing non-intrusive and effective systems.
Human factors research can contribute to the development of intuitive interfaces that
promote positive interactions between the driver and the drowsiness detection system

27
1

BOOKWORM

A project report submitted to


Rajiv Gandhi Proudyogiki Vishwavidhyalaya, Bhopal
in partial fulfillment for the award of
the degree of
Bachelor of Engineering
in
Computer Science & Engineering

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

SUSHILA DEVI BANSAL COLLEGE OF TECHNOLOGY


INDORE- 453331
2023 - 2024
2
BOOK WORM

A project report submitted to


Rajiv Gandhi Proudyogiki Vishwavidhyalaya, Bhopal
in partial fulfillment for the award of
the degree of
Bachelor of Engineering
in
Computer Science & Engineering

PROJECT GUIDE SUBMITTED BY


PUSHPENDRA SOLANKI(0829CS201132)
BHAVESH YOGI(0829CS201043)
ARCHANA YADAV(0829CS201033)

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

SUSHILA DEVI BANSAL COLLEGE OF


TECHNOLOGY INDORE- 453331
2023 - 2024
3

ACKNOWLEDGEMENT

I started this project as a part of my course minor project. It gives me great pleasure to
present the report of this project work conducted towards the fulfillment of the project
titled “BOOK WORM”

I take this opportunity to thank those who have made the efforts in success of the
project. I extend my special gratitude towards Dr. PS Chouhan Director of SD
Bansal College Indore, Ms. Shraddha Kumar Head of the Department of Computer
Science and lecturer Prof. Manisha Kadam who has been a constant source of
motivation, encouragement, and guidance that has gone a long way in helping the
completion of this project. I express my warm wishes to the entire staff members for
their assistance and kind guidance who helped me out of all my queries. I also heartily
thankful to all my friends and “Live Life” for providing me all the useful requirements
that were needed by me for the completion of project.

BHAVESH YOGI (0829CS201043)


ARCHANA YADAV (0829CS201033)
PUSHPENDRA SOLANKI (0829CS201132)
4

SUSHILA DEVI BANSAL COLLEGE OF TECHNOLOGY


INDORE, 453331

CERTIFICATE

This is to certify that Pushpendra Solanki(0829CS201132), Bhavesh

Yogi(0829CS201043), Archana Yadav(0829CS201033) have completed their project

work, titled “BOOKWORM” as per the syllabus and have submitted a satisfactory

report on this project as a part of fulfillment towards the degree of “BOOK WORM”

(Computer Science & Engineering) from RAJIV GANDHI PROUDYOGIKI

VISHWAVIDHYALAYA, BHOPAL.

HEAD OF THE DEPARTMENT PROJECT GUIDE

DIRECTOR
5

SUSHILA DEVI BANSAL COLLEGE OF TECHNOLOGY


INDORE, 453331

CERTIFICATE

This is to certify that Pushpendra Solanki(0829CS201132), Bhavesh Yogi

(0829CS201043) and Archana Yadav (0829CS201033) have completed their project

work, titled “BOOK WORM(A Full Stack Website)” as per the syllabus and have

submitted a satisfactory report on this project as a part of fulfillment towards the

degree of “BACHELOR OF ENGINEERING” (Computer Science &

Engineering) from RAJIV GANDHI PROUDYOGIKI VISHWAVIDHYALAYA,

BHOPAL.

INTERNAL EXAMINER EXTERNAL EXAMINER


6

TABLE OF CONTENTS

CHAPTER TITLE PAGE NO.

ABSTRACT i

1. Introduction 1

1.1. Purpose 1
1.2. Scope 2
1.3. Problem in existing system 2
1.4. Statement of Problem 3

2. System Requirement Analysis

2.1 Introduction

2.1.1 Purpose
2.1.2 Document Conventions
2.1.3 Intended Audience and Reading Suggestions
2.1.4 Product Scope
2.1.5 References of SRS

2.2 Overall Description

2.2.1 Product Perspective


2.2.2 Product Functions
2.2.3 User Classes and Characteristics
2.2.4 Operating Environment
2.2.5 Design and Implementation Constraints
2.2.6 User Documentation
2.2.7 Assumptions and Dependencies

2.3 External Interface Requirements


2.3.1 User Interfaces
2.3.2 Hardware Interfaces
2.3.3 Software Interfaces
2.3.4 Communications Interfaces

2.4 Functional Requirement


2 4.1 System Feature 1
2.4.2 System Feature 2 (and so on)

2.5 Nonfunctional Requirements


7
2.5.1 Performance Requirements
2.5.2 Safety Requirements
2.5.3 Security Requirements
2.5.4 Software Quality Attributes
2.6 Project Plan

2.6.1 Team Members


2.6.2 Division of Work
2.6.3 Time Schedule

3. Analysis 19

3.1 Methodology Used


3.2 Use Case Diagrams
3.3 Activity Diagram
3.4 Sequence Diagram
3.5 Class Diagram

4. Design 23
4.1 Architectural Design
4.1.1. System Architecture Diagram
4.1.2. Description Of Architectural Design
4.2 Database Design
4.2.1. Normalization
4.3 Interface Design
4.3.1. Screenshots

5. Implementation 26

5.1 Language and database system used for the implementation


5.2 Features of language and database used for the project
5.3 Description of third-party tools used

6. Conclusion 28

7. Reference 29
8

ABSTRACT

BookWorm is a comprehensive multi-vendor book store application designed and


developed using Python Django for the backend, React for the frontend, and Tailwind
CSS for styling. The application is fully responsive, boasting a user-friendly interface,
and is divided into three distinct modules: seller, buyer, and admin.

Sellers, acting as vendors, are empowered to add books to the platform but are
required to submit a request for seller status, subject to approval, denial, or rejection
by the admin. The admin possesses comprehensive database access via a user
interface, allowing oversight of registered user details, seller requests, and available
books.

Sellers have complete control over their listings, including the ability to add, delete,
and manage their books. Buyers enjoy full purchasing capabilities, including adding
items to their cart, creating wishlists, and utilizing a seamless checkout process
facilitated by the Razorpay API. Dynamic counting functionality enables real-time
updates to the total cost of items in the cart.

Additionally, a wishlist feature allows users to save desired items for future purchase.
The order summary page provides a comprehensive overview of past purchases,
organized in stack form, with each order capable of containing multiple books.

Security measures are robust, with JWT token implementation safeguarding against
unauthorized access. Unauthenticated users are restricted to read-only access, unable
to utilize cart, wishlist, or checkout functionalities. URL navigation security further
fortifies the platform, ensuring that unauthorized access to private pages, such as the
admin or seller dashboard, is prevented.

Overall, BookWorm delivers a secure, production-ready application that seamlessly


integrates vendor, buyer, and admin functionalities within an intuitive and responsive
user interface.
9

Introduction

1.1 Purpose of the project

The "Book Worm" e-commerce platform is dedicated to simplifying the process of


buying and selling books online, focusing on enhancing the experience for both users
and sellers. For users, our goal is to make book discovery and purchasing effortless by
providing personalized recommendations and efficient search functionalities. Our
user-friendly interface ensures easy navigation for all, even those less familiar with
online shopping.

On the seller side, we aim to streamline the management of online storefronts. Sellers
are equipped with intuitive tools to efficiently manage inventory, process orders, and
track sales. With "Book Worm," sellers can focus on sharing their passion for books
without being bogged down by complexities. Join us as we redefine the online book-
buying and selling experience. Welcome to "Book Worm"—where every page holds a
new adventure, and every reader finds their story.

1.2 Scope

The scope of the book worm e-commerce website project encompasses the
development of a user-friendly online platform aimed at facilitating book buying and
selling for all users. This includes designing and implementing an intuitive user
interface (UI) with features such as personalized book recommendations, advanced
search functionalities, and seamless checkout processes, ensuring ease of use for both
buyers and sellers. Additionally, the project involves developing robust backend
systems to support essential functions like user authentication, inventory
management, order processing, and payment integration, while prioritizing optimal
performance and scalability. Security measures will be implemented to safeguard user
data and transactions, adhering to relevant regulations. Out of scope items include
physical shipment logistics, extensive third-party integrations, and device
customization. The project scope remains adaptable to accommodate stakeholder
feedback and evolving business needs.
10

1.3 Problem in existing system

In the age of digital transformation, traditional brick-and-mortar bookstores confront


significant challenges. The rise of online bookshops has transformed the way people
discover and buy books, offering a compelling alternative. Offline bookstores face
limitations such as geographical constraints, time-consuming browsing and checkout
processes, and limited shelf space. Unlike online stores, they lack 24/7 accessibility
and personalized browsing experiences.

To stay relevant, offline bookstores must modernize. Implementing online ordering


with in-store pickup options can enhance convenience. Technology such as digital
catalogs and self-checkout kiosks can replicate the ease of online shopping while
preserving the tactile experience of browsing in-store. These measures are vital to
ensure the continued relevance and vitality of offline bookstores in an increasingly
digital world.

2.1 System Requirement Analysis


2.1.1 Purpose of SRS

The purpose of a System Requirements Specification (SRS) for a Book Worm is to


provide a detailed and comprehensive description of the system's functional and non-
functional requirements. An SRS document serves as a blueprint for the system's
development, guiding the development team throughout the project's lifecycle. The
SRS document provides a clear understanding of what the system is expected to do,
how it will be used, and the constraints and limitations that must be taken into account
during development. The SRS document typically includes the following information

Functional requirements: Users can register securely with email/password and log in.
The e-commerce book store's Software Requirements Specification (SRS) outlines
functionalities: Buyers can browse, purchase, and review books; sellers manage
listings, inventory, orders, and customer inquiries; administrators oversee user
management, seller activities, order processing, analytics, and website configuration

Non-functional requirements: These describe how well the system should perform its
functions. For example, The bookworm platform should be compatible with major
web browsers (Chrome, Firefox, Safari) for seamless accessibility.
User requirements: These describe the system's functionality from the user's
perspective. For example, the system should be easy to use, with clear instructions and
feedback for the user.
11
System architecture: This describes the overall structure of the system, including the
hardware and software components, and how they interact with each other.
Assumptions and constraints: These are the assumptions made during the
development of the system and the constraints that must be taken into account.

2.1.2 Intended Audience and Reading Suggestions


The intended audience for the bookworm encompasses a diverse range of readers,
including various age groups, interests, and reading preferences. Understanding this
audience is essential for tailoring the bookstore's offerings and user experience
effectively. Reading suggestions serve to enhance this experience by providing
curated recommendations based on genres, age groups, and popular trends, ensuring
that customers find content tailored to their preferences and interests, thereby
fostering engagement, satisfaction, and loyalty.

2.1.3 Product Scope


In defining the product scope for a bookworm, it is crucial to outline the range of
goods and services offered to customers. This encompasses physical books across
various genres, including fiction, non-fiction, children's literature, and academic
texts. Additionally, the scope includes digital content such as e-books and
audiobooks, along with related merchandise like stationery and literary-themed gifts.
The product scope also encompasses the bookstore's online platform, facilitating
browsing, purchasing, and accessing digital content, and may extend to additional
services such as author events, book clubs, and personalized reading
recommendations, ensuring a comprehensive and engaging experience for customers
both online and in-store.

2.2 Overall Description


2.2.1 Product Perspective

The product perspective in a bookstore entails a comprehensive approach to


meeting customer needs and enhancing their reading experience. It encompasses
meticulous curation of a diverse selection of books across genres, formats, and age
groups, both in-store and online. This perspective also emphasizes the creation of an
inviting and user-friendly environment, whether physical or digital, for browsing
and purchasing books. Additionally, it involves the implementation of innovative
features such as personalized recommendations, author events, and book clubs to
foster community engagement and customer loyalty. Overall, the product
perspective aims to deliver a
12
seamless and enriching experience that resonates with book lovers and drives
satisfaction and continued patronage.

2.2.2 Product Functions


1. User Authentication and Management:

 Allow users to register, log in, and manage their accounts.


 Provide options for social media login to streamline registration.
 Enable account settings modification, password reset, and
profile customization.

2. Product Catalogue:

 Display a comprehensive catalog of books with titles, authors,


descriptions, prices, and cover images.
 Implement search and filter functionalities for easy navigation.
 Include categories, genres, and tags to organize books effectively.

3. Shopping Cart and Checkout:

 Enable users to add books to their shopping carts for later purchase.
 Implement a smooth and intuitive checkout process with multiple
payment options.
 Calculate shipping costs and taxes dynamically based on user location
and purchase details.
 Provide order summary and confirmation before finalizing the purchase.

4. Order Management:

 Allow users to view their order history, track shipments, and manage returns.
 Provide notifications for order status updates, shipping confirmations, and
delivery estimates.
 Enable administrators to manage orders, process payments, and
handle customer inquiries.

5. Recommendation Engine:

Implement a recommendation system based on user preferences, browsing


history, and purchase behavior.
13

2.2.3 User Classes and Characteristics

The book worm caters to three main user classes: buyers, sellers, and administrators.
Buyers browse, purchase, and review books, while sellers manage listings, inventory,
and orders. Administrators oversee user management, order processing, and website
configuration. The store's characteristics include a diverse product range, user-friendly
interface, secure transactions, responsive customer support, dynamic inventory
management, and engaging content and promotions, ensuring a seamless and
satisfying shopping experience for all users.

2.2.4 Operating Environment

The operating environment for a face recognition attendance system includes the
hardware, software, and network infrastructure required to operate the system
effectively. The system should be compatible with a range of hardware devices, such
as cameras and mobile devices, and should be able to function in various lighting
conditions.
The software environment should support the system's operating system and
programming languages. It should be scalable to handle a large volume of images and
data and should be capable of integrating with other software applications, such as HR
and payroll systems.
The network infrastructure should provide sufficient bandwidth to support the transfer
of image data and ensure that data is secure during transmission. Additionally, the
system should have appropriate cybersecurity measures, such as encryption and multi-
factor authentication, to protect employee data and prevent unauthorized access.

2.3 External Interface Requirements

2.3.1 User Interfaces

The book worm’s user interface (UI) presents an intuitive and visually appealing
platform that facilitates seamless navigation for users. Featuring a clean design, the UI
offers easy access to book categories, search functionalities, and personalized
recommendations. It incorporates interactive elements such as book previews,
reviews, and ratings to aid users in their purchasing decisions. With a responsive
layout optimized for various devices, the UI ensures a consistent and engaging
experience across desktops, tablets, and smartphones, enhancing user satisfaction and
driving conversions through its user-friendly design and seamless browsing
experience. For administrators, the interface should provide access to system settings,
14
user management, and data management. The interface should be straightforward,
allowing administrators to manage the system with ease.

2.3.2 Hardware Interface


The hardware interface of the book worm primarily involves the server infrastructure
and client devices used to access the platform. The server infrastructure comprises
web servers, database servers, and possibly load balancers to handle incoming
requests from users. These servers are equipped with adequate processing power,
storage capacity, and network connectivity to ensure smooth operation and timely
responses to user interactions. Client devices, including desktop computers, laptops,
tablets, and smartphones, interact with the book store via web browsers or mobile
applications. The hardware components of these devices, such as processors,
memory, displays, and network adapters, collectively contribute to delivering the
book store's user interface and functionalities to end-users. Additionally, peripherals
such as printers or barcode scanners may be integrated into the hardware interface for
administrative tasks such as order processing or inventory management. Overall, the
hardware interface of the book worm forms the foundation for facilitating
communication between users and the system, ensuring reliability, scalability, and
optimal performance.

2.3.3 Software Interface


The software interface of the book worm comprises communication protocols, APIs,
and middleware facilitating data exchange. Web development frameworks create
responsive user interfaces across devices. Payment gateways and shipping APIs
enable secure transactions and order fulfilment . Database management systems
handle book listings, user information, and transactions. Content management
systems allow administrators to update website content and manage promotions.
Analytics tools provide insights into user behaviour and sales performance.
Integration with third-party services enhances functionality and reach.

2.3.4 Communication Interface


The communication interface of the book worm facilitates interactions between
various system components and external entities. It employs HTTP/HTTPS protocols
for client-server communication, ensuring secure data exchange. RESTful APIs
enable seamless integration with external services, enabling features such as payment
processing and shipping. WebSocket technology enables real-time communication for
features like chat support or live updates. Email protocols handle transactional and
notification emails to users. SMS gateways may be utilized for sending order updates
or promotional messages. OAuth protocols enable secure authentication and
authorization for third-party integrations.
15
2.4 Functional Requirement

 Browsing and Searching for Books:

 Users should be able to browse through the available books by


categories, genres, and authors.
 A search functionality should allow users to find specific books by title
or author name.

 Adding Items to a Shopping Cart:

 Users should have the ability to add desired books to a virtual shopping cart
for later purchase.

 Processing Payments Securely:

 The system should support secure payment processing methods, ensuring


the confidentiality of user financial information.
 Users should be able to complete transactions using various payment
options like credit/debit cards, PayPal, or other electronic payment systems.

 Managing User Accounts:

 Users should be able to create accounts, log in, and manage their personal
information.
 Account management functionalities should include features like
password reset, profile editing, and account deletion.

 Tracking Orders:

 Users should have the ability to track the status of their orders, including
order confirmation, shipment tracking, and delivery notifications.

 Providing Customer Support:

 The system should offer channels for users to seek assistance, including
FAQs, email support, live chat, or a customer service hotline.

 Facilitating Interactions Between Users:

 Buyers should be able to communicate with sellers regarding product


inquiries, shipping details, or other concerns.
16
 Administrators should be able to mediate disputes and provide assistance
as needed.

 Inventory Management for Sellers:

 Sellers should have tools to manage their inventory, including adding


new books, updating quantities, and marking items as in or out of stock.

 Review Systems for Buyers:

 Users should be able to leave reviews and ratings for books they
have purchased, contributing to the overall feedback system.

 Administrative Tools for Oversight:

 Administrators should have access to tools for managing user accounts,


monitoring transactions, analyzing sales data, and configuring website
settings

2.5 Nonfunctional Requirements

2.5.1 Performance requirements


Performance analysis in the non-functional requirements of a book worm entails
evaluating the system's responsiveness, throughput, scalability, and resource
utilization. This involves defining maximum acceptable response times for user
interactions, assessing the system's ability to handle concurrent users and transactions,
and specifying benchmarks for scalability and resource management. Load testing,
stress testing, and performance monitoring are essential components of performance
analysis, helping identify bottlenecks, assess system resilience, and optimize resource
allocation to ensure optimal system performance under varying conditions. By
defining clear performance analysis requirements, the book worm can deliver a fast,
reliable, and scalable system that meets user expectations and supports business
growth effectively.

Performance analysis involves setting up testing scenarios to simulate realistic loads


and stress conditions, evaluating the system's ability to handle peak loads and sudden
spikes in traffic. Continuous monitoring tools are employed to detect performance
issues in real-time, ensuring the system remains robust and responsive. By conducting
rigorous testing and monitoring, the book worm can optimize performance, enhance
user satisfaction, and drive business success.
17
2.5.2 Availability Requirements
The digital platform (website, mobile app) shall be available to users 24/7, except
during scheduled maintenance windows communicated in advance.

 The system uptime target shall be 99.9% on an annual basis,


calculated excluding planned maintenance periods.
 In case of unexpected downtime, the system should aim to restore
functionality within 30 minutes of detection during peak hours and within one
hour during off-peak hours.
 Redundancy measures, such as load balancing and failover mechanisms,
shall be implemented to ensure continuous service availability even in the
event of hardware or software failures.
 The system shall be designed with scalability in mind to
accommodate fluctuations in user traffic without compromising
availability.
 Regular monitoring and proactive performance management shall be
conducted to identify potential issues and ensure timely interventions to
maintain system availability.
 Disaster recovery procedures shall be established and tested regularly to
minimize downtime in the event of catastrophic failures or natural
disasters.
 Customer-facing communication channels shall be available for inquiries and
support requests during all operational hours, providing real-time assistance in
case of service disruptions.

2.6 Project Plan


2.6.1 Project Members

1. BHAVESH YOGI (0829CS201043)


2. ARCHANA YADAV( 0829CS201033)
3. PUSHPENDRA SOLANKI (0829CS201132)

2.6.2 Division of Work

The division of work for the BOOK WORM attendance system is as follows:

1. Bhavesh Yogi– Bhavesh Yogi plays a pivotal role in the development team as a
backend developer for the bookworm system and the tech stack used is Python Django
for backend. He is primarily responsible for designing, implementing, and maintaining
the backend components of the software, including databases, servers, and APIs.
Bhavesh ensures the seamless integration of frontend and backend functionalities,
18
optimizing system performance, scalability, and security. His expertise in backend
technologies and frameworks contributes to the robustness and reliability of the
bookstore's digital platform, ultimately enhancing the user experience and facilitating
smooth operation of the system

2. Archana Yadav- Archana Yadav is a highly proficient front-end developer,


specializing in React, who plays a crucial role in shaping the Bookworm system. With
her expertise, she meticulously crafts dynamic user interfaces that are not only
visually appealing but also highly functional. Archana adeptly translates intricate
design mockups into reusable components using React.js and Tailwind CSS, ensuring
optimal performance, responsiveness, and scalability of the platform.One of
Archana's key strengths lies in her ability to collaborate closely with designers,
effectively implementing design specifications to achieve a seamless fusion of
aesthetics and functionality.This collaborative approach results in a user-friendly
digital platform that offers an enhanced browsing experience for bookstore customers.
Archana's dedication to excellence and innovative thinking continuously drives the
front-end development efforts, positioning the Bookworm system as a leader in the
ever- evolving e-commerce landscape.

3. Pushpendra Solanki - Database: Pushpendra's role in the book worm project


primarily revolves around database management and administration used postgreSQL.
As a database specialist, Pushpendra is responsible for designing, implementing, and
maintaining the database infrastructure, ensuring optimal performance, scalability,
and security. This includes defining database schemas, setting up relationships
between tables, optimizing queries for efficiency, and implementing backup and
recovery strategies. Pushpendra collaborates closely with the development team to
ensure that database requirements align with the application's functionality and
business objectives. Additionally, Pushpendra plays a crucial role in monitoring
database performance, identifying and resolving issues, and implementing best
practices for data integrity and reliability. Through meticulous database management,
Pushpendra contributes to the overall stability, performance, and success of the book
worm application
19
Analysis

3.1 Methodology Used


The development of the software for the bookworm follows an Agile methodology,
known for its flexibility and iterative approach. Initially, the project undergoes
comprehensive planning, where overarching goals and requirements are defined and
broken down into manageable tasks or user stories. These tasks are then tackled in
short, time-boxed iterations called sprints, typically lasting 1-4 weeks, during which
the team focuses on delivering prioritized features.

Daily stand-up meetings are conducted to ensure clear communication and


collaboration among team members, discussing progress, obstacles, and plans for the
day. Continuous integration and testing are integral parts of the process, with
developers frequently integrating their code to maintain software quality, and
automated tests run continuously to identify and rectify any issues promptly.

Each sprint culminates in a review meeting where stakeholders provide feedback,


guiding subsequent iterations. The Agile approach facilitates incremental delivery,
allowing stakeholders to witness progress early and offer insights for further
enhancements. After each sprint, retrospective meetings are held to reflect on
successes and areas for improvement, ensuring continuous refinement and adaptation
throughout the development process. This iterative and collaborative methodology
enables the team to deliver a high-quality software solution that aligns closely with
the evolving needs of the bookstore and its customers.

In addition to its iterative nature, the Agile methodology promotes a customer-centric


approach, ensuring that the software developed for the bookworm aligns closely with
user needs and preferences. Stakeholder feedback is continuously sought and
incorporated into the development process, allowing for adjustments and refinements
to be made iteratively. This customer feedback loop fosters a deeper understanding of
user requirements and enables the team to prioritize features that provide the most
value to customers. By prioritizing customer satisfaction and engagement throughout
the development lifecycle, the Agile methodology empowers the team to deliver a
bookstore software solution that is not only functional and reliable but also delights its
users with an intuitive and user-friendly experience.
20
3.2 Use Case Diagrams
21

3.3 Activity Diagram


22
23

3.4 Sequence Diagram


24

3.5 Class Diagram


25
Design

4.1Architectural Design
26

4.2 Interface Design


27
28
29
30
Implementation

5.1 Language and database system used for the implementation


The project is a multi-vendor bookworm application developed using Python Django
for the backend, React for the frontend with Tailwind CSS for styling. It includes
three main modules - Seller, Buyer, and Admin. Sellers can request approval to add
and manage books, Buyers can browse, add to cart, wishlist, and checkout books,
while Admin manages user registrations, seller requests, and database access. Security
measures include JWT token-based authentication, restricted functionality for
unauthorized users, and URL navigation security. Deployment is on AWS using EC2,
S3, and RDS. Database tables include User, Seller, Request, Reviews, Book, Cart,
Wishlist, Order, and intermediary tables like OrderElement for many-to-many
relationships.

5.2 Features of language and database used for the project


The project leverages Python with Django for the backend, which offers robust
web development features including ORM for database interactions, built-in
security measures, and easy API development through Django REST Framework.
React is employed for the frontend, providing a component-based architecture for
building dynamic user interfaces efficiently. Tailwind CSS is utilized for styling,
offering utility-first CSS classes for rapid development and easy customization.

In terms of the database, PostgreSQL is chosen for its reliability, scalability, and
support for complex data types and queries. PostgreSQL's robust features include
ACID compliance, support for JSON data types, and extensibility through custom
functions and extensions. These technologies collectively enable the creation of a
secure, scalable, and feature-rich multi-vendor bookstore application.

5.3 Description of third-party tools used


1. Razorpay API: Integrated for payment processing, allowing seamless
checkout experiences for buyers with secure transactions.
2. AWS (Amazon Web Services): Employed for deployment, utilizing EC2 for
backend hosting, S3 for frontend assets hosting, and RDS for PostgreSQL
database hosting. AWS provides scalable and reliable infrastructure services
for hosting web applications.
31
Conclusion
In conclusion, the "Book Worm" project aims to revolutionize the book-buying and
selling experience by providing a comprehensive e-commerce platform tailored
specifically for the literary community. By catering to the needs of sellers, buyers, and
administrators, the system ensures a seamless and secure environment for transactions
and interactions.

For sellers, the platform offers a global marketplace to showcase their books, manage
inventory efficiently, and optimize sales strategies through insightful analytics tools.
This empowers sellers to reach a wider audience and maximize their sales potential.

Buyers benefit from the platform's extensive catalog, personalized recommendations,


and convenient shopping experience, enabling them to explore, discover, and purchase
books with ease from anywhere, anytime. Moreover, the interactive community aspect
fosters engagement, enabling buyers to connect with sellers, share feedback, and
enrich their reading experiences.

With robust user authentication, product management, order processing, payment


integration, and administrative functionalities, the "Book Worm" system ensures
smooth operation and security for all users. Administrators play a crucial role in
overseeing the platform, moderating content, and ensuring compliance with policies
and regulations.

Reference
The project draws upon a variety of resources to achieve its objectives. These include
official documentation from Django, React, Tailwind CSS, and PostgreSQL, which
served as foundational references for backend, frontend, styling, and database
management respectively. Additionally, tutorials and guides from online platforms
like Medium and YouTube provided step-by-step instructions for implementing
specific features. Books such as "Django for Beginners" and "Learning React" offered
deeper insights into these technologies. Official documentation from third-party tools
like Razorpay and AWS guided integration for payment processing and deployment
on cloud infrastructure. Furthermore, engagement with online communities like Stack
Overflow and Reddit facilitated problem-solving and knowledge-sharing throughout
the development process. These diverse resources collectively contributed to the
project's successful implementation and served as valuable references for its
documentation.

You might also like