You are on page 1of 106

Library Management System Project in

Software Development
Library Management System is one of the most common software
development projects till date. In this article, we are going to make the
Library Management System software development project, from scratch,
for final year students. We will be covering all the steps you have to do
while developing this project.
How to create a Library Management System Project?
Table of Content
 How to create a Library Management System Project?
 Step 1- Team Formation Phase: Creating a Dynamic Team
 Step 2- Topic Selection
 Step 3- Project Synopsys for Library Management System
 Step 4- Requirement Gathering (Creating SRS for Library Mangement System)
 Software Requirement Specification (SRS) Document Template
 4.1 SRS (Library Mangement System) | Introduction:
 4.2 SRS (Library Mangement System) | Overall Description:
 4.3 SRS (Library Mangement System) | Designing Library Management System :
 4.3.1 Use case Diagram for Library Management System:
 4.3.2 ER Model of Library Management System:
 4.3.3 Data Flow Diagram of Library Management System:
 4.4 Functional Requirements | SRS (Library Mangement System)
 4.5 Non Functional Requirements | SRS (Library Mangement System)
 4.6 SRS (Library Mangement System) | Appendices:
 5. Coding or Implementation of Library Mangement System
 5.1 Implementing Library Mangement System | Environment Creation:
 5.2 Implementing Library Mangement System | Database Creation:
 5.3 Implementing Library Mangement System | Frontend and Backend Development:
 5.3.1 Step 1: Creation of Login page Module:
 5.3.2 Step 2: Creation of User Dashboard Module:
 5.3.3 Step 3: Creation of Admin Dashboard Module:
 5.3.4 Step 4: Creation of Add/Manage Book Module:
 5.3.5 Step 5: Creation of Add/Manage Book Category Module:
 5.3.6 Step 6: Creation of Issue Book Module:
 Step 6- Testing Library Mangement System
 Step 7- Creating Project Presentation on Library Management System:
 Step 8- Writing a Research Paper on Library Management System:
 Future Enhancements for Library Management System
A Project Development is a multiphase process in which each and
every process are equally important. Here in this post we are also
going to develop our Library Management System Project in multiple
phases, such as:
1. Team Formation
2. Topic Selection
3. Creating Project Synopsys
4. Requirement Gathering
5. Coding or Implementation
6. Testing
7. Project Presentation
8. Writing a Research Paper
Let us look into the steps one by one.
Step 1- Team Formation Phase: Creating a Dynamic
Team
Team formation for a final year project is a crucial aspect that can significantly
impact the success and efficiency of the project. In the final year, students often
have diverse academic backgrounds, skills, and interests. Therefore, forming a
well-balanced team becomes essential to leverage the strengths of each member
and address any potential weaknesses.
In Our project as we will be exploring about web application for Library
Management system so we will be required below skill sets.
1. Front end Developer
2. Back end Developer
3. Tester
4. Devops Developer
Step 2- Topic Selection
While making our project of library management system this will be
our second step in which we will find an interesting problem statement
and try to generate an idea to solve that problem using our knowledge.
Choose a topic related to your field of study that is of great interest to
you. It is advised that you pick a topic that has a powerful motive. For
instance, a project that helps humankind will truly be unmatched.
Another factor to keep in mind is to choose topics that aren’t very
common.

 Topic Planning: In this phase team will gather and try to search a topic
or problem statement by brainstorming , reverse thinking or any other
strategy and select a problem which is challenging in nature and
solvable by using their combined knowledge of tech.
 Defining & Set Objective : After planning the problem statement we
will define clear problem statement and its objectives.
Result : In the end of this phase we will be having a problem statement
for our project.
In our example we are selecting the topic ” Library Management System ” .
After the selection of the topic we are going to start our project work in
the following steps:
Step 3- Project Synopsys for Library Management
System
A project synopsis serves as a concise overview or summary of
a proposed project, offering a brief but comprehensive insight
into its objectives, scope, methodology, and expected outcomes.
It typically acts as a preliminary document, providing supervisors,
or evaluators with a quick understanding of the project before
they delve into more detailed documentation.
The project synopsis usually includes key elements such as the project
title, problem
statement or context, objectives, scope and limitations, methodology
or approach, expected outcomes, and the significance of the project in
the broader context. It serves as a roadmap, guiding readers through the
fundamental aspects of the project and helping them grasp its purpose
and potential impact.
Below are some of the points we have to cover in the
synopsis report :
 Project Title
 Introduction of Project
 Problem Statement

 Proposed Solution

 Objective of the Project

 Scope of the Project

 Methodologies used
 ER Model

 Use case Diagram

 Dataflow Diagram

 Features of the project


 For Users

 For Admin

 Impact of the project


 Limitations of the project
 Future scope of the project
Let’s create a Synopsys Report for Library Management
System:

3.1 Introduction | Project Synopsys for Library Management System

A Library Management System (LMS) is a software application that


simplifies and automates the operations of libraries. It is a complete
system for managing library duties such as purchases, member
management, monitoring, storing, and circulation. The primary objective of
an LMS is to properly organize and manage the resources available in a
library, making it easier for librarians to conduct everyday operations and
create a user-friendly experience for users.

3.1.1 Problem Statement for Library Management System :

Conventional libraries are having difficulty integrating various formats,


including multimedia and e-resources, because of outdated management
systems. Inefficient cataloguing, resource tracking bottlenecks, and a lack
of analytics tools hinder librarians from optimizing collections and
improving user experiences. To close the gap, libraries require a modern
library management system with an intuitive interface, effective
cataloguing, and analytics capabilities to resurrect libraries as vibrant
centres of knowledge and community involvement in the digital era.

3.1.2 Proposed Solution for Library management system :

To solve the traditional issue we are building a Web development project


of library management system
using Html , Bootstrap , Php and MYSQL in which we will be providing
User-friendly interface for easy navigation , Efficient book search
functionality , seamless book issuance and return policy , automated
tracking of library activities, Regular maintenance of book availability
records and Secure login and access control managed by the admin.
3.1.3 Objective of the Project :
The objective of the Library Management System (LMS) project is to design and
implement an efficient and user-friendly system that automates the various
tasks associated with managing a library.

The primary goals of the project include:


1. Efficient Book Management : Streamlining the process of book acquisition,
cataloguing, and tracking to ensure an organized and easily accessible
collection.
2. User-Friendly Interface : Developing an intuitive and user-friendly interface
for library staff and patrons to facilitate easy navigation, quick retrieval of
information, and seamless interaction with the system.
3. Automation of Processes: Automating routine library tasks such as book
check-in and check-out, reservation management, and overdue notifications
to improve operational efficiency and reduce manual workload.
4. Inventory Management: Implementing a robust inventory management
system to monitor stock levels, identify popular titles, and facilitate timely
reordering of books to maintain a well-stocked library.
5. Enhanced Search and Retrieval : Implementing an advanced search
mechanism to allow users to quickly locate books, authors, or genres,
promoting a more efficient and enjoyable library experience.
6. User Account Management: Providing features for patrons to create
accounts, track their borrowing history, and manage personal preferences,
fostering a personalized and user-centric library experience.
7. Reporting and Analytics : Incorporating reporting tools to generate insights
into library usage, popular genres, and circulation trends, enabling informed
decision-making for library administrators.
8. Security and Access Control : Implementing robust security measures to
protect sensitive library data and incorporating access controls to ensure
that only authorized personnel have access to specific functionalities.
9. Integration with Other Systems : Offering the flexibility for integration with
other academic or administrative systems to create a cohesive and
interconnected information ecosystem within the institution.
10. Scalability: Designing the system to be scalable, allowing for easy
expansion and adaptation to the evolving needs of the library as it grows
over time.
By achieving these objectives, the Library Management System aims to
enhance the overall efficiency, accessibility, and user satisfaction of the library
services, ultimately contributing to an enriched learning and research
environment within the institution.
3.1.4 Scope of the Project:
It may help collecting perfect management in details . In a very
short time the collection will be obvious simple and sensible. it
will help a person to know the management of passed year
perfectly and vividly. it also helps in current all works relative to
library management system . It will reduce the cost of collecting
the management and collection procedure will go on smoothly.
The scope of the project of library management system typically
covers the following aspects:
1. Functional Scope:
 Book Management : The system should cover tasks related to book
acquisition, cataloguing, and organization within the library.
 User Management: Creating and managing user accounts,
handling patron information, and providing authentication for library
services.
 Circulation Management : Automating the process of book check-
in, check-out, and reservation to streamline circulation activities.
 Search and Retrieval : Implementing a robust search mechanism
for users to quickly locate books, authors, and other library
resources.
 Reporting and Analytics : Generating reports on library usage,
circulation trends, and popular genres to aid decision-making.
 Security and Access Control : Ensuring the security of sensitive
data and implementing access controls to manage user privileges.
2. Non-Functional Scope:
 Usability: Ensuring a user-friendly interface that promotes ease of
navigation and a positive user experience for both library staff and
patrons.
 Scalability: Designing the system to accommodate growth in the
library’s collection and user base over time.
 Performance: Meeting performance standards to ensure timely
response and efficient processing of library transactions.
 Reliability: Building a reliable system that minimizes downtime and
ensures the continuous availability of library services.
 Security: Incorporating robust security measures to protect against
unauthorized access, data breaches, and other security threats.
3.2 Methodologies | Project Synopsys for Library
Management System
In LMS we are using various technologies and new methodologies to solve our
problems. Below are the detailed description about the technology used and
methods we are applying in our project.

Technology Used:
Here we are developing a Library Management System (LMS)
using HTML, Bootstrap for the frontend, and MySQL, PHP, and JavaScript for
the backend involves a structured methodology.

ER Model of Library Management System :


An Entity-Relationship Diagram (ERD) for a Library Management System (LMS)
models the entities and their relationships within the system. Below is a
simplified ERD for a Library Management System. In Synopsys we make a
rough ER Diagram to give a idea about the working of the project.

Let’s Draw an ER Model of Library Management System:


Entities:

 Book: Attributes: ISBN (Primary Key), Title, Author,


Genre, Published Year, Copies Available, etc.

 Readers: Attributes: User ID (Primary Key), Name,


Email, Address, Phone Number, etc.

 Staff: Attributes: Staff ID (Primary Key), Name, etc.

 Authentication System: Attributes: Login ID (Primary


Key) and Password

 Publisher: Attributes: Publisher ID (Primary Key) ,


Year of Publication, Name, etc.

 Reports: Attributes: Reg No(Primary Key), User ID,


Book No, Issue/Return.
Relationships:
1. Borrow (Association between Readers and Book):
 A Reader can borrow multiple books.
 A Book can be borrowed by multiple Readers.
 Attributes: Borrow Date, Return Date

2. Manage (Association between Staff and Book):


 A Staff member manages the catalogue, which includes
adding, updating, or removing books.
 A Book is managed by a Staff member.
 Attributes: Management Date, Operation Type
(Add/Update/Remove)

3. Issue (Association between Staff and Readers):


 A Staff member issues library cards to Readers.
 A Reader can have only one Staff member issuing their
card.
 Attributes: Issue Date, Expiry Date

4. Authenticate (Association between Authentication System


and Staff/Readers):
 The Authentication System authenticates Staff and Readers
during the login process.
 Attributes: Last Login Date, Login Attempts

5. Publisher (Association between Book and Publisher):


 A Book is published by a Publisher.
 A Publisher can have multiple books.
 Attributes: Publication Date

6. Manages (Association Between Staff and Report):


 A Report is generated for transactions involving Readers
and Books.
 Attributes: Generation Date, Report Type (Issue/Return)
Data Flow Diagram of Library Management System:
Data Flow Diagram (DFD) serves as a visual representation of
the flow of information within the system. This diagram illustrates
how data, such as book information, user details, and transaction
records, moves between various components of the LMS.

 Processes, represented by circles or ovals, Depict activities


such as book issuance, returns, and cataloguing.

 Data stores, depicted by rectangles, represent where


information is stored, including databases housing book
records.

 Data flows, indicated by arrows, showcase how data moves


between processes, data stores, and external entities like
library patrons.

The DFD provides a concise yet comprehensive overview of the


LMS’s data flow and interactions, aiding in the analysis, design, and
communication of the system’s functional aspects.
Use Case Diagram of Library Management System :
Use case diagram referred as a Behaviour model or
diagram. It simply describes and displays the relation or
interaction between the users or customers and providers
of application service or the system. It describes different
actions that a system performs in collaboration to achieve
something with one or more users of the system. Use
case diagram is used a lot nowadays to manage the
system.
Here is a Use Case Diagram for Library Management
System:
3.3 Features | Project Synopsys for Library Management
System
The proposed Library Management System (LMS) is designed to
simplify the day-to-day activities of a library, providing features
for both users and administrators.

For Users:
We will have following features for a User:
1. New User Registration:
 This feature allows new users (students, teachers, etc.) to
sign up for the system by providing the necessary details.

2. Student Login:
 This feature Provides authenticated access for registered
users to use the system.

3. Search Book:
 This feature allow users to search for books based on
criteria such as book ID, book name, or author name,
enhancing the ease of locating desired materials.

4. Issue Book:
 This feature allow users in borrowing books from the library
by recording the transaction and updating the availability
status.

5. Return Book:
 This feature allows users to return books either before the
due date or after the specified time with a late fine, ensuring
proper management of borrowed materials.
For Admin:

1. Record Library Activities:


 This feature allows librarians to enter various records into
the system, such as book issuances, returns, and non-
availability of books.

2. Manage Books:
 This feature allow librarians to keep track of the library’s
books by adding new books or removing them.

3. Manage Student:
 This feature allow librarians to keep track of number of
students and their details

4. View Issued Books:


 This feature allows librarians to view all Issued books with
their status.

5. Defaulter List:
 This feature allows librarians to show the details of the
student who did not return the books before the deadline.

6. Issue Book:
 This feature allow users in borrowing books from the library
by recording the transaction and updating the availability
status.
Authentication and Authorization:
The system implements a secure login mechanism for users,
and administrators. The admin has the authority to manage
user access and ensure data integrity.
3.4 Impact | Project Synopsys for Library Management
System
The proposed Library Management System (LMS) , developed using
MySQL and Java NetBeans, is expected to have a substantial impact on
real-life library operations, benefiting both librarians and patrons in several
ways:
 Enhanced User Experience : The user-friendly interface facilitates
easy navigation, making it more convenient for library patrons to search
for and access resources. This improved experience is likely to
encourage greater library utilization.
 Time Efficiency : The efficient book search functionality and seamless
book issuance and return process significantly reduce the time spent
by both librarians and patrons. Quick transactions and streamlined
processes contribute to a more time-efficient library environment.
 Automated Tracking for Efficiency : Automation of library activities,
such as tracking book transactions and due dates, enhances
operational efficiency. Librarians can focus on more strategic tasks,
and patrons benefit from timely reminders and notifications, reducing
instances of late returns.
 Accurate Book Availability Records : The regular maintenance of
accurate book availability records ensures that the library’s collection
remains up-to-date. Patrons can trust the system to provide reliable
information on the availability of specific titles, contributing to a more
satisfying library experience.
 Improved Security and Access Control : The implementation of
secure login and access control measures ensures the integrity and
confidentiality of library data. Librarians can manage user access
efficiently, and patrons can trust that their personal information is
secure, fostering trust in the system.
 Resource Optimization : With the ability to track library activities and
user preferences, librarians can optimize the library’s resources. This
includes restocking popular titles, identifying underutilized resources,
and making informed decisions about future acquisitions, ultimately
enhancing the library’s overall value.
 Adaptation to Modern Technologies : The integration of barcode or
RFID technology brings the library into the modern age, aligning it with
current technological trends. This not only improves the efficiency of
book transactions but also showcases the library’s commitment to
staying relevant in the digital era.
3.5 Limitations | Project Synopsys for Library
Management System
Library Management System (LMS) can offer many benefits, it may also have
certain limitations. Here are some potential constraints associated with such a
system:
 Limited Scalability : Depending on the design and architecture, scalability
might be limited, making it challenging to handle a significant increase in
users or data volume.
 Performance Issues : Large datasets or complex queries may result in
slower performance, especially if optimization techniques are not adequately
implemented.
 Security Concerns : Without careful attention to security practices, there
might be vulnerabilities such as SQL injection or cross-site scripting, posing
risks to data integrity and user privacy.
 Offline Accessibility : A web-based LMS may have limitations in providing
offline access to resources, which could be a constraint in environments with
intermittent or no internet connectivity.
 Browser Compatibility : Compatibility issues may arise across different
browsers, requiring additional effort to ensure a consistent user experience.
 Limited User Interface Customization : HTML and CSS provide styling
capabilities, but achieving highly customized and dynamic user interfaces
might be more challenging compared to frameworks with extensive UI
libraries.
 Dependency on JavaScrip t: If users disable JavaScript in their browsers,
certain interactive features might not function correctly, affecting the overall
user experience.
 Complexity in Real-time Updates : Real-time updates, such as
simultaneous editing or live notifications, may require more advanced
technologies (like WebSocket) and could add complexity to the system.
 Dependency on Server-Side Processing : Heavy reliance on server-side
processing with PHP might lead to increased server loads, affecting
response times, especially during peak usage periods.
 Limited Mobile Responsiveness : While Bootstrap and CSS can enhance
mobile responsiveness, ensuring a seamless experience across all devices
may require additional effort and testing.

To mitigate these limitations, it’s essential to continuously monitor and


update the system, follow best practices in coding and security, and
consider adopting additional technologies or frameworks based on
evolving project requirements. Regular testing and user feedback can also
help identify and address potential constraints.
3.6 Future Scope | Project Synopsys for Library
Management System
The future scope of a Library Management System (LMS) developed
using HTML, CSS, JS, PHP, and MySQL is promising, with opportunities
for enhancement and expansion. Some potential future avenues for the
project include:
 Integration of Advanced Technologies: Explore the
integration of emerging technologies such as artificial
intelligence (AI) and machine learning (ML) for intelligent book
recommendations, predictive analytics, and user behaviour
analysis.

 Mobile Applications: Develop dedicated mobile applications


for iOS and Android platforms to provide a more seamless and
tailored user experience on smartphones and tablets.

 Enhanced User Interactivity: Implement more interactive


features, such as real-time collaboration, chat support, and
discussion forums, to foster a sense of community among
library patrons.

 Accessibility Improvements: Focus on enhancing


accessibility features to ensure inclusivity for users with
diverse needs, including those with disabilities. This could
involve compliance with accessibility standards and
guidelines.

 Blockchain Integration: Explore the potential of integrating


blockchain technology for secure and transparent
management of transactions, user data, and digital rights
management.

 E-learning Integration: Integrate e-learning functionalities,


allowing users to access educational materials, tutorials, and
multimedia content directly through the LMS.
 Data Analytics for Decision-Making : Implement advanced data
analytics tools to derive insights into library usage patterns, user
preferences, and popular resources. This data-driven approach can
inform decision-making for collection development and resource
allocation.

 Multi-language Support: Expand the system’s reach by incorporating


multi-language support to cater to diverse user populations and
potentially attract a global user base.

 Enhanced Security Measures : Stay abreast of evolving cybersecurity


threats and implement advanced security measures to safeguard user
data and ensure the integrity of the system.

 Customization Options: Provide users with more customization


options, allowing them to personalize their profiles, preferences, and
interface settings for a tailored experience.

 Voice Recognition and AI Assistants: Explore the integration of


voice recognition technology and AI-driven virtual assistants to enable
hands-free interactions and enhance the overall user experience.

 Collaboration with External Systems : Collaborate with external


systems, such as publishers or other libraries, to expand the availability
of resources and streamline inter-library loans.

 User Feedback Mechanisms : Strengthen user feedback mechanisms


to continuously gather input on system performance, identify areas for
improvement, and enhance user satisfaction.

After Creating Synopsys of our project we will start


building Software Requirement Specification for our
project , which will be out next phase .
Step 4- Requirement Gathering (Creating SRS for
Library Mangement System)
This is the next phase after the submission of the
synopsis report. We can do this process before the
Synopsys report creation as well , It is all depends upon
the project and their requirements. Here after getting an
overview about the project now we can easily do the
requirement gathering for our project.
Requirement analysis, also known as requirements engineering or
elicitation, is a critical phase in the software development process. It
involves gathering, documenting, and analysing the needs and
constraints of a project to define its scope and guide subsequent
development.

We develop a detailed Software Requirement Specification for Library


Management System, in this process which will have all the details about
the project from Technical to Non Technical Requirements.
Software Requirement Specification (SRS) Document |
Library Management System
Below are some of the key points in a Software Requirement Specification
Document:
 Introduction
 Purpose
 Scope
 References
 Overall Description
 Product Perspective
 Product Function
 User Classes and characteristics
 Operating Environment
 Assumptions and Dependencies
 Functional Requirements
 Software Requirements
 Hardware Requirements
 Database Requirements
 Non-Functional Requirement
 Usability Requirements
 Security Requirements
 Availability Requirements
 Scalability Requirements
 Performance Requirements
 Design
 Control Flow Diagram
 ER Model of LMS
 Use Case Diagram
 System Features

Note: To know more about What is a SRS Document or How to


write a good SRS for your Project follow these articles.
Let’s Start building a Software Requirement Specification for
Library Management System Document for our project:
4.1 SRS (Library Mangement System) |
Introduction:
4.1.1 Purpose:
The main objective of this document is to illustrate
the requirements of the project Library Management
system. The document gives the detailed
description of the both functional and non-functional
requirements proposed by the client.
The purpose of this project is to provide a friendly
environment to maintain the details of books and
library members also this project maintains easy
circulation system using computers and to provide
different reports. It describes the hardware and
software interface requirements using ER Models
and UML diagrams.
4.1.2 Scope of the Project:
Library Management System is basically updating
the manual library system into an internet-based
web application so that the users can know the
details of their accounts, availability of books and
maximum limit for borrowing and many more
features.
The project is specifically designed for the use of
librarians and library users. The product will work as
a complete user interface for library management
process and library usage from ordinary users.
Library Management System can be used by any
existing or new library to manage its books and
book borrowing, insertion and monitoring. It is
especially useful for any educational institute where
modifications in the content can be done easily
according to requirements.
The project can be easily implemented under
various situations. We can add new features as and
when we require, making reusability possible as
there is flexibility in all the modules. The language
used for developing the project is Html, Bootstrap
and php and mysql for backend. In terms of
performance, tools available, cross platform
compatibility, libraries, cost (freely available), and
development process these languages are pretty
compatible.
4.1.3 References:
Books:
 Software Requirements (Microsoft) Second

Edition By Karl E. Wiegers


 Fundamentals of Database System By Elmasri

 Software Requirements and Specifications: A

Lexicon of Practice, Principles and Prejudices


(ACM Press) by Michael Jackson
 Fundamentals of Software Engineering By Rajib

Mall
 Software Engineering: A Practitioner’s Approach

Fifth Edition By Roger S. Pressman


4.2 SRS (Library Mangement System) | Overall
Description:
4.2.1 Product Perspective:
LMS is a replacement for the ordinary library management systems which
depend on paper work for recording book and users’ information. LMS will
provide an advanced book search mechanism and will make it easy to borrow,
insert and index a book in the library.
4.2.2 Product Functions:
The proposed Library Management System (LMS) is designed to simplify the
day-to-day activities of a library, providing features for both users and
administrators.
Authentication and Authorization System:
 The system implements a secure login mechanism for users, and
administrators. The admin has the authority to manage user access and
ensure data integrity.
For Users:
We will have following features for a User:
1. New User Registration:
 This feature allows new users (students, teachers, etc.) to
sign up for the system by providing the necessary details.
2. Student Login:
 This feature Provides authenticated access for registered
users to use the system.
3. Search Book:
 This feature allow users to search for books based on
criteria such as book ID, book name, or author name,
enhancing the ease of locating desired materials.
4. Issue Book:
 This feature allow users in borrowing books from the library
by recording the transaction and updating the availability
status.
5. Return Book:
 This feature allows users to return books either before the
due date or after the specified time with a late fine, ensuring
proper management of borrowed materials.
For Admin:
1. Record Library Activities:
 This feature allows librarians to enter various records

into the system, such as book issuances, returns,


and non-availability of books.
2. Manage Books:
 This feature allow librarians to keep track of the

library’s books by adding new books or removing


them.
3. Manage Student:
 This feature allow librarians to keep track of number

of students and their details.


4. View Issued Books:
 This feature allows librarians to view all Issued books

with their status.


5. Defaulter List:
 This feature allows librarians to show the details of

the student who did not return the books before the
deadline.
6. Issue Book:
 This feature allow users in borrowing books from the

library by recording the transaction and updating the


availability status.
4.2.3 Class Diagram and Characteristics:
Class Diagram for Library Management System simply describes
structure of Library Management System class, attributes,
methods or operations, relationship among objects.

Aggregation and Multiplicity are two important points that


need to take into consideration while designing a Class
Diagram. Let us understand in detail.
Aggregation:
 Aggregation simply shows a relationship where one thing can
exist independently of other thing. It means to create or
compose different abstractions together in defining a class.
 Aggregation is represented as a part of relationship in class
diagram. In diagram given below, we can see that aggregation
is represented by an edge with a diamond end pointing
towards superclass.
 The “Library Management System” is superclass that consists
of various classes. These classes are User, Book, and
Librarian as shown in diagram. Further, for “Account” class,
“User” is a superclass. All of these, share a relationship and
these relationships are known as aggregate relationships.
Multiplicity:
 Multiplicity means that number of elements of a class is
associated with another class. These relations can be one-to-
one, many-to-many, and many-to-one or one-to-many. For
denoting one element we use 1, for zero elements we use 0,
and for many elements we use *.
 We can see in diagram; many users are associated with many
books denoted by * and this represents a many-to-many type
of relationship. One user has only one account that is denoted
by 1 and this represents a one-to-one type of relationship.
 Many books are associated with one librarian and this
represents many-to-one or one-to-many type of relationship.
All these relationships are shown in diagram.
4.2.4 General Constraints:
 The information of all users, books and libraries

must be stored in a database that is accessible by


the website.
 MS SQL Server will be used as SQL engine and

database.
 The Online Library System is running 24 hours a

day.
 Users may access LMS from any computer that

has Internet browsing capabilities and an Internet


connection.
 Users must have their correct usernames and

passwords to enter into their online accounts and


do actions.
4.2.5 Assumptions and Dependencies:
The assumptions are:-
 The Coding should be error free.
 The system should be user-friendly so that it is easy to use for
the users .
 The information of all users, books and libraries must be
stored in a database that is accessible by the website .
 The system should have more storage capacity and provide
fast access to the database.
 The system should provide search facility and support quick
transactions.
 The Library System is running 24 hours a day .
 Users may access from any computer that has Internet
browsing capabilities and an Pillai Institute of Information
Technology, Engineering, Media Studies & Research
Department of Information Technology Internet connection.
 Users must have their correct usernames and passwords to
enter into their online accounts and do actions .
The Dependencies are:-
 The specific hardware and software due to which the product
will be run.
 On the basis of listing requirements and specification the
project will be developed and run.
 The end users (admin) should have proper understanding of
the product.
 The system should have the general report stored.
 The information of all the users must be stored in a database
that is accessible by the Library System.
 Any update regarding the book from the library is to be
recorded to the database and the data entered should be
correct.
4.3 SRS (Library Mangement System) |
Designing Library Management System :
Use case Diagram for Library Management
System:

This is a broad level diagram of the project showing a basic


overview. The users can be either staff or student. This System
will provide a search functionality to facilitate the search of
resources. This search will be based on various categories .
Further the library staff personal can add/update the resources
and the resource users from the system. The users of the system
can request issue/renew/return of books for which they would
have to follow certain criteria.
ER Model of Library Management System:
ER Diagram is known as Entity-Relationship Diagram, it is used to analyze the
structure of the Database. It shows relationships between entities and their attributes.
An ER Model provides a means of communication.
The Library Management System database keeps track of readers with the following
considerations –
 The system keeps track of the staff with a single point authentication system
comprising login Id and password.
 Staff maintains the book catalog with its ISBN, Book title, price(in INR),
category(novel, general, story), edition, author Number and details.
 A publisher has publisher Id, Year when the book was published, and name of the
book.
 Readers are registered with their user_id, email, name (first name, last name),
Phone no (multiple entries allowed), communication address. The staff keeps track
of readers.
 Readers can return/reserve books that stamps with issue date and return date. If
not returned within the prescribed time period, it may have a due date too.
 Staff also generate reports that has readers id, registration no of report, book no
and return/issue info.
Let’s draw an ER Model of Library Management System:
Entities and their Attributes –

 Book Entity : It has authno, isbn number, title,


edition, category, price. ISBN is the Primary Key
for Book Entity.

 Reader Entity : It has UserId, Email, address,


phone no, name. Name is composite attribute of
firstname and lastname. Phone no is multi valued
attribute. UserId is the Primary Key for Readers
entity.

 Publisher Entity : It has PublisherId, Year of


publication, name. PublisherID is the Primary Key.

 Authentication System Entity : It has LoginId


and password with LoginID as Primary Key.

 Reports Entity : It has UserId, Reg_no, Book_no,


Issue/Return date. Reg_no is the Primary Key of
reports entity.

 Staff Entity : It has name and staff_id with


staff_id as Primary Key.

 Reserve/Return Relationship Set : It has three


attributes: Reserve date, Due date, Return date.
Relationships between Entities –

 A reader can reserve N books but one book


can be reserved by only one reader. The
relationship 1:N.

 A publisher can publish many books but a


book is published by only one publisher. The
relationship 1:N.

 Staff keeps track of readers. The relationship


is M:N.

 Staff maintains multiple reports. The


relationship 1:N.

 Staff maintains multiple Books. The


relationship 1:N.

 Authentication system provides login to


multiple staffs. The relation is 1:N.
Data Flow Diagram of Library Management System:
Data Flow Diagram (DFD) serves as a visual representation of
the flow of information within the system. This diagram illustrates
how data, such as book information, user details, and transaction
records, moves between various components of the LMS.
 Processes, represented by circles or ovals, Depict activities
such as book issuance, returns, and cataloguing.
 Data stores, depicted by rectangles, represent where
information is stored, including databases housing book
records.
 Data flows, indicated by arrows, showcase how data moves
between processes, data stores, and external entities like
library patrons.
 Let’s draw an Data Flow Diagram of Library Management
System:

The DFD provides a concise yet comprehensive overview of the


LMS’s data flow and interactions, aiding in the analysis, design,
and communication of the system’s functional aspects.
4.4 Functional Requirements | SRS (Library
Mangement System)

The LMS must have the following functional


requirements:

 The LMS should store all information about librarian


and other users (student students and faculty
members) like their login info , books issued etc.

 The LMS should store all information about the books


and users in two separated databases.

 The LMS should allow searching books / journals by


author, title , keywords or availability.

 The LMS should generate request’s reports for librarian


, upon which he/she could make decisions about
accepting / rejecting the requests.

 The LMS should provide the module to Issue or return


the books.

 The LMS should provide modules to search request


and renew books .

 The Admin must be able to add/remove/manage books


or users.
4.4.1 Software Requirements:
This software package is developed using html ,
bootstrap for front end . Php and MY SQL Server as the
back end to store the database for backend we are using
Xampp server.

 Operating System: Windows 7, 8, 9, 10 .

 Language: Html , Css , Javascript , Php , sql

 Database: MS SQL Server (back end)

4.4.2 Hardware Requirements:


 Processor: Intel core i3 or above for a stable
experience and fast retrieval of data.

 Hard Disk: 40GB and above

 RAM: 256 MB or more, recommended 2 GB for fast


reading and writing capabilities which will result in
better performance time.
4.5 Non Functional Requirements | SRS (Library Mangement
System)
4.5.1 Usability Requirements:

 Our user interface should be interactive simple and easy to understand . The
system should prompt for the user and administrator to login to the
application for proper input criteria.

 Library management system shall handle expected and non – expected


errors in ways that prevent loss in information and long downtime period.

4.5.2 Security Requirements:

 System should use secured Database.

 Normal users can just read information but they cannot edit or modify
anything except their personal and some other information.

 System will have different types of users and every user has access
constraints.

 Proper user authentication should be provided.

 No one should be able to hack users password .

 There should be separate accounts for admin and members such that no
member can access the database and only admin has the rights to update
the database.

4.5.3 Performance Requirements:


 The system shall accommodate high number of books and users without any
fault.

 Responses to view information shall take no longer than 5 seconds to


appear on the screen.

4.5.4 Error Requirements:


LMS product shall handle expected and non-expected errors in ways that
prevent loss in information and long downtime period.
4.6 SRS (Library Mangement System) |
Appendices:
Appendix A:
 A: Admin, Abbreviation, Acronym, Assumptions.
 B: Books, Business rules.
 C: Class, Client, Conventions.
 D: Data requirement, Dependencies.
 G: GUI.
 K: Key. L: Library, Librarian.
 N: Non-functional Requirement.
 O: Operating environment;
 P: Performance, Perspective, Purpose;
 R: Requirement, Requirement attributes;
 S: Safety, Scope, Security, System features;
 U: User, User class and characteristics, User
requirement;
Glossary:
The following are the list of conventions and acronyms
used in this document and the project as well:
 Administrator: A login id representing a user with user

administration privileges to the software.


 User: A general login id assigned to most users.

 Client: Intended users for the software.

 User Interface Layer: The section of the assignment

referring to what the user interacts with directly.


 Interface: Something used to communicate across

different mediums.
5. Coding or Implementation of Library Mangement
System
At this stage, the fundamental development of the product starts.
For this, developers use a specific programming code as per the
design. Hence, it is important for the coders to follow the
protocols set by the association. Conventional programming
tools like compilers, interpreters, debuggers, etc. are also put
into use at this stage.

In Our project as we will be using php and mysql so we will install all
required software’s:
Implementing Library Mangement System |
Environment Creation:
Required Softwares:
 Xampp software ( for php and mysql )

 VS Code ( you can use any other suitable


editor as well )

 Install Bootstrap or download bootstrap


extension on vscode.

After we downloaded the above required


software now we will start creating our project .
In the following article We will discuss about
different different modules compiled with same
category.
We will discuss it stepwise :
Implementing Library Mangement System |
Environment Creation:
Required Softwares:
 Xampp software ( for php and mysql )

 VS Code ( you can use any other suitable editor

as well )
 Install Bootstrap or download bootstrap

extension on vscode.
After we downloaded the above required software
now we will start creating our project . In the
following article We will discuss about different
different modules compiled with same category.
We will discuss it stepwise :
Database Used in this project:
Below is the SQL code to create those tables in the database,
You can modify the code to create your own database for the
project.
CREATE TABLE `admins` (
`id` int(11) NOT NULL,
`name` varchar(100) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(250) NOT NULL,
`mobile` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data for table `admins`
--

INSERT INTO `admins` (`id`, `name`, `email`,


`password`, `mobile`) VALUES
(1, 'admin', 'admin@gmail.com', 'admin@1234',
1148458757);

--
------------------------------------------------
--------

--
-- Table structure for table `authors`
--

CREATE TABLE `authors` (


`author_id` int(11) NOT NULL,
`author_name` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Dumping data for table `authors`
--

INSERT INTO `authors` (`author_id`,


`author_name`) VALUES
(102, 'M D Guptaa'),
(103, 'Chetan Bhagat'),
(104, 'Munshi Prem Chand');

--
------------------------------------------------
--------

--
-- Table structure for table `books`
--

CREATE TABLE `books` (


`book_id` int(11) NOT NULL,
`book_name` varchar(250) NOT NULL,
`author_id` int(11) NOT NULL,
`cat_id` int(11) NOT NULL,
`book_no` int(11) NOT NULL,
`book_price` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data for table `books`
--
INSERT INTO `books` (`book_id`, `book_name`,
`author_id`, `cat_id`, `book_no`, `book_price`)
VALUES
(1, 'Software engineering', 101, 1, 4518, 270),
(2, 'Data structure', 102, 2, 6541, 300);

--
------------------------------------------------
--------

--
-- Table structure for table `category`
--

CREATE TABLE `category` (


`cat_id` int(11) NOT NULL,
`cat_name` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data for table `category`
--

INSERT INTO `category` (`cat_id`, `cat_name`)


VALUES
(1, 'Computer Science Engineering '),
(2, 'Novel'),
(4, 'Motivational'),
(5, 'Story');

--
------------------------------------------------
--------
--
-- Table structure for table `issued_books`
--

CREATE TABLE `issued_books` (


`s_no` int(11) NOT NULL,
`book_no` int(11) NOT NULL,
`book_name` varchar(200) NOT NULL,
`book_author` varchar(200) NOT NULL,
`student_id` int(11) NOT NULL,
`status` int(11) NOT NULL,
`issue_date` longtext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data for table `issued_books`
--

INSERT INTO `issued_books` (`s_no`, `book_no`,


`book_name`, `book_author`, `student_id`,
`status`, `issue_date`) VALUES
(1, 6541, 'Data structure', 'D S Gupta', 4, 1,
'0000-00-00 00:00:00');

--
------------------------------------------------
--------

--
-- Table structure for table `users`
--
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`name` varchar(50) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`mobile` int(10) NOT NULL,
`address` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `name`, `email`,


`password`, `mobile`, `address`) VALUES
(4, 'user', 'user@gmail.com', 'user@1234',
2147483644, 'XYZ Coloney, PQR Nagar , Jaipur');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `admins`
--
ALTER TABLE `admins`
ADD PRIMARY KEY (`id`);

--
-- Indexes for table `authors`
--
ALTER TABLE `authors`
ADD PRIMARY KEY (`author_id`);

--
-- Indexes for table `books`
--
ALTER TABLE `books`
ADD PRIMARY KEY (`book_id`);

--
-- Indexes for table `category`
--
ALTER TABLE `category`
ADD PRIMARY KEY (`cat_id`);

--
-- Indexes for table `issued_books`
--
ALTER TABLE `issued_books`
ADD PRIMARY KEY (`s_no`);

--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `admins`
--
ALTER TABLE `admins`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `authors`
--
ALTER TABLE `authors`
MODIFY `author_id` int(11) NOT NULL
AUTO_INCREMENT, AUTO_INCREMENT=107;

--
-- AUTO_INCREMENT for table `books`
--
ALTER TABLE `books`
MODIFY `book_id` int(11) NOT NULL
AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT for table `category`
--
ALTER TABLE `category`
MODIFY `cat_id` int(11) NOT NULL
AUTO_INCREMENT, AUTO_INCREMENT=10;

--
-- AUTO_INCREMENT for table `issued_books`
--
ALTER TABLE `issued_books`
MODIFY `s_no` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=19;
--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=8;
COMMIT;

/*!40101 SET
CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT
*/;
/*!40101 SET
CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS
*/;
/*!40101 SET
COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION
*/;
After creating the database we can now start building the
frontend of our project.
Implementing Library Mangement System |
Frontend and Backend Development :
Now we are going to develop our frontend and backend part of
the project in different modules.
Step 1: Creation of Login page Module:
This is how Our Landing page will look like:
Functionalities of this page:
 You Can show some important details on the landing page.

 Existing Users will be able to login through user login page.

 Admins can also login using admin login form.

 Users will be able to signup using above signup button.

 These will be our main functionalities of login page.


Code:
Below is the Code for creating above page:
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>Library Management
System</title>

<meta charset="utf-8" name="viewport"


content="width=device-width,intial-
scale=1">

<link rel="stylesheet" type="text/css"


href="bootstrap-4.4.1/css/bootstrap.min.cs
s">
<script type="text/javascript"
src="bootstrap-4.4.1/js/juqery_latest.js">
</script>
<script type="text/javascript"
src="bootstrap-4.4.1/js/bootstrap.min.js">
</script>
</head>
<style type="text/css">
#main_content{
background: rgba(245, 245, 245,
0.9);
padding: 50px;
}
#side_bar{
background: rgba(245, 245, 245,
0.9);
padding: 50px;
}
body{
background: rgba(245, 245, 245,
0.4);
background-image:
url("https://img.freepik.com/free-photo/ab
undant-collection-antique-books-wooden-
shelves-generated-by-ai_188544-29660.jpg?
size=626&ext=jpg&ga=GA1.1.1546980028.17042
40000&semt=sph");
}
</style>
<body>
<nav class="navbar navbar-expand-lg
navbar-dark bg-dark">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand"
href="index.php">Library Management
System</a>
</div>
<ul class="nav navbar-nav
navbar-right">
<li class="nav-item">
<a class="nav-link"
href="index.php">User Login</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="admin/indexad.php">Admin Login</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="signup.php"></span>Signup</a>
</li>
</ul>
</div>
</nav>
<div class="row">
<div class="col-md-4"
id="side_bar">
<h5>Today's Quote</h5>
<h6>“There is more treasure in
books than in all the pirate's loot on
Treasure Island"</h6>
<p>~ Walt Disney</p>
<h5>Library Timing</h5>
<ul>
<li>Opening: 9:00 AM</li>
<li>Closing: 12:00 PM</li>
</ul>
<h5>What We provide ?</h5>
<ul>
<li>AC Rooms</li>
<li>Free Wi-fi</li>
<li>Learning
Environment</li>
<li>Discussion Room</li>
<li>Free Electricity</li>
</ul>
</div>
<div class="col-md-8"
id="main_content">
<center><h3>User Login
Form</h3></center>

<form action="" method="post">


<div class="form-group">
<label
for="email">Email ID:</label>
<input type="text"
name="email" class="form-control"
required>
</div>
<div class="form-group">
<label
for="password">Password:</label>
<input type="password"
name="password" class="form-control"
required>
</div>
<button type="submit"
name="login" class="btn btn-
primary">Login</button> |
<a href="signup.php">
Signup now !!</a>
</form>
<?php
if(isset($_POST['login']))
{
$connection =
mysqli_connect("localhost","root","");

$db =
mysqli_select_db($connection,"lms");

$query = "select *
from users where email = '$_POST[email]'";

$query_run =
mysqli_query($connection,$query);

while ($row =
mysqli_fetch_assoc($query_run)) {
if($row['email']
== $_POST['email']){
if($row['passw
ord'] == $_POST['password']){
$_SESSION[
'name'] = $row['name'];
$_SESSION[
'email'] = $row['email'];
$_SESSION[
'id'] = $row['id'];
header("Lo
cation: user_dashboard.php");
}
else{
?>
<br><br><c
enter><span class="alert-danger">Wrong
Password !!</span></center>
<?php
}
}
}
}
?>
</div>
</div>
</body>
</html>

If you are a new user you can signup and then use login
for user dashboard.
Step 2: Creation of User Dashboard Module:
This is how user dashboard will look like:

Functionalities of this page:


 Page will show the username and email id .

 User can view Issued books and its count.

 User can view and edit its profile as well.


 Users can change his password also.

 These will be one button for logging out from this


page.

Code:
Below is the Code for creating above page:
User_dashboard.php
<?php

session_start();

function get_user_issue_book_count(){

$connection = mysqli_connect("localhost","root","");

$db = mysqli_select_db($connection,"lms");

$user_issue_book_count = 0;

$query = "select count(*) as user_issue_book_count from


issued_books where student_id = $_SESSION[id]";

$query_run = mysqli_query($connection,$query);

while ($row = mysqli_fetch_assoc($query_run)){

$user_issue_book_count =
$row['user_issue_book_count'];

return($user_issue_book_count);
}

?>

<!DOCTYPE html>

<html>

<head>

<title>Dashboard</title>

<meta charset="utf-8" name="viewport"


content="width=device-width,intial-scale=1">

<link rel="stylesheet" type="text/css" href="bootstrap-


4.4.1/css/bootstrap.min.css">

<script type="text/javascript"
src="bootstrap-4.4.1/js/juqery_latest.js"></script>

<script type="text/javascript"
src="bootstrap-4.4.1/js/bootstrap.min.js"></script>

</head>

<style type="text/css">

body{

background: rgba(245, 245, 245, 0.4);

background-image: url("https://img.freepik.com/free-
photo/abundant-collection-antique-books-wooden-shelves-
generated-by-ai_188544-29660.jpg?
size=626&ext=jpg&ga=GA1.1.1546980028.1704240000&semt=sph ");

</style>

<body>

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">

<div class="container-fluid">

<div class="navbar-header">
<a class="navbar-brand"
href="admin_dashboard.php">Library Management System (LMS)</a>

</div>

<font style="color: white"><span><strong>Welcome: <?


php echo $_SESSION['name'];?></strong></span></font>

<font style="color: white"><span><strong>Email: <?


php echo $_SESSION['email'];?></strong></font>

<ul class="nav navbar-nav navbar-right">

<li class="nav-item dropdown">

<a class="nav-link dropdown-toggle" data-


toggle="dropdown">My Profile </a>

<div class="dropdown-menu">

<a class="dropdown-item"
href="view_profile.php">View Profile</a>

<div class="dropdown-divider"></div>

<a class="dropdown-item"
href="edit_profile.php">Edit Profile</a>

<div class="dropdown-divider"></div>

<a class="dropdown-item"
href="change_password.php">Change Password</a>

</div>

</li>

<li class="nav-item">

<a class="nav-link" href="logout.php">Logout</a>

</li>

</ul>

</div>
</nav>

<div class="row">

<div class="col-md-3" style="margin: 25px">

<div class="card bg-light" style="width: 300px">

<div class="card-header">Book Issued</div>

<div class="card-body">

<p class="card-text">No of book issued: <?


php echo get_user_issue_book_count();?></p>

<a class="btn btn-success"


href="view_issued_book.php">View Issued Books</a>

</div>

</div>

</div>

<div class="col-md-3"></div>

<div class="col-md-3"></div>

</div>

</body>

</html>

View_profile.php
View_isuued_book.php
Update_password.php
Update.php
Edit_profile.php
Change_password.php
For more code:-https://www.geeksforgeeks.org/library-management-system/

Step 3: Creation of Admin Dashboard Module:


This is how our admin dashboard will look like:

Functionalities of this page:


 Page will show the username and email id of admin.
 Admin can view and edit his profile.
 Dashboard will show the Below features:
 Registered Users

 Details of available books.

 Details of all book’s categories.

 Details of authors.

 Issued books details.

 Managerial features:
 Admin can add or manage existing books.
 Admin can add or manage categories of books.
 Admin can add or manage the authors.
 One Important feature is Admin can Issue
Book to any user.
Code:
Below is the Code for creating above page:
Admin_dashboard.php
<?php
require("functions.php");
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>Dashboard</title>
<meta charset="utf-8" name="viewport"
content="width=device-width,intial-scale=1">
<link rel="stylesheet" type="text/css"
href="../bootstrap-4.4.1/css/bootstrap.min.css">
<script type="text/javascript"
src="../bootstrap-4.4.1/js/juqery_latest.js"></s
cript>
<script type="text/javascript"
src="../bootstrap-4.4.1/js/bootstrap.min.js"></s
cript>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-
dark bg-dark">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand"
href="admin_dashboard.php">Library Management
System (LMS)</a>
</div>
<font style="color:
white"><span><strong>Welcome: <?php echo
$_SESSION['name'];?></strong></span></font>
<font style="color:
white"><span><strong>Email: <?php echo
$_SESSION['email'];?></strong></font>
<ul class="nav navbar-nav navbar-
right">
<li class="nav-item dropdown">
<a class="nav-link dropdown-
toggle" data-toggle="dropdown">My Profile </a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="view_profile.php">View Profile</a>
<div class="dropdown-
divider"></div>
<a class="dropdown-item"
href="edit_profile.php">Edit Profile</a>
<div class="dropdown-
divider"></div>
<a class="dropdown-item"
href="change_password.php">Change Password</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link"
href="../logout.php">Logout</a>
</li>
</ul>
</div>
</nav><br>
<nav class="navbar navbar-expand-lg navbar-
light" style="background-color: #e3f2fd">
<div class="container-fluid">

<ul class="nav navbar-nav navbar-


center">
<li class="nav-item">
<a class="nav-link"
href="admin_dashboard.php">Dashboard</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-
toggle" data-toggle="dropdown">Books </a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="add_book.php">Add New Book</a>
<div class="dropdown-
divider"></div>
<a class="dropdown-item"
href="manage_book.php">Manage Books</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-
toggle" data-toggle="dropdown">Category </a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="add_cat.php">Add New Category</a>
<div class="dropdown-
divider"></div>
<a class="dropdown-item"
href="manage_cat.php">Manage Category</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-
toggle" data-toggle="dropdown">Authors</a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="add_author.php">Add New Author</a>
<div class="dropdown-
divider"></div>
<a class="dropdown-item"
href="manage_author.php">Manage Author</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link"
href="issue_book.php">Issue Book</a>
</li>
</ul>
</div>
</nav><br>
<div class="row">
<div class="col-md-3" style="margin: 0px
">
<div class="card bg-light" style="
width: 300px ">
<div class="card-
header">Registered User</div>
<div class="card-body">
<p class="card-text">No.
total Users: <?php echo get_user_count();?></p>
<a class="btn btn-danger"
href="Regusers.php" target="_blank">View
Registered Users</a>
</div>
</div>
</div>
<div class="col-md-3" style="margin:
0px">
<div class="card bg-light"
style="width: 300px">
<div class="card-header">Total
Book</div>
<div class="card-body">
<p class="card-text">No of
books available: <?php echo get_book_count();?
></p>
<a class="btn btn-success"
href="Regbooks.php" target="_blank">View All
Books</a>
</div>
</div>
</div>
<div class="col-md-3" style="margin:
0px">
<div class="card bg-light"
style="width: 300px">
<div class="card-header">Book
Categories</div>
<div class="card-body">
<p class="card-text">No of
Book's Categories: <?php echo
get_category_count();?></p>
<a class="btn btn-warning"
href="Regcat.php" target="_blank">View
Categories</a>
</div>
</div>
</div>
<div class="col-md-3" style="margin:
0px">
<div class="card bg-light"
style="width: 300px">
<div class="card-header">No. of
Authors</div>
<div class="card-body">
<p class="card-text">No of
Authors: <?php echo get_author_count();?></p>
<a class="btn btn-primary"
href="Regauthor.php" target="_blank">View
Authors</a>
</div>
</div>
</div>
</div><br><br>
<div class="row">
<div class="col-md-3" style="margin:
0px">
<div class="card bg-light"
style="width: 300px">
<div class="card-header">Book
Issued</div>
<div class="card-body">
<p class="card-text">No of
book issued: <?php echo get_issue_book_count();?
></p>
<a class="btn btn-success"
href="view_issued_book.php" target="_blank">View
Issued Books</a>
</div>
</div>
</div>
<div class="col-md-3"></div>
<div class="col-md-3"></div>
</div>
</body>
</html>
View_profile.php

Edit_profile

Change_password
For more:-https://www.geeksforgeeks.org/library-management-system/

Step 4: Creation of Add/Manage Book Module :


This is how Add/Manage Books will look like:
Features:

 Admin can add a new book using its details.

 Admin can edit the details of existing books.

 All changes will be reflected on our SQL


database.
Code:
Below is the code for modules mentioned above:
Add_book.php
<?php
require("functions.php");
session_start();
#fetch data from database
$connection =
mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$name = "";
$email = "";
$mobile = "";
$query = "select * from admins where email =
'$_SESSION[email]'";
$query_run = mysqli_query($connection,$query);
while ($row = mysqli_fetch_assoc($query_run)){
$name = $row['name'];
$email = $row['email'];
$mobile = $row['mobile'];
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Add New Book</title>
<meta charset="utf-8" name="viewport"
content="width=device-width,intial-scale=1">
<link rel="stylesheet" type="text/css"
href="../bootstrap-4.4.1/css/bootstrap.min.css">
<script type="text/javascript"
src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
<script type="text/javascript"
src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript">
function alertMsg(){
alert(Book added successfully...);
window.location.href =
"admin_dashboard.php";
}
</script>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-
dark">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand"
href="admin_dashboard.php">Library Management System
(LMS)</a>
</div>
<font style="color:
white"><span><strong>Welcome: <?php echo
$_SESSION['name'];?></strong></span></font>
<font style="color:
white"><span><strong>Email: <?php echo
$_SESSION['email'];?></strong></font>
<ul class="nav navbar-nav navbar-right">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle"
data-toggle="dropdown">My Profile </a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="">View Profile</a>
<div
class="dropdown-divider"></div>
<a class="dropdown-item"
href="#">Edit Profile</a>
<div
class="dropdown-divider"></div>
<a class="dropdown-item"
href="change_password.php">Change Password</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link"
href="../logout.php">Logout</a>
</li>
</ul>
</div>
</nav><br>
<nav class="navbar navbar-expand-lg navbar-light"
style="background-color: #e3f2fd">
<div class="container-fluid">

<ul class="nav navbar-nav navbar-center">


<li class="nav-item">
<a class="nav-link"
href="admin_dashboard.php">Dashboard</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle"
data-toggle="dropdown">Books </a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="add_book.php">Add New Book</a>
<div
class="dropdown-divider"></div>
<a class="dropdown-item"
href="manage_book.php">Manage Books</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle"
data-toggle="dropdown">Category </a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="add_cat.php">Add New Category</a>
<div
class="dropdown-divider"></div>
<a class="dropdown-item"
href="manage_cat.php">Manage Category</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle"
data-toggle="dropdown">Authors</a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="add_author.php">Add New Author</a>
<div
class="dropdown-divider"></div>
<a class="dropdown-item"
href="manage_author.php">Manage Author</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link"
href="issue_book.php">Issue Book</a>
</li>
</ul>
</div>
</nav><br>
<center><h4>Add a new Book</h4><br></center>
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-4">
<form action="" method="post">
<div class="form-group">
<label for="email">Book
Name:</label>
<input type="text"
name="book_name" class="form-control" required>
</div>
<div class="form-group">
<label for="mobile">Author
ID:</label>
<input type="text"
name="book_author" class="form-control" required>
</div>
<div class="form-group">
<label for="mobile">Category
ID:</label>
<input type="text"
name="book_category" class="form-control" required>
</div>
<div class="form-group">
<label for="mobile">Book
Number:</label>
<input type="text"
name="book_no" class="form-control" required>
</div>
<div class="form-group">
<label for="mobile">Book
Price:</label>
<input type="text"
name="book_price" class="form-control" required>
</div>
<button type="submit"
name="add_book" class="btn btn-primary">Add
Book</button>
</form>
</div>
<div class="col-md-4"></div>
</div>
</body>
</html>

<?php
if(isset($_POST['add_book']))
{
$connection =
mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "insert into books
values(null,'$_POST[book_name]','$_POST[book_author]','
$_POST[book_category]',$_POST[book_no],
$_POST[book_price])";
$query_run = mysqli_query($connection,$query);
#header("location:add_book.php");
}
?>

Step 5: Creation of Add/Manage Book Category


Module:
This is how Add/Manage Book Category will look like:
Features:
 Admin can add a new book category using its details.

 Admin can edit the existing book category.

 All changes will be reflected on our SQL database.

Similarly we can add and manage the author details as


well.
Code:
Below is the code for above mentioned details:
Add_cat
<?php
require("functions.php");
session_start();
#fetch data from database
$connection =
mysqli_connect("localhost","root","");
$db =
mysqli_select_db($connection,"lms");
$name = "";
$email = "";
$mobile = "";
$query = "select * from admins where
email = '$_SESSION[email]'";
$query_run = mysqli_query($connection,
$query);
while ($row =
mysqli_fetch_assoc($query_run)){
$name = $row['name'];
$email = $row['email'];
$mobile = $row['mobile'];
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Add New Category</title>
<meta charset="utf-8" name="viewport"
content="width=device-width,intial-
scale=1">
<link rel="stylesheet" type="text/css"
href="../bootstrap-4.4.1/css/bootstrap.min
.css">
<script type="text/javascript"
src="../bootstrap-4.4.1/js/juqery_latest.j
s"></script>
<script type="text/javascript"
src="../bootstrap-4.4.1/js/bootstrap.min.j
s"></script>
<script type="text/javascript">
function alertMsg(){
alert(Book added
successfully...);
window.location.href =
"admin_dashboard.php";
}
</script>
</head>
<body>
<nav class="navbar navbar-expand-lg
navbar-dark bg-dark">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand"
href="admin_dashboard.php">Library
Management System (LMS)</a>
</div>
<font style="color:
white"><span><strong>Welcome: <?php echo
$_SESSION['name'];?></strong></span></font
>
<font style="color:
white"><span><strong>Email: <?php echo
$_SESSION['email'];?></strong></font>
<ul class="nav navbar-nav
navbar-right">
<li class="nav-item
dropdown">
<a class="nav-link
dropdown-toggle" data-toggle="dropdown">My
Profile </a>
<div class="dropdown-
menu">
<a class="dropdown-
item" href="">View Profile</a>
<div class="dropdown-
divider"></div>
<a class="dropdown-
item" href="#">Edit Profile</a>
<div class="dropdown-
divider"></div>
<a class="dropdown-
item" href="change_password.php">Change
Password</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link"
href="../logout.php">Logout</a>
</li>
</ul>
</div>
</nav><br>
<nav class="navbar navbar-expand-lg
navbar-light" style="background-color:
#e3f2fd">
<div class="container-fluid">

<ul class="nav navbar-nav


navbar-center">
<li class="nav-item">
<a class="nav-link"
href="admin_dashboard.php">Dashboard</a>
</li>
<li class="nav-item
dropdown">
<a class="nav-link
dropdown-toggle" data-
toggle="dropdown">Books </a>
<div class="dropdown-
menu">
<a class="dropdown-
item" href="add_book.php">Add New Book</a>
<div class="dropdown-
divider"></div>
<a class="dropdown-
item" href="manage_book.php">Manage
Books</a>
</div>
</li>
<li class="nav-item
dropdown">
<a class="nav-link
dropdown-toggle" data-
toggle="dropdown">Category </a>
<div class="dropdown-
menu">
<a class="dropdown-
item" href="add_cat.php">Add New
Category</a>
<div class="dropdown-
divider"></div>
<a class="dropdown-
item" href="manage_cat.php">Manage
Category</a>
</div>
</li>
<li class="nav-item
dropdown">
<a class="nav-link
dropdown-toggle" data-
toggle="dropdown">Authors</a>
<div class="dropdown-
menu">
<a class="dropdown-
item" href="add_author.php">Add New
Author</a>
<div class="dropdown-
divider"></div>
<a class="dropdown-
item" href="manage_author.php">Manage
Author</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link"
href="issue_book.php">Issue Book</a>
</li>
</ul>
</div>
</nav><br>
<center><h4>Add a new
Category</h4><br></center>
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-4">
<form action=""
method="post">
<div class="form-
group">
<label
for="name">Category Name:</label>
<input type="text"
class="form-control" name="cat_name"
required>
</div>
<button type="submit"
name="add_cat" class="btn btn-primary">Add
Catogry</button>
</form>
</div>
<div class="col-md-4"></div>
</div>
</body>
</html>
<?php
if(isset($_POST['add_cat']))
{
$connection =
mysqli_connect("localhost","root","");
$db =
mysqli_select_db($connection,"lms");
$query = "insert into category
values('','$_POST[cat_name]')";
$query_run =
mysqli_query($connection,$query);
header("Location:admin_dashboard.p
hp");
}
?>

Step 6: Creation of Issue Book Module :


This is how Issue Book Page will look like:
Features:

 Admin can use this feature to Issue any book from


library to the user.

 Database will store the student id and book details for


security.
Code:
Below is the code for the above mentioned page:
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>Issue Book</title>
<meta charset="utf-8" name="viewport"
content="width=device-width,intial-scale=1">
<link rel="stylesheet" type="text/css" href="../bootstrap-
4.4.1/css/bootstrap.min.css">
<script type="text/javascript"
src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
<script type="text/javascript"
src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript">
function alertMsg(){
alert(Book added successfully...);
window.location.href = "admin_dashboard.php";
}
</script>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-
dark">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand"
href="admin_dashboard.php">Library Management System
(LMS)</a>
</div>
<font style="color:
white"><span><strong>Welcome: <?php echo
$_SESSION['name'];?></strong></span></font>
<font style="color: white"><span><strong>Email:
<?php echo $_SESSION['email'];?></strong></font>
<ul class="nav navbar-nav navbar-right">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-
toggle="dropdown">My Profile </a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="">View Profile</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item"
href="#">Edit Profile</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item"
href="change_password.php">Change Password</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link"
href="../logout.php">Logout</a>
</li>
</ul>
</div>
</nav><br>
<nav class="navbar navbar-expand-lg navbar-light"
style="background-color: #e3f2fd">
<div class="container-fluid">

<ul class="nav navbar-nav navbar-center">


<li class="nav-item">
<a class="nav-link"
href="admin_dashboard.php">Dashboard</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-
toggle="dropdown">Books </a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="add_book.php">Add New Book</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item"
href="manage_book.php">Manage Books</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-
toggle="dropdown">Category </a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="add_cat.php">Add New Category</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item"
href="manage_cat.php">Manage Category</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-
toggle="dropdown">Authors</a>
<div class="dropdown-menu">
<a class="dropdown-item"
href="add_author.php">Add New Author</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item"
href="manage_author.php">Manage Author</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link"
href="issue_book.php">Issue Book</a>
</li>
</ul>
</div>
</nav><br>
<center><h4>Issue Book</h4><br></center>
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-4">
<form action="" method="post">
<div class="form-group">
<label for="book_name">Book
Name:</label>
<input type="text"
name="book_name" class="form-control" required>
</div>
<div class="form-group">
<label for="book_author">Author
ID:</label>
<select class="form-control"
name="book_author">
<option>-Select
author-</option>
<?php
$connection =
mysqli_connect("localhost","root","");
$db =
mysqli_select_db($connection,"lms");
$query = "select
author_name from authors";
$query_run =
mysqli_query($connection,$query);
while($row =
mysqli_fetch_assoc($query_run)){
?>
<option><?php
echo $row['author_name'];?></option>
<?php
}
?>
</select>
<!--<input type="text"
name="book_author" class="form-control" required> -->
</div>
<div class="form-group">
<label for="book_no">Book
Number:</label>
<input type="text"
name="book_no" class="form-control" required>
</div>
<div class="form-group">
<label for="student_id">Student
ID:</label>
<input type="text"
name="student_id" class="form-control" required>
</div>
<div class="form-group">
<label for="issue_date">Issue
Date:</label>
<input type="text"
name="issue_date" class="form-control" value="<?php echo
date("yy-m-d");?>" required>
</div>
<button type="submit"
name="issue_book" class="btn btn-primary">Issue
Book</button>
</form>
</div>
<div class="col-md-4"></div>
</div>
</body>
</html>

<?php
if(isset($_POST['issue_book']))
{
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "insert into issued_books values(null,
$_POST[book_no],'$_POST[book_name]','$_POST[book_author
]',$_POST[student_id],1,'$_POST[issue_date]')";
$query_run = mysqli_query($connection,$query);
#header("Location:admin_dashboard.php");
}
?>

These are the basic modules we require to make


our LMS Project , you can add some more exiting
features using your own new idea as well.
Coding phase is the most important and time
consuming phase after this phase we will be having
a source code for our project and it will be through
for testing phase.
Step 6- Testing Library Mangement System
Testing is a crucial phase in the development of a library
management system (LMS) to ensure that it meets its
intended requirements, functions correctly, and is free of
bugs. Below are some key steps and considerations for
the testing phase of a library management system:
1. Unit Testing:
 Test individual modules or components of the system

in isolation to ensure they function as intended.


 Identify and fix any bugs or issues found at the

module level.
2. Integration Testing:
 Verify that different modules and components of the

LMS work together seamlessly.


 Test data flow and interactions between various parts

of the system.
3. Functional Testing:
 Validate that the LMS performs its intended functions

accurately and efficiently.


 Test basic functionalities such as adding, updating,

and deleting books, managing user accounts, and


generating reports.
4. User Interface (UI) Testing:
 Ensure that the user interface is user-friendly,

intuitive, and visually appealing.


 Check for consistency in design elements and

responsiveness across different devices.


5. Performance Testing:
 Assess the system’s performance under normal and

peak load conditions.


 Check response times, scalability, and overall system
stability.
6. Security Testing:
 Identify and rectify any security vulnerabilities in the

system.
 Ensure that user data is handled securely, and

unauthorized access is prevented.


7. Usability Testing:
 Evaluate the LMS from an end-user perspective to

ensure ease of use.


 Gather feedback on user interfaces, navigation, and

overall user experience.


8. Compatibility Testing:
 Test the LMS on various browsers, operating

systems, and devices to ensure cross-platform


compatibility.
9. Regression Testing:
 Conduct tests to ensure that new changes or fixes do

not negatively impact existing functionalities.


 Re-run previously executed test cases to verify the

overall system stability.


10. Deployment Testing:
 Conduct tests in the production environment to

ensure a smooth transition from the testing phase to


live operation.
Step 7- Creating Project Presentation on Library
Management System:
In this phase of software development, Team will have to
present their work in front of authorities and they will
judge your work and give suggestions on the
improvement areas.
The ideal length of the ppt should be min 10 slides and
maximum 15 slides , you will not have too much time to
explain your project so prepare your presentation
carefully using important key points.
Some of the key points (slides) which your presentation
should have are given below:
1. Project Name and Team Details
2. Introduction
3. Purpose
4. Project Scope
5. Problem Statement
6. Proposed Solution
7. Product Functionalities
8. Flow chart of the project
9. Analysis of model
10. Summary
Let’s create a sample PowerPoint presentation for Library
Managment System Project:
Step 8- Writing a Research Paper on Library
Management System:
You can also write a research paper on the basis of your work . The Research
paper will explore the significance of implementing an Integrated Library
Management System (LMS) to enhance the efficiency, accessibility, and overall
functionality of libraries.

Key points for this paper includes:


 Abstract
 Introduction
 Related Work
 Methodologies Used
 Features
 Result and Discussion
 Acknowledgement
Future Enhancements for Library Management
System
 Integration with RFID or barcoding for efficient book

tracking.
 Notification system for overdue books and fines.

 Online reservation of books.

 Integration with external databases for expanded book

catalogue.

Here's a complete roadmap for you to become a


developer: Learn DSA -> Master
Frontend/Backend/Full Stack -> Build Projects ->
Keep Applying to Jobs And why go anywhere else
when our DSA to Development: Coding Guide helps you
do this in a single program!
Apply now to our DSA to Development Program and our
counsellors will connect with you for further guidance &
support.

You might also like