Bookshop Management System
Bookshop Management System
Bookshop Management System
ZAINALABEDIN A. H. BARAKA
mengaku membenarkan tesis Projek Sarjana Muda ini disimpan di Perpustakaan Universiti
Teknikal Malaysia Melaka dengan syarat-syarat kegunaan seperti berikut:
CATATAN: * Jika tesis ini SULIT atau TERHAD, sila lampirkan surat daripada pihak
berkuasa.
i
ZAINALABEDIN A. H. BARAKA
2020
ii
DECLARATION
Chapter 1:
Chapter 2:
Chapter 3:
Chapter 4:
Chapter 5: I hereby declare that this project report entitled
Chapter 7: is written by me and is my own effort and that no part has been plagiarized
Chapter 9:
Chapter 22: this project report is sufficient in term of the scope and quality for the
award of
DEDICATION
ACKNOWLEDGEMENTS
[I would like to thank En. Muhammad bin Ahmad for giving assistant to complete
this project successfully…...
I would also like to thank my beloved parents who have been giving me support and
motivation throughout my project…]
v
ABSTRACT
Bookshop Management System is a tool for the bookshops that are using old
traditional ways to purchase and keep records of the books that are still available or
sold. So, by using my project the whole process of purchasing, borrowing, and
saving records will be easier.
vi
ABSTRAK
Sistem Pengurusan Kedai Buku adalah alat untuk kedai buku yang menggunakan
cara tradisional lama untuk membeli dan menyimpan rekod buku yang masih ada
atau dijual. Oleh itu, dengan menggunakan projek saya keseluruhan proses
pembelian, peminjaman, dan simpanan rekod akan lebih mudah.
vii
TABLE OF CONTENTS
PAG
E
DECLARATION............................................................................................................II
DEDICATION..............................................................................................................III
ACKNOWLEDGEMENTS..........................................................................................IV
ABSTRACT....................................................................................................................V
ABSTRAK.....................................................................................................................VI
TABLE OF CONTENTS............................................................................................VII
LIST OF TABLES........................................................................................................IX
LIST OF FIGURES........................................................................................................X
LIST OF ABBREVIATIONS......................................................................................XI
LIST OF ATTACHMENTS.......................................................................................XII
CHAPTER 1: INTRODUCTION..................................................................................1
CHAPTER 3: ANALYSIS..............................................................................................5
CHAPTER 4: DESIGN...................................................................................................7
CHAPTER 5: IMPLEMENTATION............................................................................9
CHAPTER 6: TESTING..............................................................................................11
7.1 Wrap-Up.............................................................................................................12
REFERENCES..............................................................................................................13
ix
LIST OF TABLES
PAG
E
LIST OF FIGURES
PAG
E
LIST OF ABBREVIATIONS
LIST OF ATTACHMENTS
PAGE
o Some users are not comfortable with using the other systems
o It is not clear or not good for the background of the bookshop systems
or scatter
1.2 Objective
1.3 Scope
Module to be developed
The project will focus primarily on the code of codeigniter php for admin
panel, html css for landing page and java to create the mobile app that will display
the menu of options.
Target User
The Bookshop Management System is what you need to ensure easy reliable way to
manage your bookshop without stressing yourself.
o Top Categories
o List of authors
o Add Comments
o User Profile
o Add to Bookmark
o Settings
4
o Share App
o Rate App
o Logout
o Beautiful UI / UX
o Easy to Reskin
o Easy to Customization
o RTL Support
o Multilanguage Support
o About Us page
o Add/Update/Delete Categories
o Add/Update/Delete Authors
o Add/Update/Delete Books
Requirements: -
1.6 Conclusion
2.1 Introduction
The valuation of literature review must have analyzing, conclusion, collecting, and
searching from all the problems faced in the right literature. The methodology of the
project gives us the needed procedures and tools that is needed to finish up our
project. This part of the report will show us what is the used process needed to
complete the project for Bookshop Management System. The facts and findings are
resolved by knowing the goals, the current states, and the available resources.
The method that I have used to gathered information from people oh how the system
should work is interview. I have asked people who buys a lot of books and go the
library what are the difficulties that they face using a manual system, and how can
we improve that and make it easier and more convenience. So, after the interviews
has been do started thinking of what can I add to my system to make as user friendly
as possible. What was common about the things that people would change is how
purchasing a book manually takes a long process since they have to look around and
find the book, which in some cases would not be available, so they have just waisted
their time, and after that they have to wait in line to buy it. A lot of people these days
might feel uncomfortable with leaving the house and interact with people. So, my
system tries to solve most of these problems by having the ability to search and find
the wanted book with in seconds without any human interaction, and people can
8
actually request a book inside my system, which from my interviews I found that this
feature would be highly appreciated by customers.
2.2.1 Domain
So, Bookshop Management System is the ICT type of system. The technology in the
application is for providing a better management and record saving system, the goal
is to strip away from the ordinary ways used in the bookstores to manage their
systems manually.
As we notice in our current time that every life trading aspect, has some sort of an
online field. So, there’s no wonder that a bookshop will also have an online field.
These are some management elements that I found online:
Human actions and responses:
We all know that humans are most likely to make mistakes and not
doing the right thing sometimes. In each process whether it is Product
Management, Maintaining Customer Records, Payment Management,
Report Generation, user has to pay attention to a greater extent while
performing the tasks.
Convenience:
The system should and must result in a much better experience for the
customers when they use it by being easy to use, understand and
9
process. So, that they will see how much of an improvement it is to use
the system instead of the manual way.
2.2.3 Technique
A different approach could be done in two stages. In the first stage, data
envelopment analysis is utilized to evaluate the comparative efficiency
of bookshops. The second stage attempts to determine what drives
efficiency by using Tobit regression. The reason that I didn’t go with
this approach is that the one that I’m using is simpler.
Every Android application is written in the Java Programming language and run on a
different instance of a virtual machine called Dalvik Virtual Machine (DVM)
contrary to the Java Virtual Machine (JVM). The Android runtime is responsible for
the memory and process management, which kills the process when the need arises
to release memory to the Android runtime. The Android runtime and the Dalvik
10
Virtual Machine sit on a Linux Kernel that interacts with the low-level hardware. A
set of APIs is then necessary to expose the underlying hardware features and
services.
3. Building, Debugging and Testing: During this stage the application can be built
into a debug gable Android package(s) that can be installed and run on an actual
Android device or the emulator.
4. Publishing: During this stage, the application is prepared for release by
configuring, building and testing it in the release mode. Thereafter, the application is
published, sold and distributed to users.
There are a specific schedules and milestones that we must follow for completing
PSM I and PSM II. The introduction, literature review and project methodology,
analysis and design are the main chapters during PSM I. The milestone for PSM I is
shown below. To assure that the requirements are is finished on the final date.
Week 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Task
2.5 Conclusion
I’ve talked about the methodology and planning of the project in this chapter.
I will outline the problem analysis, enhancements/solutions, functional and non-
functional requirements in the following section.
CHAPTER 3: ANALYSIS
3.1 Introduction
What we are going to discuss int this chapter is the process of analyzing the
development of Bookshop Management System Before a system is developed, it is
very important to analyze the system to be confident that the new system can meet
the weaknesses of the contemporary system. The problems of the current system will
be briefly detailed. Analysis of requirements will cover the data requirement topic,
which is the data that should be the input and output of the system and the data that
should be kept internally by the system. We have three sub-requirements in other
requirements that are specifications for software, hardware requirements, and
network requirements.
It’s difficult to access for this bookshop system. Most manually handled systems are
always falling into mistakes
Wasting time how use the bookshop system. If we think about it of how much time
we can save instead of queuing up to pick a book
15
Some users are not comfortable with using the other systems. Since they might find
other systems hard to process or understand
It is not clear or not good for the background of the bookshop systems or scatter
Input requirements are the requirements a user must fulfil before having the
ability to access and use the Bookshop system. A registered user can use the
application by entering the right sign-in information. After being authorized, the user
can browse through the collection of books.
Update
16
Output requirements makes sure that the application is able to call the PayPal
API server to complete the final process of the purchase.
This part shows and explain different requirements that are accomplished by
the Bookshop system. If we want to accomplish the wanted goal of this project, the
functional requirements must be met.
DFD Level 0: A level 0 data flow diagram (DFD), also known as a context diagram,
shows a data system as a whole and emphasizes the way it interacts with external
entities. This DFD level 0 example shows how such a system might function within a
typical retail business.
DFD Level 1: A level 1 data flow diagram (DFD) is more detailed than a level 0
DFD but not as detailed as a level 2 DFD. It breaks down the main processes into
subprocesses that can then be analyzed and improved on a more intimate level. You
can edit this DFD level 1 template with a free Lucidchart account.
18
- Usability factors
Software requirement: The Bookshop project, much like other projects, needs well
defined specifications that must meet the software environments needed to achieve
the desired goal of the project.
Hardware requirement: In the process of building this application, some specific
hardware requirements and specifications are considered in order for the application
to be functional and result oriented. This application is built for Android-based
phones and tablets.
3.3.5 Conclusion
This part explains the process of the present system issue assessment, information
requirement, functional requirement, non-functional requirement, and other
specifications. Problem analysis is tested for the present system and there is a chance
to locate the request for a brand-new system to be built. The data requirement is to
locate the data needed in the database. A functional requirement marks the systems
benefits, how the data is stored, computed, transformed and transmitted. The non-
functional requirement gives us the idea of what can the new system do with the
tasks. The next chapter will cover more of the system design.
CHAPTER 4: DESIGN
4.1 Introduction
We are going to discuss the system development design. The system flow
overall will be described here. To design a system, we must collect all the
information we need from the analysis chapter. System architecture and levels of
design will be talked about in here. For user interface design, it will show the user's
system interface that has another level of connectivity to the system. So, to show the
process of the user’s activities like clicking on any part of the system navigation
design will be covering that. To make sure that all the information saved in the
database is real we have to have some kind of validation. For the data to be turned
into valuable information we need to check the output design.
This part which is called High-level Design will give as an idea of how things
work in the system. In this part we will focus on a high-level Bookshop Management
System and see some parts of the system structure and the interior of the system. The
architecture of the system helps with understanding a network or system's general
design and structure.
The system is a 3-tier mobile client server system. User will proceed with the
book searching and maybe buying through the application. The client-based online
21
bookstore system will search books from bookstore database and proceed with the
payment process. All the user’s profiles and purchase history will be saved in the
online-bookstore database.
The user interface is the way that makes it easy for the user to interact with the
application. The interface will show the user the screen which from that screen they
can access the systems features, click on buttons, and see or store their information to
the database. A good user interface design is the design which is appealing, easy to
understand, and doesn’t cause confusion.
This type of design explains and shows how to navigate through the entire
system. The way that the system navigate must be accurate so that after the user
interact with the system in some type of way, the user doesn’t get confused about
their next step into the system.
22
This type of design is the type for the user interface input. You may ask what
types of inputs. These are some examples text, numbers, alphabet, symbol, etc. Some
entry is essential and validation is necessary to ensure that the information is stored
in the database.
23
These are some of the outputs that will be seen by the users
25
In this stage the conceptual design uses data styling or modeling to build
some kind of an abstract design that gives us an illusion about the real-world object.
Usually this kind of model should have or include a very easy explanation of the
system and its functional areas.
ERD
26
Business Rules
PK/FK
book_id Int 11 Pk NO
cid int 11 Fk YES
Sub_category_id int 11 Fk YES
featured int 1 YES
Book_title Varchar 255 YES
Book_price int 11 YES
book_description int 130 YES
book_cover_img Varchar 255 YES
book_file_type Varchar 255 YES
book_file_url Varchar 255 YES
total_rate int 11 YES
rate_avg Varchar 255 YES
book_views int 11 YES
status int 1 YES
What’s going to happen is this stage is that the logical design of the database
will change to the goal DBMS software file in this design. To create a database and a
database objects, Data Definition Language is the key.
DDL
4.4 Conclusion
So, to conclude the Bookshop management system design chapter, the designs and
structures have been explained briefly. This chapter showed us some of the system’s
interfaces for users and admin. It mentions the design of navigation, input design,
output design and other output from this stage can be used as an appropriate
reference for the system execution stage. Since we are done with the designs we are
going to talk next about implementation.
CHAPTER 5: IMPLEMENTATION
5.1 Introduction
When we say we want to implement our project it’s like saying we want to
see how it’s going to be like if our system was used in a day to day activities. The
execution stage is developed by the design phase diagram specification. In this phase
we will be dividing the excitation into four main parts which are software
development environment setup, database implementation, software configuration,
and implementation status. What we are trying to achieve in this phase is to deploy
and enable operations of the new information system in the production environment.
The coding should be done during this phase, and detection of errors in the software.
The testing process starts with a test plan that recognizes test-related activities, such
as test case generation, testing criteria, and resource allocation for testing. The code
is tested and mapped against the design document created in the design phase. The
output of this phase is a test report containing errors that occurred while testing the
application
Server Configuration:
For server configuration, the internet is used to connect the web site to
the database thoroughly. And I have used ngrok to open up the
application.
Database Configuration:
Firebase is used for database configuration and MySQL is used for the
database.
Backup-FYP-V4 23 / 7 / 2020 4
Backup-FYP-V5 09/ 8 / 2020 5
Table Admin
CREATE TABLE `admin` (
`id` int(11) NOT NULL,
`username` varchar(50) NOT NULL,
`password` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Table User
CREATE TABLE `blood_donor` (
`User_ID` int(11) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Table request_book
CREATE TABLE `request_book` (
`ID` int(11) NOT NULL,
`NAME` varchar(150) NOT NULL,
`User_ID` int(11) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL
5.5 Conclusion
Looking back at the chapters, all the actualized stages are essential. This part
explains the system execution and includes setup of the software development
setting, implementation of databases, and management of configuration software. For
example, there is no real way to miss or repeat one of those steps in the software
development setup that included the procedure for making a database connection.
The database will be unsuccessfully linked if at least one stage is forgotten about.
35
This will cause problems to stack up. Some more, the database will not continue to
run properly. Chapter 6 will cover the system testing stages.
CHAPTER 6: TESTING
The goal of the test plan is to have an idea of how it supposed to be structured
and defined. It’s separated into three main factors. Firstly, who will be involved in
the test, secondly, what environment should be set up to accomplish the test and
lastly check the time frame for the test to be executed.
Test organization is a set of people who are responsible for the testing
process. Those people have some knowledge, backgrounds, features, and experience
in IT to be able to produce ideas that will be helpful and useful information for the
results of system testing. This useful information includes system power, weakness,
restriction, and access for the system the customer. System Developer and the
customer will test the system.
37
The importance of this stage is to make sure that the system runs properly.
Environment specification Description
Operating system Windows 10
Processor core i7
(RAM) 10.00 GB
Database MySQL
3- Update profile
II. Security Test: The system's quality, reliability, and safety are tightly
aligned. System safety issues are becoming even more serious with
the fast growth and strength of security. The aim of security testing is
39
to identify any faults that may lead to security breaches and to identify
any system vulnerability threats.
III. Stress Test: is a type of Software Testing that verifies the stability &
reliability of the system. This test mainly measures the system on its
robustness and error handling capabilities under extremely heavy load
conditions.
Login Module:
Successfully !!’
message will be
displayed
Add Category:
Delete Category:
6.6 Conclusion
In this chapter we have addressed how this project is going to be executed in the
testing stage. The purpose of doing the testing in this stage is to avoid or find out any
errors or mistakes. All test result and description were identified and documented
throughout the development of this project as proof of the correctness. This stage
will ensure that we will have a quality project. User acceptance test, however, also
ensures that the system is created in accordance with user needs. The conclusion of
this project will be clarified in Chapter 7.
CHAPTER 7: PROJECT CONCLUSION
The system developed will contribute for the book shops as its reference for
improving this project. This system enables customers to place online orders within
or without working hours from anywhere and at any time. This system also enables
administrators to update book data.
7.4 Conclusion
In conclusion, this system is made to fulfill the goals, scope and still has to be
enhanced to accomplish the tasks. Extra time and effort are needed to make the Book
Management System a real system that can be used by all user levels and properly
fulfill the goal. Book Management System will be improved and enhanced by time to
meet the business requirements needs and pursue technology advancement.