Library Management System BIS405
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION
The Library Management System (LMS) is a database-driven application developed to
simplify and manage the day-to-day operations of a library. Traditional library systems rely
heavily on manual processes, which can be time-consuming, error-prone, and inefficient,
especially as the number of users and books increases. The aim of this project is to design and
implement a computerized system using Database Management System (DBMS) principles
to overcome these limitations.This system provides functionalities to manage books,
members, and transactions in a systematic and efficient manner. It enables librarians to
perform essential tasks such as adding new books, updating book details, registering
members, issuing and returning books, and generating reports. Additionally, it ensures that
book availability is accurately tracked, prevents double issuing, and maintains records of
overdue returns and fines, if applicable.The backend of the system is built using a relational
DBMS, where various tables are created to store information about books, users, transactions,
and administrators. Relationships between these entities are defined using primary and
foreign keys to maintain data consistency and integrity. Structured Query Language (SQL) is
used to perform operations such as data retrieval, insertion, deletion, and updates.
By automating core library functions, the Library Management System improves efficiency,
reduces the administrative burden, and enhances user experience. This project demonstrates
the practical application of database concepts such as normalization, relational schema
design, data modeling, and transaction management in solving real-world problems.
1.2 OBJECTIVES
1. Online book issue.
2. Request column for librarian for providing new books.
3. Student login page where student can find books issued by him/her and date of return.
4. A search column to search availability of books.
Dept of ISE, DSATM 2025-26 Page 1
Library Management System BIS405
1.3 Modules
1.3.1 Admin Module
The Admin module is designed to manage and oversee the library's operations.
Key features include:
Dashboard Access: Provides a comprehensive overview of library activities.
Category Management: Add, update, or delete book categories to organize the library's
collection effectively.
Author Management: Maintain author records by adding, updating, or deleting author
information.
Book Management: Handle the addition, updating, or deletion of books in the library's
inventory.
Book Issuance: Issue books to students and update records upon their return.
Student Search: Locate student information using their unique student ID.
Student Details View: Access and review detailed information about registered students.
Password Management: Change the admin account password to maintain security.
1.3.2 Student Module
The Student module allows students to interact with the library system. Features
include:
Registration: Students can register themselves and receive a unique student ID upon
successful registration.
Dashboard Access: After logging in, students can access their personalized dashboard.
Book Listing: View the list of books available in the library.
Profile Management: Update personal information to keep records current.
Issued Books Tracking: Monitor the books issued to them along with issue and return dates.
Password Management: Change or recover their account password as needed.
Dept of ISE, DSATM 2025-26 Page 2
Library Management System BIS405
CHAPTER 2
SURVEY OF TECHNOLOGIES
2.1 SOFTWARE DESCRIPTION
The Library Management System is a web-based software application designed to manage
and streamline the day-to-day operations of a library. It eliminates the need for manual
record-keeping by automating various tasks such as book management, student registration,
issuing and returning books, and maintaining user profiles. This system aims to improve the
overall efficiency of library operations, reduce human errors, and provide users with easy
access to library services through an intuitive digital platform.
The system is divided into two main modules: Admin and Student. The Admin module is
responsible for managing the backend operations of the library. This includes the ability to
add, update, and delete book categories, authors, and book records. Admins can issue books
to students, accept returns, and monitor overdue items. The admin also has access to detailed
student information and can perform searches using student IDs. Moreover, the admin
dashboard provides an overview of library activity and allows the admin to maintain the
security of the system by managing password settings.The Student module allows students to
register, log in, and access their personal dashboard. Through this module, students can
browse the list of available books, view details of books currently issued to them, and track
return dates. They can also update their personal profiles and manage their passwords. This
interface is designed to be user-friendly and ensures that students can easily navigate and
utilize the system without prior technical knowledge.Technologically, the system is built
using PHP as the server-side scripting language, with HTML, CSS, and Bootstrap for the
front-end design. The backend database is managed using MySQL, which stores all the
records related to books, students, and transactions. The system is hosted on a local server
using tools like XAMPP, which includes Apache and MySQL, making it easy to install and
run the application on a local machine.The software provides several benefits, including
reduced paperwork, improved accuracy, and quick access to information. It supports real-
time updates and ensures that both administrators and students can perform tasks efficiently.
With its scalable architecture, the system can be expanded to include more features or handle
larger datasets if required.
Dept of ISE, DSATM 2025-26 Page 3
Library Management System BIS405
2.2 LANGUAGES
2.2.1 FRONTEND
The front end is designed using of html, Php,css, Java script.
HTML- HTML or Hyper Text Markup Language is the main markup language for
creating web pages and other information that can be displayed in a web
browser.HTML is written in the form of HTML elements consisting of tags enclosed in
angle brackets (like <html>), within the web page content. HTML tags most commonly
come in pairs like <h1> and </h1>, although some tags represent empty elements and so
are unpaired, for example <img>. The first tag in a pair is the start tag, and the second
tag is the end tag (they are also called opening tags and closing tags). In between these
tags web designers can add text, further tags, comments and other types of text-based
content. The purpose of a web browser is to read HTML documents and compose them
into visible or audible web pages. The browser does not display the HTML tags, but
uses the tags to interpret the content of the page.HTML elements form the building
blocks of all websites. HTML allows images and objects to be embedded and can be
used to createinter active forms. It provides a means to create structured documents by
denoting structural semantics for text such as headings, paragraphs, lists, links, quotes
and other items. It can embed scripts written in languages such as JavaScript which
affect the behavior of HTML web pages.
CSS- Cascading Style Sheets (CSS) is a style sheet language used for describing the
look and formatting of a document written in a markup language. While most often used
to style web pages and interfaces written in HTML and XHTML, the language can be
applied to any kind of XML document, including plain XML, SVG and XUL. CSS is a
cornerstone specification of the web and almost all web pages use CSS style sheets to
describe their presentation.CSS is designed primarily to enable the separation of
document content from document presentation, including elements such as the layout,
colors, and fonts. This separation can improve content accessibility, provide more
flexibility and control in the specification of presentation characteristics, enable
multiple pages to share formatting, and reduce complexity and repetition in the
structural content (such as by allowing for table less web design).CSS can also allow the
same markup page to be presented in different styles for different rendering methods,
Dept of ISE, DSATM 2025-26 Page 4
Library Management System BIS405
such as on-screen, in print, by voice (when read out by a speech-based browser or
screen reader) and on Braille- based, tactile devices. It can also be used to allow the web
page to display differently depending on the screen size or device on which it is being
viewed. While the author of a document typically links that document to a CSS file,
readers can use a different style sheet, perhaps one on their own computer, to override
the one the author has specified. However if the author or the reader did not link the
document to a specific style sheet the default style of the browser will be applied.CSS
specifies a priority scheme to determine which style rules apply if more than one rule
matches against a particular element. In this so-called cascade, priorities or weights are
calculated and assigned to rules, so that the results are predictable.
JAVA SCRIPT- JavaScript (JS) is a dynamic computer programming language. It is
most commonly used as part of web browsers, whose implementations allow client-side
scripts to interact with the user, control the browser, communicate asynchronously, and
alter the document content that is displayed. It is also being used in server-side
programming, game development and the creation of desktop and mobile applications.
JavaScriptis a prototype-based scripting language with dynamic typing and has first-
class functions. Its syntax was influenced by C. JavaScript copies many names and
naming conventions from Java, but the two languages are otherwise unrelated and have
very different semantics. The key design principles within JavaScript are taken from the
Self and Scheme programming languages. It is a multi-paradigm language, supporting
object-oriented, imperative, and functional programming styles. The application of
JavaScript to use outside of web pages—for example, in PDF documents, site- specific
browsers, and desktop widgets—is also significant. Newer and faster JavaScript VMs
and platforms built upon them (notably Node.js) have also increased the popularity of
JavaScript for server- side web applications. On the client side, JavaScript was
traditionally implemented as an interpreted language but just-in-time compilation is now
performed by recent (post-2012) browsers.
PHP- PHP is a server-side scripting language designed for web development but also
used as a general-purpose programming language. PHP is now installed on more than
244 million websites and 2.1 million webservers. Originally created by Rasmus Lerdorf
in 1995, the reference implementation of PHP is now produced by The PHP Group.
Dept of ISE, DSATM 2025-26 Page 5
Library Management System BIS405
While PHP originally stood for Personal Home Page, it now stands for PHP: Hypertext
Preprocessor, a recursive backronym.PHP code is interpreted by a web server with a
PHP processor module, which generates the resulting web page: PHP commands can be
embedded directly into an HTML source document rather than calling an external file to
process data. It has also evolved to include a command-line interface capability and can
be used in standalone graphical applications. PHP is free software released under the
PHP License. PHP can be deployed on most web servers and also as a standalone shell
on almost every operating system and platform, free of charge.
2.2.2 BACK END- The back end is designed using mysql which is databases used to
design the mysql which is databases.
MYSQL- MySQL ("My S-Q-L", officially, but also called "My Sequel") is (as of July
2013) the world's second most widelyused open-source relational database management
system(RDBMS). It is named after co-founder Michael Widenius daughter, My. The
SQL phrase stands for Structured QueryLanguage. The MySQL development project
has made its source code available under the terms of the GNU General Public License,
as well as under a variety of proprietary agreements. MySQL was owned and sponsored
by a single for-profit firm, the Swedish companyMySQL AB, now owned by Oracle
Corporation.MySQL is a popular choice of database for use in web applications, and is
a central component of the widely used LAMP open source web application software
stack (and other'AMP' stacks). LAMP is an acronym for "Linux, Apache, MySQL,
Perl/PHP/Python." Free-software-open source projects that require a full- featured
database management system often use MySQL. For commercial use, several paid
editions are available, and offer additional functionality. Applications which use
MySQL databases
include: TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, Drupal and other
software. MySQL is also used in many high-profile, large-scale websites, including
Wikipedia, Google (though not for searches), Facebook, Twitter, Flickr, and YouTube.
Dept of ISE, DSATM 2025-26 Page 6
Library Management System BIS405
CHAPTER 3
REQUIREMENT AND ANALYSIS
3.1 REQUIREMENT SPECIFICATION
The Library Management System allows admins to manage books, authors, categories, and
students, while students can view issued books and update their profiles. It includes features
like book issuing/return, password changes, and dashboard statistics. The system is easy to
use, fast, and runs on a local server like XAMPP. It is secure and can be expanded to handle
more data in the future.
3.1.1 GENERAL DESCRIPTION
PRODUCT DESCRIPTION:
Library Management System is a computerized system which helps user(librarian) to manage
the library daily activity in electronic format. It reduces the risk of paper work such as file
lost, file damaged and time consuming. It can help user to manage the transaction or record
more effectively and time-saving.
PROBLEM STATEMENT
The problem occurred before having computerized system includes:
*File lost When computerized system is not implemented file is always lost because of
human environment.Some times due to some human error there may be a loss of records.
* File damaged When a computerized system is not there file is always lost due to some
accdent like spilling of water by some member on file accidentally.Besides some natural
disaster like floods or fires may also damage the files.
*Difficult to search record When there is no computerized system there is always a difficulty
in searching of records if the records are large in number .
*Space consuming After the number of records become large the space for physical storage
of file and records also increases if no computerized system is implemented.
* Cost consuming As there is no computerized system the to add each record paper will be
needed which will increase the cost for the management of library.
Dept of ISE, DSATM 2025-26 Page 7
Library Management System BIS405
3.1.2 SYSTEM OBJECTIVES
Improvement in control and performance
*The system is developed to cope up with the current issues and problems of library .The system
can add user, validate user and is also bug free.
*Save cost After computerized system is implemented less human force will be required to maintain
the library thus reducing the overall cost.
*Save time Librarian is able to search record by using few clicks of mouse and few search
keywords thus saving his valuable time.
*Option of online Notice board Librarian will be able to provide a detailed description of
workshops going in the college as well as in nearby colleges.
*Lecture Notes Teacher have a facility to upload lectures notes in a pdf file having size not more
than 10mb.
3.2 HARDWARE AND SOFTWARE REQUIREMENT
This section describes the software and hardware requirements of the system
3.2.1 SOFTWARE REQUIREMENTS
*Operating system- Windows 7 is used as the operating system as it is stable and
supports more features and is more user friendly
*Database MYSQL-MYSQL is used as database as it easy to maintain and retrieve
records by simple queries which are in English language which are easy to
understand and easy to write.
*Development tools and Programming language- HTML is used to write the whole
code and develop webpages with css, java script for styling work and php for
sever side scripting.
3.2.2 HARDWARE REQUIREMENTS
*Intel core i5 2nd generation is used as a processor because it is fast than other
processors an provide reliable and stable and we can run our pc for long time.By
using this processor we can keep on developing our project without any worries.
Dept of ISE, DSATM 2025-26 Page 8
Library Management System BIS405
*Ram 1 gb is used as it will provide fast reading and writing capabilities and will
in turn support in processing
3.3 ER-DIAGRAM
Dept of ISE, DSATM 2025-26 Page 9
Library Management System BIS405
Dept of ISE, DSATM 2025-26 Page 10
Library Management System BIS405
3.1 NORMALIZATION
Normalization is a process used in database design to eliminate redundancy and ensure data is
stored efficiently and logically. In the Online Library Management System, normalization is
applied to the database to organize data into related tables while minimizing data duplication
and ensuring data integrity. This process helps maintain consistency, reduces storage space,
and simplifies the process of updating or retrieving records.
The first step in normalization is achieving First Normal Form (1NF). This form ensures that
all the data stored in the tables is atomic, meaning each column contains only indivisible
values, and each row is unique. For example, in the student table, each student record
contains individual fields such as student ID, name, email, and contact number, without any
repeating groups or lists.
Once 1NF is achieved, the database is further refined to reach Second Normal Form (2NF).
In this stage, the database ensures that all non-key attributes are fully functionally dependent
on the primary key. For instance, in the issued books table, the combination of student ID and
book ID forms a composite key, and fields like issue date and return date depend entirely on
this combination, ensuring proper linkage and dependency.
The final level typically applied is Third Normal Form (3NF). This form eliminates transitive
dependencies, meaning that non-key attributes should not depend on other non-key attributes.
In the context of this system, the books table stores only category IDs and author IDs instead
of full names. The actual category names and author names are stored in separate tables and
linked using foreign keys. This separation helps avoid redundancy—if an author's name
changes, it needs to be updated in only one place.
Dept of ISE, DSATM 2025-26 Page 11
Library Management System BIS405
CHAPTER 4
PROGRAM CODE
4.1 CODE DEATAILS AND CODE EFFICIENCY
The Library Management System is a desktop-based (or local network-based) software
application developed using PHP and MySQL. It is designed to automate routine library tasks
such as managing book records, student information, and issuing/returning books. The system
provides a structured approach to handling library data and ensures efficient record-keeping.
The program is divided into two main modules: Admin and Student. The Admin module
contains features for managing books, authors, categories, and student records. Admins can
issue and return books, generate reports, and track overdue items. The admin interface
includes files like manage-books.php, issue-book.php, and student-info.php, all of which
interact with the MySQL database using SQL queries.
The Student module allows students to log in, view available books, and check the status of
issued books. Student interfaces include files such as login.php, register.php, and
dashboard.php. These interfaces are designed to be simple and user-friendly, making the
system accessible to non-technical users as well.
The database connection is handled through a configuration file (config.php) that defines
MySQL credentials and establishes a connection. The system uses a SQL file (library.sql) to
set up database tables and insert sample data. Tables are normalized up to 3NF to reduce
redundancy and ensure data consistency.
The code is efficient for small to medium library environments. It is structured in a modular
fashion, separating different functionalities for easy maintenance. The use of Bootstrap and
HTML provides a clean user interface. However, the program uses basic SQL queries
without prepared statements, which poses a potential security risk. Implementing prepared
statements or PDO would greatly enhance security.
In terms of performance, the system works well for libraries with a limited number of users
and books. However, it lacks advanced features like pagination, search filters, or
asynchronous operations (AJAX), which could improve responsiveness. Additionally, code
reusability can be enhanced by organizing repeated operations into common functions or
classes.
Dept of ISE, DSATM 2025-26 Page 12
Library Management System BIS405
CHAPTER 5
RESULT AND DISCUSSION
The implementation of the Library Management System resulted in the successful automation
of essential library tasks such as managing books, tracking student records, issuing and
returning books, and maintaining author and category information. The system proved to be
functional and reliable in a local environment, offering a user-friendly interface and an
organized database structure. Testing was carried out with sample data, and all modules,
including student registration, book entry, and book issuing, worked as expected without any
major errors or crashes.
The Admin module effectively allowed for complete control over the library inventory and
user management. Features like adding new books, assigning them to categories, and issuing
books to students performed accurately. Admins were also able to monitor due dates and
student borrowing history with ease. The Student module allowed registered users to view
their profiles and check issued books, helping them stay informed and accountable for their
borrowings.
During testing, the system handled various inputs correctly, including invalid data and empty
fields, though it was noted that more robust input validation and error handling would
enhance system reliability. Performance was efficient for small datasets, but the absence of
advanced features like dynamic search, real-time updates, and AJAX-based operations may
affect scalability in larger environments.
In terms of code structure, the project followed basic modular principles, which made the
application easier to understand and modify. However, it lacks more modern programming
practices like object-oriented design, reusable functions, and security measures such as input
sanitization and prepared statements. These aspects should be improved to ensure better
protection against common vulnerabilities like SQL injection.
Dept of ISE, DSATM 2025-26 Page 13
Library Management System BIS405
Screenshot for homepage
User singnup
Admin Dashboard
Dept of ISE, DSATM 2025-26 Page 14
Library Management System BIS405
Manage Student Registration
Manage Books Panel
Dept of ISE, DSATM 2025-26 Page 15
Library Management System BIS405
5.1 USER DOCUMENTATION
The Library Management System provides an easy-to-use interface for two types of users:
Administrator and Student. This user documentation outlines the steps and procedures each
user must follow to interact with the system effectively.
Administrator Module
The Administrator is responsible for managing the overall operations of the library through
the Admin Dashboard. Upon logging in using the provided credentials, the administrator can:
Manage Books: Add new books to the library, assign them to specific categories and
authors, and update or delete book records.
Manage Authors and Categories: Create, edit, or delete book authors and categories to
keep the database updated.
Manage Students: View, add, or remove student records. This includes registration details,
email, and contact information.
Issue/Return Books: Issue books to students and accept returns. The system automatically
records the issue date and expected return date.
Monitor Activity: View system statistics such as the number of books, students, and issued
books on the dashboard.
All these features are accessible from the admin control panel. Navigation is simple and
organized, with side menus and alert messages guiding the admin throughout the process.
Student Module
Students can register themselves using the registration form. After successful login, they can:
View Profile: Check their registered personal information.
Change Password: Update login credentials securely.
Dept of ISE, DSATM 2025-26 Page 16
Library Management System BIS405
Check Issued Books: View a list of books currently issued to them, including issue dates
and return dates.
Students are restricted from modifying book records or issuing books directly; this maintains
the integrity of the system and prevents unauthorized access to sensitive data.
General Usage Instructions
1. Installation: Copy the source code into the local server directory (e.g., htdocs in XAMPP).
2. Database Setup: Import the library.sql file into a MySQL database named library.
3. Configuration: Update the config.php file with your MySQL server credentials.
4. Access:
For Admin: Visit http://localhost/library/admin/
For Students: Visit http://localhost/library/
Default Login Credentials
Admin:
Username: admin
Password: Test@123
Student:
Email: test@gmail.com
Password: Test@123
Dept of ISE, DSATM 2025-26 Page 17
Library Management System BIS405
CHAPTER 6
TESTING
START
TAKECHOICE
CHOICE
ADMIN EXIT
LOGIN
ENTER
PASSWORD
MATCH
TAKE
CHOICE
CHOICE
BOOK MANAGE FEEDBACK STUDENT LOGOUT
DETAILS BOOKS DETAILS
Dept of ISE, DSATM 2025-26 Page 18
Library Management System BIS405
6.1 TESTCASES
6.1.1 UNIT TESTING
Unit testing is undertaken when a module has been created and succesfully reviewed .In
orderto test a single module we need to provide a complete environment ie besides the
module we would require
The procedures belonging to other modules that the module under test calls
Non local data structures that module accesses
A procedure to call the functions of the module under test with appropriate parameters
1. Test For the admin module
Testing admin login form-This form is used for log in of administrator of the system.In
this we enter the username and password if both are correct administration page will open
other wise if any of data is wrong it will get redirected back to the loginpage and again
ask for username and password.
Student account addition- In this section the admin can verify student details from student
academinc info and then only add student details to main library database it contains add
and delete buttons if user click add button data will be added to student database and if he
clicks delete button the student data will be deleted.
Book Addition- Admin can enter details of book and can add the details tothe main book
table also he can view the books requests.
2. Test for Student login module
Test for Student login Form-This form is used for log in of Student.In this we enter
thelibraryid, username and password if all these are correct student login page will open
otherwise if any of data is wrong it will get redirected back to the login page and again ask
for libraryid, username and password.
Test for account creation- This form is used for new account creation when student does
not fill the form completely it asks again to fill the whole form when he fill the form fully
it gets redirected to page which show waiting for conformation message as his data will be
only added by administrator after verification.
Dept of ISE, DSATM 2025-26 Page 19
Library Management System BIS405
3.Test for teacher login module
Test for teacher login form- This form is used for logg in of teacher .In this we enter the
username and password if all these are correct teacher login page will open other wise if
any of data is wrong it will get redirected back to the login page and again ask for
username and password.
6.1.2 INTEGRATION TESTING
In this type of testing we test various integration of the project module by providing the input
.The primary objective is to test the module interfaces in order to ensure that no errors are
occurring when one module invokes the other module.
CHAPTER 7
CONCLUSION
The Library Management System effectively achieves its objective of simplifying and
automating key library operations such as book management, student registration, and the
issuing and returning of books. Through its structured modules for administrators and
students, the system enhances the efficiency and accuracy of library workflows, significantly
reducing the manual effort involved in maintaining records.
The system’s development using PHP and MySQL ensures that it is lightweight, easy to
deploy, and scalable for small to medium-sized library environments. The use of a
normalized database design improves data consistency and reduces redundancy, while the
user-friendly interface built with HTML and Bootstrap makes it accessible even to users with
minimal technical knowledge.
While the current implementation is well-suited for educational use and demonstration
purposes, it also lays a strong foundation for further development. Potential enhancements—
such as advanced reporting features, fine calculation, barcode integration, and stronger
security protocols—could make it suitable for more robust, real-world applications.
Dept of ISE, DSATM 2025-26 Page 20
Library Management System BIS405
REFERENCES:
• http://www.w3schools.com/html/html_intro.asp
• https://www.w3schools.com/php/default.asp
• https://www.w3schools.com/sql/default.asp
• Fundamentals of software engineering by Rajib mall, PHIlearning
• Web development and application development by Ivan Byross BPB publications
Dept of ISE, DSATM 2025-26 Page 21