Final ADP Report
Final ADP Report
A Project Report
Submitted by:
BACHELOR OF TECHONOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
1
CERTIFICATE
This is to certify that the project report titled “Library Management System” being submitted
by Amiyanshu Sahoo and Mansish Mahakul from Sec 2141011(K) to the Institute of Technical
Education and Research, Siksha ‘O’ Anusandhan (Deemed to be) University, Bhubaneswar for
the partial fulfilment for the degree of Bachelor of Technology in Computer Science and
Engineering is a record of original confide work carried out by them under my/our supervision
and guidance. The project work, in my/our opinion, has reached the requisite standard fulfilling
the requirements for the degree of Bachelor of Technology.
The results contained in this project work have not been submitted in part or full to any other
University or Institute for the award of any degree or diploma.
2
ACKNOWLEDGEMENT
I am deeply grateful to Institute of Technical Education and Research for providing the
facilities, resources, and guidance that made the successful completion of this project,
Library Management System, possible. I would like to express my heartfelt gratitude to my
Advisor Mr Avik Bose Sir for his constant support, valuable suggestions, and constructive
feedback throughout the project development process. His expertise and encouragement have
been instrumental in shaping this project.
I would also like to extend my sincere gratitude to my group mate, Amiyanshu Sahoo for
their invaluable collaboration, dedication, and teamwork throughout the project. Their efforts
and contributions were pivotal in ensuring the project’s success
Thank you all for your invaluable contribution to the success of this endeavour.
Avik Bose
Date:
3
DECLARATION
We declare that this written submission represents our ideas in our own words and where
other’s ideas or words have been included, we have adequately cited and referenced the original
sources. We also declare that we have adhered to all principles of academic honesty and
integrity and have not misrepresented or fabricated or falsified any idea/fact/source in our
submission. We understand that any violation of the above will cause for disciplinary action by
the University and can also evoke penal action from the sources which have not been properly
cited or from whom proper permission has not been taken when needed.
4
REPORT APPROVAL
Examiner(s)
________________________
________________________
________________________
Supervisor
________________________
Project Coordinator
________________________
5
PREFACE
This project report titled "Library Management System" has been undertaken as part of the
curriculum for the Bachelor of Technology in Computer Science and Engineering. The report
presents a detailed account of the development and implementation of a software solution
designed to streamline and enhance the management of library resources.
The primary objective of this project is to develop an efficient, user-friendly, and reliable
system to manage book records, user transactions, and library operations. This includes
features such as book addition, borrowing, return tracking, and user account management,
aiming to minimize manual errors and improve overall operational efficiency.
The report elaborates on the project's goals, methodologies, tools, and technologies
employed. It also discusses the challenges encountered during the development process and
the solutions implemented to overcome them.
Through this project, we have gained valuable insights into software development practices,
database management, and the integration of front-end and back-end systems. This hands-on
experience has not only strengthened our technical knowledge but also enhanced our
problem-solving skills and ability to work effectively as a team.
6
TABLE OF CONTENTS
Title Page i
Certificate ii
Acknowledgement iii
Declaration iv
Report Approval v
Preface vi
Individual Contributions vii
Table of Contents viii
List of Figures ix
List of Tables (optional) x
1. INTRODUCTION 11
1.1 Project Overview/Specifications 12
1.2 Motivation(s) 13
1.3 Uniqueness of the Work (if any) 14
1.4 Report Layout 15
2. LITERATURE SURVEY 15
2.1 Existing System 15
2.2 Problem Identification 16
4. RESULTS / OUTPUTS 31
4.1 System Specification
4.2 Parameters Used (if any)
4.3Experimental Outcomes
5. CONCLUSIONS 39
6. REFERENCES 41
7. APPENDICES 42
8. REFLECTION OF THE TEAM MEMBERS ON THE PROJECT 43
7
LIST OF FIGURES
1 Schematic Layout 18
2 Flow of Data 25
3 Component Interaction 25
4 LIST OF FIGURES
Flow chart of the Application 28
5 Use Case 29
6 Security Flow chart 30
7 Login Page 33
8 Updated Index Page 35
9 Database Entries 38
8
LIST OF TABLES
1 Schematic Layout 18
2 Flow of Data 25
3 Component Interaction 25
5 Use Case 29
7 Login Page 33
9 Database Entries 38
9
INTRODUCTION
1.1 PROJECT OVERVIEW
The Library Management System is designed to manage the daily activities of a library,
including availability of books, name of books, and user information and management.
The system leverages the Spring Boot framework and MySQL database for efficient
performance.
Every organization, whether big or small, has challenges to overcome and managing
the information of Books, Student, Librarian, Address, Member. The project aims to
streamline library operations by providing an integrated platform that supports multi-
user interactions, secure data handling, and robust reporting tools. By utilizing modern
web technologies, the system ensures scalability and maintainability, making it
suitable for libraries of various sizes. Libraries are integral to the academic and social
growth of a community, but many still rely on manual or outdated systems for
operations. These traditional methods are prone to inefficiencies and errors, impacting
both library staff and users. The growing digitization of services across all domains
inspired this project to create a system that simplifies library management, enhances
user experience, and meets the demands of modern users.
The application is reduced as much as possible to avoid errors while entering the data.
It also provides error message while entering invalid data. No formal knowledge is
needed for the user to use this system. Thus, by this all it proves it is user-friendly.
Registration Form
Login Form
Student Information
Book Information
Updation of Books
10
1.2 MOTIVATION(s)
The motivation behind developing the Library Management System (LMS) stems from
several key factors that highlight the need for an efficient, user-friendly, and modern
approach to library management. These motivations can be categorized into the
following areas:
Traditional library management often relies on manual processes, which can lead to
significant inefficiencies. Librarians frequently face challenges such as tracking book
availability, managing user accounts, and processing transactions.
In an increasingly digital world, users expect seamless and intuitive interactions with
technology. The LMS is designed to provide a user-friendly interface that simplifies the
process of searching for books, managing user accounts
As libraries evolve, they face new challenges, including the need to manage digital
resources, respond to changing user expectations, and adapt to budget constraints.
11
1.3 Uniqueness of the Work
The Library Management System (LMS) developed through the provided code
exhibits several unique features and design choices that distinguish it from
other library management solutions. These aspects not only enhance its
functionality but also improve user experience and operational efficiency. Below are
The LMS includes a seamless user registration and login process, allowing users
to create accounts and securely access the system. The use of Spring Boot's
built-in security features ensures that user credentials are handled securely, with
password encryption and session management.
12
1.4 REPORT LAYOUT
Testing and Validation: Description of the testing procedures used to validate the
system's functionality and ensure its reliability.
This structured approach will provide a clear and concise overview of the entire project
lifecycle, from initial conception to final implementation.
13
LITERATURE SURVEY
2.1 EXISTING SYSTEM
14
2.2 Problem Identification
Problem: Users are often required to visit the library in person to search for books,
check availability, or manage their accounts. This limitation restricts access to library
resources, especially for individuals with mobility issues or those living far from the
library.
Impact: Limited accessibility can deter users from utilizing library services, resulting
in decreased engagement and lower circulation rates.
Problem: Existing systems typically lack advanced search capabilities, forcing users
to rely on basic keyword searches or physical catalogs. This can make it difficult for
Impact: Ineffective search functionality can lead to user frustration and a negative
perception of the library's efficiency, potentially discouraging them from returning.
15
MATERIALS AND METHODS
3.1 Description
User Registration and Authentication: Users can create accounts, log in,
and manage their profiles securely.
Book Availability: Users can search for books if it is available or not in the
library.
16
3.2 Schematic Layout/Model Diagram
Description of Components:
User Interface: The front-end of the application where users interact with
the system. It is designed to be responsive and user-friendly, ensuring
accessibility across devices.
Controller Layer: Handles incoming requests from the user interface and
directs them to the appropriate service methods. It acts as an intermediary
between the user interface and the business logic.
Service Layer: Contains the business logic of the application, processing
data and coordinating between the controller and data access layers. It
encapsulates the core functionalities of the LMS.
Data Access Layer: Manages interactions with the MySQL database,
performing CRUD operations on library resources and user data. It abstracts
the database interactions from the rest of the application.
17
3.3 METHODS USED
18
3.4 TOOLS USED
Spring Boot: A Java-based framework used for building the back-end of the
application. It simplifies the development process by providing built-in features for
configuration, security, and data access, allowing developers to focus on business
logic.
JAVA17: The programming language used for implementing the application logic.
Thymeleaf: A modern server-side Java template engine used for rendering the
user interface. Thymeleaf allows for the creation of dynamic web pages that can
interact seamlessly with the back-end, providing a rich user experience.
Git: A version control system used for managing the source code and facilitating
collaboration among team members during the development process. Git allows
for tracking changes, branching, and merging code efficiently.
Maven: A build automation tool used primarily for Java projects. Maven simplifies
the process of managing project dependencies, building the application, and
packaging it for deployment.
19
3.5 WORKING PROCESS DESCRIPTION
The process begins with user authentication. When a user attempts to access the
system, they are presented with a login form. The provided username and
password are then validated against the user data stored in the database. This
validation is handled by the UserController and the UserService. Here's a snippet
of the login method from the User Controller:
1.USER REGISTRATION
Users can register for an account by providing their details. The following code
snippet demonstrates how user registration is handled in a Spring Boot
application.
2.User Authentication:
Users can log in using their registered email and password. The following code
snippet shows how authentication is implemented.
4. Book Management
Adding Books
Librarians can add new books to the inventory, with all the details of the
books. The following code snippet demonstrates how this functionality is
implemented.
21
Librarians can update or delete existing book records. The following code
snippets illustrate these operations.
Books Management:
Book management typically involves a range of activities and practices
aimed at efficiently organizing, maintaining, and utilizing a collection of
books. . The following code snippets illustrate these operations.
5.Thymeleaf Implementations
22
Thymeleaf is used to render HTML templates for user registration and login pages.
It allows the application to dynamically populate the HTML with data from the
server-side, such as user messages and form data.
6.Flow Of Data
The flow of data through the system can be illustrated in the following flowchart:
23
7.Component Interaction
The interaction between different components of the system can be visualized in the following
sequence diagram:
24
8.Class Diagram
The class diagram provides a visual representation of the classes in the system and their
relationships.
25
9.Deployment Architecture
26
The deployment architecture outlines how the application is hosted and accessed by users. It
typically includes the following components:
1. Client Layer: This is where users interact with the application through web browsers
or mobile devices.
2. Web Server Layer: This layer hosts the application and serves the web pages to the
client. It handles HTTP requests and responses.
3. Application Server Layer: This layer contains the business logic of the application.
It processes requests from the web server and interacts with the database.
4. Database Layer: This layer is responsible for data storage and management. It stores
user and employee information.
Deployment Diagram
27
Below is a flowchart that illustrates the main functionalities of the Library Management
System:
28
The following use case diagram illustrates the interactions between users and the system:
12.Security Purposes
Security is a critical aspect of any web application, especially when handling sensitive user
data such as personal information and passwords. The Employee Management System (EMS)
implements several security measures to protect user data and ensure secure access to the
application. Below are the key security features and practices employed in the EMS:
User Authentication
Password Hashing
Input Validation
Session Management
Error Handling
Security Flowchart:
29
RESULTS/OUTPUTS
30
4.1 System Specification
The system specifications outline the requirements and configurations necessary for the
successful deployment and operation of the Library Management System (LMS). This includes
hardware, software, and network requirements.
Hardware Requirements
Server / Client:
Processor: Intel Core i5 or equivalent
RAM: 4 GB or more
Storage: 100 GB SSD or HDD
Network: Ethernet connection
Software Requirements
Operating System:
Server/Client: Windows Server 2019
Backend:
Java Development Kit (JDK) 11 or higher
Spring Boot 2.5 or higher
Frontend:
Thymeleaf
Bootstrap 5.0 or higher
HTML5, CSS3, JavaScript
Database:
MySQL 5.7 or higher
Development Tools:
Integrated Development Environment (IDE): Eclipse
Version Control: Git
31
The following parameters are used in the Employee Management System to ensure proper
functionality and security:
1. User Parameters:
Email: Unique identifier for user login.
Password: Securely hashed for authentication.
2. Books Parameters:
Employee ID: Unique identifier for each employee.
Name: Full name of the employee.
Email: Contact email of the employee.
Address: Residential address of the employee.
Status: Indicates if the employee is active or inactive.
3. Session Parameters:
Session ID: Unique identifier for user sessions.
Timeout: Duration after which the session expires (e.g., 30 minutes).
Database Connection Parameters: URL, username, and password for the MySQL
database.
File Upload Directory: The directory where lesson plans are stored.
spring.datasource.url:jdbc:mysql://localhost:3306/lib_crud
spring.datasource.driver-class-name:com.mysql.cj.jdbc.Driver
spring.datasource.username:root
This screenshot shows the Registration page, where users enter their name, email and
password to register themselves.
Screenshot2: Login Page
This screenshot displays, after registering successfully, it will land over to the login page where
it highlights the input for Email and Password
Screenshot3: Home Page
33
This screenshot displays the home page where we will get a introduction about the library and
explore its features.
Screenshot4: Index Page
This screenshot displays the index page where all the data of the books will be stores and
managed.
34
Screenshot5: AddBook Page
This screenshot displays the page where we can add various book with author name, book
name, email address of the author, quantity of the book, and availability of the book.
Screenshot6: Index Page with all the books added
This screenshot displays the page where all the books have been added and we can also
perform actions on it.
Screenshot7: Book Updation
35
This screenshot displays the page, where the details of the books have been updated i.e. the
quantity of the books have been changed.
This screenshot displays the page where the third book has been deleted and the message
“Deleted Successfully” has also been popped out.
Screenshot9: Journal details
36
This screenshot displays the page that contains the journal details which has been initialized
but not been added yet.
Screenshot10: Wrong Credentials
This screenshot displays the page where an error is popped out when we login with wrong
credentials.
DATABASE ENTRIES:
37
Screenshot11: Database of the Book Table
This screenshot displays the total number of books present in the database with its
components like name of the book,quantity,email.
Screenshot12: After Edition
This screenshot displays the total number of books after the updation is done.
Screenshot12: Database of the User
This screenshot displays the total number of users that have registered into the Library
Management System.
38
CONCLUSION
The Library Management System (LMS) project has been successfully designed and
implemented to address the challenges faced in managing library resources efficiently. This
system provides a comprehensive solution for both library administrators and users,
facilitating the management of books, user registrations, and transactions in a streamlined
manner.
Key Achievements
1. User -Friendly Interface: The LMS features an intuitive and responsive user interface
built with modern web technologies such as HTML, CSS, and JavaScript, ensuring ease
of use for all users, including those with minimal technical knowledge.
2. Robust Functionality: The system supports essential functionalities such as user
registration, login, book addition, editing, deletion, and searching. This allows library
staff to manage resources effectively while providing users with the ability to access
and manage their accounts seamlessly.
3. Secure Authentication: Security measures have been implemented to protect user
data and ensure secure access to the system. Passwords are hashed, and user sessions
are managed effectively to prevent unauthorized access.
4. Database Management: The use of a relational database (MySQL) allows for efficient
data storage and retrieval, ensuring that all library records are maintained accurately
and can be accessed quickly.
5. Scalability and Maintainability: The system is designed with scalability in mind,
allowing for future enhancements and the addition of new features as the library's
needs evolve. The modular architecture facilitates easy maintenance and updates.
6. Error Handling and User Feedback: The LMS includes comprehensive error handling
and user feedback mechanisms, ensuring that users are informed of any issues
encountered during their interactions with the system. This enhances the overall user
experience and builds trust in the system.
39
Future Enhancements
While the current implementation of the Library Management System meets the core
requirements, there are several potential enhancements that could be considered for future
development:
Mobile Application: Developing a mobile application version of the LMS to provide
users with on-the-go access to library resources.
Advanced Search Features: Implementing advanced search capabilities, including
filters for genres, authors, and publication dates, to improve resource discoverability.
Integration with External Systems: Exploring integration with external library
systems or APIs to expand the range of available resources and services.
Analytics and Reporting: Adding analytics features to provide insights into library
usage patterns, helping administrators make informed decisions about resource
management.
Final Thoughts
The Library Management System project has successfully demonstrated the ability to
streamline library operations, enhance user experience, and provide a secure platform for
managing library resources. By leveraging modern technologies and best practices in software
development, the LMS stands as a valuable tool for libraries seeking to improve their service
delivery and operational efficiency. The project not only fulfils the immediate needs of library
management but also lays the groundwork for future advancements in library technology.
40
REFERENCES
[1] Hands on Application Development using Spring Boot, Shagun Bakliwal, BPB
Publication India.
[2] Database System Concepts by Avi Silberschatz, Henry F. Korth and S.
Sudarshan, McGraw-Hill Publication.
[3] Software Engineering: A Practitioner’s Approach by Roger S. Pressman,
McGraw-Hill Publication.
[4] Ahmed, M. T., & Sharma, P. (2019). Database Design for Library Management
System. International Journal of Computer Applications, 11(2), 45-51.
[5] Pressman, R. S. (2014). Software Engineering: A Practitioner’s Approach (8th
ed.), McGraw-Hill Education.
41
APPENDICES
42
REFLECTION OF THE TEAM MEMBERS ON THE PROJECT
What we Learnt as a Team
As a group, we discovered the value of teamwork and good communication. Each
of us brought various expertise to the table, allowing us to effectively split work.
We observed that brainstorming and frequent talks helped develop our ideas,
resulting in a well-organised design and implementation process. The experience
also taught us how to manage arguments constructively and adjust to challenges
along the project's timeframe.
What I Learned as a Member
As an individual, I improved my technical abilities, particularly in building and
implementing a reliable Library Management System. I learnt how to use backend
technologies, maintain databases, and implement security measures such as
password encryption. I also enhanced my capacity to collaborate, take initiative,
and make effective contributions to the team's development.
Write a thoughtful paragraph on strengths and weaknesses of your
design process.
Our design process was systematic and focused, with clear planning and task
delegation as our key strengths. We leveraged agile principles to adapt quickly to
changes, and regular feedback sessions helped identify and rectify errors early.
However, one of the weaknesses was underestimating the time required for testing
and debugging, which led to a last-minute rush. Another area for improvement is
our documentation, which could have been more detailed to ensure better
maintainability in the future.
In summary, the project allowed us to grow individually and as a team, enhancing
both our technical expertise and soft skills. While our design process was generally
effective, addressing its weaknesses will further improve our efficiency in future
projects.
43