LMS Final Year Project
LMS Final Year Project
PRESENTED BY
NJECK CLINTON SAMA
I Thank God for everything. for providing me the confidence and perseverance to
finish this endeavor.
This project is an acknowledgment of all those who have helped me make it a huge
success with their heartfelt cooperation.
I owe thanks to Dr. Jerry Yonga, the Head of the Information Technology
Department, for offering invaluable advice at every stage of this project's
development.
I'm particularly grateful to Mr. Che, the School Librarian Coordinator, for his real
and emotional guidance during this endeavor.
This thesis would never have come out in this shape without his supervision and
many hours of dedicated coaching, stimulating & constructive critique.
Last but not least, I'd want to express my heartfelt gratitude to my wonderful
parents for their moral support and enthusiastic participation in the project.
I'd also like to thank my friends, whose direct or indirect assistance has helped me
to accomplish this project successfully.
Table of Contents
ABSTRACT 4
CHAPTER ONE 5
1. GENERAL INTRODUCTION 5
1. The Research's History 5
1.1. Statement of the problem 6
CHAPTER TWO 8
2. PROJECT ANALYSIS 8
2.1.1. SPECIFICATION FOR SOFTWARE REQUIREMENTS 8
1.1. STATEMENT OF THE PROBLEM 8
2.1.2. OBJECTIVES OF THE SYSTEM 9
CHAPTER THERE 14
3. DESIGN OF PROJECTS 14
CHAPTER 4 22
4. SYSTEM IMPLEMENTATION 22
4.2. 2FA Student's Guide 27
4.3. PROJECT TESTING 30
4.4. Design Constraints 32
ABSTRACT
A library is a collection of information and similar resources that are available for
consultation or borrowing by a particular community. Therefore, managing the
library manually is time-consuming and inconvenient. In this sense, computerized
systems for managing library activities provide a comprehensive solution to reduce
manual labor, reduce the complexity of manual systems, and do it quickly. The
goal of this project is to design and build an Online automated library management
system where the student in school can borrow and return books from the library. I
created and built a library management system using HTML (Hypertext Markup
Language), CSS (Cascade Style Sheets), Python, Django, and My SQL Database. I
created the system using the V-Model software development approach. Many of
the project's predefined goals were achieved according to a detailed review of the
initiative.
CHAPTER ONE
1. GENERAL INTRODUCTION
A library is a collection of resources that are arranged and made available to the
public. Libraries usually contain information in physical or digitized format. In the
olden days, when technology developed online access, access was usually done in
library rooms (Dinesh et al., 2015). Libraries are fast-growing organisms. The
traditional method of obtaining it is no longer dynamic or effective. The use of
cutting-edge technology has become critical for the speedy retrieval and
transmission of information as well as better customer service (Neelakandan et al.,
2010).
Academic libraries, corporate libraries, government libraries such as national
libraries, history association libraries, private libraries, public libraries, school
libraries, specialized libraries, digital libraries, images (photos), and so on are all
forms of libraries. It is possible to classify. Libraries, slide libraries, tool libraries,
architectural libraries, art libraries, medical libraries, and theological libraries are
all part of the library. Depending on the various sorts of libraries,
I'll be building and executing a school library that is divided into two classes:
administrators and students. This system will also include book and user
management modules, which keep track of who is using the library and provide
detailed descriptions of the books it holds. There will be no loss of book or
member records with this computerized method, which is usual with non-
computerized methods. The Library Management System also has a report module.
If the user is an administrator, he or she can generate reports such as user lists,
book lists, and issue and return reports. When compared to traditional library
systems that aren't computerized, all of these modules can assist librarians in
managing the library with more ease and efficiency.
2. PROJECT ANALYSIS
The SRS section provides a complete description and overview of system needs
before the development process begins. It includes both functional and non-
functional requirements.
Apart from that, the existing versus suggested comparison illustrates how the
proposed system will be more efficient than the current one.
The Library Management System (LMS) is an electronic system that supports the
user (librarian) in managing the library's daily activities. It reduces the likelihood
of paperwork being misplaced, destroyed, or taking an excessive amount of time.
It can help users manage transactions or records more effectively while also saving
time.
⮚ The file was accidentally deleted. Because of the human environment, files
are always lost when a computerized system is not deployed. Records may
be lost due to human mistakes.
⮚ The file has been damaged. When a computerized system is not in place,
files are always lost due to an accident, such as a member accidentally
splashing water on a file. In addition, natural disasters such as floods or fires
may cause data loss.
Control and performance have improved. The system was created to address
current library concerns and problems.
The system is bug-free and can add and validate users Save money After a
computerized system has been implemented, less human labor will be required to
maintain the library, lowering overall costs.
Time is money. The librarian can search records with only a few words
clicks and a few search terms, saving him time.
The online bulletin board is one option. The librarian will be able to give
you a comprehensive summary. of seminars currently taking place at the college as
well as at other colleges in the area.
USER LOGIN
LOGIN AS A USER Feature description. This feature is used by the user to log
into the system. Before they can access the system, users must first input their user
id and password. The user logs in to the system using this function. will be
checked, and if an invalid id is found, the user will be denied access to the system.
Functional prerequisites
⮚ When they register, they supply a user id. The system must only allow users
with a valid id and password to access the system.
⮚ The system uses an authorization mechanism to determine which user levels
have access to what information.
⮚ After they've completed using the system, the user must be able to log out.
⮚ Intel Core i5 2nd generation processors are employed because they are faster
than other CPUs and give consistent and stable performance, allowing us to
run our computers for longer periods.
⮚ We can continue to develop our project without fear if we use this processor.
⮚ 1 GB of RAM is used because it allows for faster reading and writing, which
helps with processing.
⮚ The existing system does not allow teachers or students to log in, however,
the proposed system will allow both students and teachers to log in.
⮚ The existing system does not allow for online book reservations, but the
proposed system allows for online book reservations.
⮚ The current system lacks an online notice board where descriptions of
seminars taking place in our college as well as nearby colleges may be
found.
⮚ The existing system does not allow teachers to upload lecture notes, whereas
the proposed system will do so.
⮚ The current system cannot generate student reports as well as book issue
reports, but the proposed system gives librarians the ability to do so.
⮚ The current system cannot generate student reports or book issue reports, but
the proposed system provides a mechanism for librarians to generate reports.
⮚ The current system will not allow for book requests or suggestions, but after
signing into their accounts, the proposed system allows students to request
books and give comments to help improve the library.
CHAPTER THREE
3. DESIGN OF PROJECTS
The relationship with the system is organized using a conceptual ER-Diagram that
specifies not only the existential entities, but also the basic relationships that the
system is based on and the cardinalities that are required for the system state to
persist.
3.2.E-R diagrams
The software engineer can describe an analytical model using the modeling
notation, which is regulated by a set of syntactic-semantic and pragmatic
principles.
⮚ From the user's point of view, this view depicts the system.
⮚ From the point of view of the end-user, the analytical representation depicts
a usage scenario.
Structural model view
⮚ In this paradigm, the data and functionality arrive from inside the system.
⮚ The structural and behavioral components of the system are shown as they
will be built in this diagram.
⮚ What is UML Analysis modeling, which focuses on the system's user model
and structural model views?
3.6.SECURITY
3.6.1. DESCRIPTION OF THE SECURITY ON THE SYSTEM
The security used on this system is Two-factor authentication (also known as 2FA)
. We used it as an alternate form of LMS access that allows registered users to
quickly and securely recover forgotten login credentials without the need for
administrative involvement. This will protect the system from unknown login
users.
3.6.2. Overview of the Features 2FA
By presenting a Unicode named token that is generated once the user registers, the
2FA will allow enrolled LMS users to access their home page. The user will be
questioned by the system to present themselves with a unique piece of personal
knowledge information. When a user first registers, he or she will be brought to a
new page where they will be asked to enable two-factor authentications. To do so,
the user will need to use a smartphone to scan a barcode and generate a code. Once
2FA is enabled, a new link with a token entering form will appear on the LMS
login page, which a user must use to authenticate into his or her account.
3.6.3. The LMS Account Administrator's Guide to Two-Factor
Authentication
This chapter includes the necessary knowledge to allow or deactivate 2fa, as well
as crucial assistance info.
Setting up Two-Factor Verification
The Liberian administrators can enable or disable multi factor authentication for
their LMS Django database backend by completing the steps below.
⮚ Create a superuser admin account and login into the Django administrator
database.
⮚ Once logged in Select TOTP devices under OTP_TOTP to edit the user
device. The section under the select TOTP device to change shows you all
the available user devices currently using the system and the method used,
from the table below you will see that the devices are using but QRcode.
When an account is a tick it tells you the user 2FA is activated.
⮚ To activate 2FA, click the user name to edit. Once click a change TOTP device
dashboard opens with the identity, and configuration tap. To active, the device
checks the box.
⮚ The admin can set the time that each token generated will take to die. From the
diagram below under configuration name stem, I set it to 30second. That is after
30second a new token will be generated.
⮚ The number of digits generated can be edited. Currently I set it to 6 digits as
shown below.
CHAPTER 4
4. SYSTEM IMPLEMENTATION
This section explains the usability of the system, for but the student and the admin
4.1.Library Home Page
4.1.1. DESCRIPTION OF THE MODULE
Various modules make up the Library Management System, such as secure login
and user borrowing books. In this project the following module is used:
4.1.2. Module for Admin
Ounce’s the admin login to the system he or she can perform the following
⮚ Create an Admin account and log in.
⮚ You can add, view, and book items. ok
⮚ Can issue a book to a registered student (added by Admin).
⮚ View the issued book, including the date it was issued and when it was
due to expire.
⮚ Can View Students that are registered into the system
4.1.3. Admin Dashboard
4.1.4. Admin view Available Books in Library
1.2.student sing up
4.2.2FA Student's Guide
This section explains how students make Difficult Questions and utilize 2FA to log
into the LMS.
Adding device For Two Factor Authentication
Once a student registers an account with a password to access the LMS, he or she
gets authenticated to the system. But after a second a pop-up message appear
telling him to enable Two-factor Authentication.
Once the student clicks on the enable two-factor authentications, he or she is
redirected to a page where he can enable the 2FA. By scanning the QR code with
Google Authenticator. When a scan is complete he or she will receive a 6 digits
code from the Google Authenticator.
When 2FA is enabled, users will be requested to generate a code called Challenge
Backup Tokens which is can be used to log in to the system if they are not having
a phone to scan the code. This method is only present once the user has first
registered with her phone. And also, they will be enabled to disable the 2FA.
.
4.3.PROJECT TESTING
Integration Testing:
Performance Testing:
Timing for both read and update transactions should be gathered to see if
system operations are being done in a reasonable amount of time.
The following table lists general user attributes that will influence the software
product's functionality.
How the User
characteristic and
Type of User Technical
User Characteristic technical
User Expertise
expertise affect
LMS
Good
understanding to Average in technical
library operation proficiency
Responsible for Used text type
User interface
Library library terminal in
with less input
Manage operation as a the old DLSSYSTEM
steps.
whole.
Easy to learn.
Responsible for
library
staff managing
4.4.Design Constraints
● Security Requirements
● The account management system shall only be used by managers or users with
defined privileges.
● The Patron information report shall be generated by users who have librarian
accounts.
● The book Borrowing report shall only be generated by managers or users with
defined privileges.
● Database update data shall be committed to the database only after the
managers have approved.
● Reliability
● The system shall show appropriate messages at the terminal when the system is
down.
● Scheduled downtime after library operating hours shall not be more than 1 hour
per day.
● The system shall generate error messages when the user attempts to enter
invalid data.
● What if I fail to return my item? You will be penalized a fine of (cfa1000?) and
recorded and violation of Library policy. If you fail to pay your fine, your
library rights will be revoked until all fines are paid. You might be barred from
borrowing books after three violations?
● Can I purchase books from the library? Books and videos are not the sales.
You will have the opportunity to buy books via online booksellers.
● Are books and videos offered to students free of charge? Yes. Books are
provided to students free of charge and not expected to pay for the rental
period.
● How long is the rental? Books are given to students for 2 weeks.
● Could my scheduled return date be extended? If you are unable to return the
book on time, use the LMS to extend your book. Extensions are only for once
extensions. Further extensions will be refused, and the book must be returned.
● How can I receive verify the due date of my book? Use the LMS to verify your
due date. The MLS will automatically notify you of your due date five days
before your due date.
● What are the library hours? 9 a.m. and 4 p.m., Monday through Friday.
● Where is the library located at ICT University? The library is on the first floor
on the main Yaoundé campus?
● Will the library be used by anyone online? No, the library will be used only by
ICT university students.
● What is take to have to take a book from the library? Books must be returned
on time. If you are late, you will need to pay a fine?? Bring a photo ID. You
can take a book home and return it later.
● Books and videos and other materials are ICT materials and if lost or destroyed,
you will be expected to pay a penalty for the replacement cost of the item
CONCLUSION
The entire project was produced and deployed following the user's specifications,
and it was confirmed to be bug-free according to the testing procedures in place.
Any untraced specification flaws will be concentrated in future versions, which are
expected to be released soon. Because the consolidated constructions require SSL
standards and are important to be launched in the first place, the system does not
now support money payment methods. However, credit card transactions will be
implemented as a developing phase in the coming days.
For its inception and evolution, the system requires more detailed technicality.
BIBLIOGRAPHY
For
⮚ https://django-two-factor-auth.readthedocs.io/en/stable/
⮚ https://www.w3schools.com/php/default.asp
⮚ https://www.sitepoint.com/php/
⮚ https://www.php.net/
For MySQL
⮚ https://www.mysql.com/
⮚ http://www.mysqltutorial.org
For XAMPP
⮚ https://www.apachefriends.org/download.html