0% found this document useful (0 votes)
26 views60 pages

Final Report 1

Uploaded by

Khan Afrid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views60 pages

Final Report 1

Uploaded by

Khan Afrid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 60

A

Project Report

On

“Library Management System”

Submitted in Partial Fulfillment of the Requirements for the

Award of the Degree of

Bachelor of Computer Application

Submitted by

Nishant Chauhan (202210101310208)


Mahi Bajpai (202210101310113)
Deepak Sharma (202210101310181)

Under the Guidance of

Mr. Atul Verma


Assistant Professor
Department of Computer Science & Information Systems

Shri Ramswaroop Memorial University


Lucknow – Deva Road, Barabanki (UP)

1
DECLARATION

I hereby declare that the project report entitled “Library Management System ” submitted by

us to Shri Ramswaroop Memorial University, Lucknow – Deva Road, Barabanki (UP) is

the partial requirement for the award of the degree of the Master of Computer Application is a

record of bonafide project work carried out by us under the guidance of “Mr. Atul Verma”. I

further declare that the work reported in this project has not been submitted and will not be

submitted either in part or in full for the award of any other degree in this institute.

Date:29\04\2025 Signature of student

Nishant Chauhan

Mahi Bajpai

Deepak Sharma

2
Certificate
This is to certify that this Major Project report of BCA Final Year, entitled “Library

Management system”, Submitted by Mahi Bajpai, Nishant Chauhan and Deepak Sharma is

a record of bonafide work carried out by them, in the partial fulfillment with Degree of Bachelor

of Computer Application, Shri Ramswaroop Memorial University, Lucknow – Deva Road,

Barabanki (UP). This work is done during the Academic Year 2024 – 2025, under my

supervision and guidance.

Date: 29\04\2025

Guided & Approved By….

Under the Supervision of Project In-charge

Mr. Atul Verma Dr. Nidhi Tiwari


(Assistant Professor) (Assistant Professor)

Head of Department
Dr. Bineet Kumar Gupta
(Professor & Head)

3
ACKNOWLEDGEMENT

The satisfaction that accompanies that the successful completion of any task would be
incomplete without the mention of people whose ceaseless cooperation made it possible, whose
constant guidance and encouragement crown all efforts with success. We owe a great many
thanks to great many people, who assisted and helped me during and till the end of the project.

We would like to express our gratitude towards Dr. Bineet Kumar Gupta, Head of
Department–Computer Science & Information Systems, Shri Ramswaroop Memorial
University, Lucknow –Deva Road, Barabanki (UP), for his guidelines and scholarly
encouragement.

We are indebted to Mr.Atul Verma – Assistant Professor, Computer Science & Information
Systems of Shri Ramswaroop Memorial University, Lucknow – Deva Road, Barabanki
(UP) for their valuable comments and suggestions that have helped us to make it a success. The
valuable and fruitful discussion with them was of immense help without which it would have
been difficult to present this project in live.

We gratefully acknowledge and express our gratitude to all faculty members and friends who
supported us in preparing this project report.

Finally, this acknowledgement is incomplete without extending our deepest – felt thanks and
gratitude towards our parents whose moral support has been the source of nourishment for us at
each stage of our life.

Nishant Chauhan
(202210101310208)

Mahi Bajpai (202210101310113)

Deepak Sharma (202210101310181)

4
ABSTRACT

This project report presents the design and implementation of a Library Management System,

developed to streamline and automate the conventional manual processes of library operations.

The system addresses critical challenges such as inefficient book tracking, data redundancy, and

human error by providing a digital interface for managing books, users, and transactions.

Developed using Javascript and firebase database for the backend, the system enables

functionalities like user registration, login authentication, book issue/return management, and

automated fine calculation. Through features like structured book categorization, real-time

search, and report generation, the system enhances user convenience and operational efficiency.

It significantly reduces the workload on library staff, improves data accuracy, and supports

strategic planning through accessible and organized data. The project ensures technical,

operational, and economic feasibility, making it a scalable solution adaptable to various

educational institutions and organizations.

5
TABLE OF CONTENTS

S.NO PARTICULARS PAGE SIGNATURE REMARKS


NO.

1 Introduction 7

2 Objectives 8-9

3 Preliminary System Analysis 10-13


3.1 Preliminary Investigation
3.2 Present System in Use
3.3 Flaws in Present System
3.4 Need for New System
3.5 Feasibility Study
4 Project Category 14

5 Software and Hardware Requirement Specification 15

6 Detailed System Analysis 16-17


6.1 Data Flow Diagram

7 System Design 18-48


7.1 Form Design 7.2 Source Code
8 Testing and Validation Checks 49-51

9 System Security Measures 52-54

10 Implementation, Evaluation and Maintenance 55

11 Future Scope of Project 56

12 Conclusion and biblography 57-59

6
INTRODUCTION

The "Library Management System" has been developed to override the problems prevailing in

the practicing manual system. This software is supported to eliminate and, in some cases, reduce

the hardships faced by this existing system. Moreover, this system is designed for the particular

need of the company to carry out operations in a smooth and effective manner. 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. Library Management System, as described

above, can lead to error free, secure, reliable and fast management system. It can assist the user

to concentrate on their other activities rather to concentrate on the record keeping. Thus, it will

help organization in better utilization of resources. Every organization, whether big or small, has

challenges to overcome and managing the information of Books, Student, Librarian, Address,

Member. Every Library Management System has different Student needs; therefore, we design

exclusive employee management systems that are adapted to your managerial requirements. This

is designed to assist in strategic planning, and will help you ensure that your organization is

equipped with the right level of information and details for your future goals. Also, for those

busy executive who are always on the go, our systems come with remote access features, which

will allow you to manage your workforce anytime, at all times.

7
OBJECTIVES

The main objective of the Project on Library Management System is to manage the details of

Student, Books, Issues, Librarian, Member . It manages all the information about Student,

Address of Member as well as Student. The project is totally built at administrative end and thus

only the administrator is guaranteed the access. The purpose of the project is to build a web-

based application program to reduce the manual work for managing the Student, Books, Address,

issues. It tracks all the details about the Issues, Librarian, Member, etc.

1. The objectives of a library management system is to operate a library with efficiency and at

reduced costs. The system being entirely automated streamlines all the tasks involved in

operations of the library.

2. The activities of book purchasing, cataloging, indexing, circulation recording and stock

checking are done by the software. Such software eliminates the need for repetitive manual work

and minimizes the chances of errors.

3. The library management system software helps in reducing operational costs. Managing a

library manually is labor intensive and an immense amount of paperwork is involved. An

automated system reduces the need for manpower and stationery. This leads to lower operational

costs.

4. The system saves time for both the user and the librarian. With just a click the user can search

for the books available in the library. The librarian can answer queries with ease regarding the

availability of books.

8
5. Adding, removing or editing the database is a simple process. Adding new members or

cancelling existing memberships can be done with ease.

6. Stock checking and verification of books in the library can be done within a few hours. The

automated system saves a considerable amount of time as opposed to the manual system.

7. The library management system software makes the library a smart one by organizing the

books systematically by author, title and subject. This enables users to search for books quickly

and effortlessly.

8. Students need access to authentic information. An advanced organized library is an integral

part of any educational institution.

9. In this digital age a web-based library management system would be ideal for students who

can access the library’s database on their smartphones.

10. The main objective of the Project of Library Management System is to manage the details of

users as well as books.

11. It also manages all the information about Student, Address of Member as well as Student

9
Preliminary Investigation:

The first step in the System Development Life Cycle (SDLC) is the identification of the need.

This is the user request to change, improve or enhance an existing system. Because there is likely

to be a stream of such requests, standard procedures must be established to deal with them. The

initial investigation is one way of this solutions . In this process, the development team visit the

customer and studies their system. They investigate the need for possible software automation of

the given system by the end of the preliminary investigation. Our project furnish the document

that hold the different recommendation of the needs of the user.

Present System In Use:

Present system comprises all the information related to books such as book name, author and

edition. Current system also contains information about the students and books. It contains

registration option to users. Without registration nobody can use this system.

Flaws In Present System:

Present system has various limitations. Present System is difficult to use. User interface not

shown properly. Fast report generations is not possible. Tracing a book is difficult. Security

issues occurring sometimes. Information about issue or return of the book books are not

properly maintained.

10
Need For New System:

A current system is not compatible because the current system is a bit complicated to use. The

new system is designed to be easy for the user to use. Admin can get all the information about

books and students according to the new system. The new system includes student's mobile

number, issuing and borrowing date of the books, fine if the student does not return the book

within the given period, etc. The aim of new system is to develop a system of improved facilities.

The new system can overcome all the limitations of the existing system.

11
Feasibility Study

Feasibility study of a system means whether the system is practically possible to build or not. It

also evaluates the benefits of the new system. A feasibility study is an analysis of how a

successfully a project can be completed, according factors that affect is such as Economical,

behavioral, Technical and Operational. Project Manager use feasibility studies to determine

potential positive and negative outcomes of the project before investing a consideration of

amount of time and money into it. The software that has to be developed is analyze in details and

the system which is to be developed in technically, operationally and economically feasible or

not is taken care of. The feasibility study means not to solve the problems completely but also to

acquire the scope and work ability of the problem by giving various solutions to give problem

and picking up one of the best solutions.

 Technical Feasibility:

Technical Feasibility one of the studies that must be conducted after a project has been

identified. Technical Feasibility means to solve the problems related to hardware and software. It

refers to the technical resources needed to develop the new application. The analyst must find out

whether current technologies are sufficient for proposed system. In “Library Management

System” web-based application is developed in Microsoft Visual Studio Code, which can be

easily run on any system with the required configuration.

 Behavioral Feasibility:

It is natural observation that people are resistant to change and computers have know to facilitate

change. When the user system has been developed or when a step is taken to convert a manual

12
system to the computerized system, it is a significant factor to know the reaction of the user staff

as they are once who will judge the working of the new system. It is checked as to what

percentage of staff members are against the change and one who support it.

 Operational Feasibility:

Operational feasibility ascertains how well the implementation of a project fits in with the

current organizational structure. The solutions to a current problem must come as close as

possible to a perfect fit with the organizational structure and be able to be applied to solve other

arising problems. The opportunities that come along the way during the solution implementation

must be able to be harnessed for even easier implementation.

13
Project Category

A category of project is web-based application named “Library Management System”. Login

Form and Main Window are designed by using Python language with Tkinter module. MySQL

are used for the database connection with python.

Programming Language and Database Connectivity Used In Project:

Javascript

This project report presents the design and implementation of a Library Management System

developed using JavaScript, HTML/CSS, and Firebase (Firestore & Authentication) to

replace traditional manual library operations. The system addresses issues like inefficient book

tracking, data redundancy, and manual errors by providing a dynamic, browser-based platform

for managing books, users, and library transactions.

The system offers functionalities such as user registration, login authentication, book issuance

and returns, fine calculation, and real-time inventory management. By leveraging Firebase, the

application ensures secure authentication, seamless data synchronization, and cloud storage

scalability. JavaScript enables responsive and interactive features such as dynamic dashboards,

instant validation, and event-driven operations without the need for manual page reloads.

Key features include structured book categorization, a search interface, automated return date

tracking, and administrative control panels for managing inventory and users. The system

significantly reduces the workload of library staff, enhances user experience, and ensures data

14
consistency. It is a technically and economically feasible solution that can be adapted across

various educational institutions for efficient library automation.

Firebase Database

This project report details the development of a Library Management System aimed at

automating and optimizing traditional library operations. The system addresses key challenges

such as inefficient book tracking, manual errors, and data management complexity by

introducing a secure, web-based application that manages users, books, and transactions

effectively.

The solution is built using JavaScript for the front end and integrates with a cloud-based

database secured behind a firewall, such as Firebase Firestore. This ensures that all data

communication and storage are protected against unauthorized access through real-time

authentication and rule-based data validation. The firewall-secured database enforces strict

access controls, allowing only authenticated users with appropriate roles to read or modify data.

Functionality includes user registration, login authentication, book issuance and return, real-time

inventory tracking, and automated fine calculation. The use of firewall-secured databases

enhances security and reliability, preventing data breaches and ensuring user privacy. The system

is scalable, easy to maintain, and suitable for implementation in a wide range of educational and

institutional environments.

By combining modern web technologies with robust security infrastructure, this project delivers

a reliable and efficient tool for managing library resources while protecting sensitive data.

15
REQUIREMENT SPECIFICATION

Hardware

Hardware is a term that refers to all the physical parts that make up a computer. The internal

hardware devices that make up the computer. Various devices which are essentials to form a

hardware is called as components.

Following are the hardware specifications that is required to develop this project is as follows:

1. Computer components like Monitor, Keyboard, Mouse, CPU, Keyboard.

2. Minimum 1 GB ram for smooth working of application.

3. 250 GB Hard Disk or More. CD ROM Drive.

Software

Computer software, or simply software, is a collection of data or computer instructions that tell

the computer how to work. This is in contrast to physical hardware, from which the system is

build and actually performs the work.

 Front End- HTML,Css

 Back End- Js, Firebase Console

 Text Editors- VS Code Editor

Operating System

 Windows10

16
 Ubuntu Linux

Detailed System Analysis

Data flow Diagram:

Form Design
17
1) Admin:

This is the Library Management System Login Form. You have to enter Username and

Password on it. There are also options like New User Registration and Forget Password.

2) Register:

This is the New User Registration Form of the Library Management System. The user needs

a Username and Password to login to the system, and to create it, the user has to first register

from here.

18
3) Forget Password:

If a user Forgets his Login Password, then from here he can create his new Password. For

that, the user has to enter details like his Username, Security Question and Security Answer.

4) Home:

19
This is the Main Window of the Library Management System. From here the Admin uses

this system.

5) User Details:

This is the Library Management System User Details Form. This form shows the user details

such as First name, Last Name, Contact, Addresses and other details to the Administrator.

20
6 ) Book Details:

This is Library Management System Book Details Form. This form shows the details of the

Books of the Library such as the Title of the Book, Author Name, Price of the Book and

other details to the Administrator.

21
22
Source Code

1) Admin Login and Registration:

function register() {

const name = document.getElementById('name').value.trim();

const email = document.getElementById('email').value.trim();

const password = document.getElementById('password').value;

const roll = document.getElementById('roll').value.trim();

const error = document.getElementById('error');

if (!name !email !password !roll) {

error.textContent = "Please fill all fields.";

return;

auth.createUserWithEmailAndPassword(email, password)

.then(cred => {

return db.collection('users').doc(cred.user.uid).set({

name,

email,

roll,

role: 'student',

issuedBooks: [],

fine: 0

23
});

})

.then(() => {

alert('Registered Successfully');

window.location.href = 'index.html';

})

.catch(e => {

error.textContent = e.message;

});

function login() {

const email = document.getElementById('email').value.trim();

const password = document.getElementById('password').value;

const role = document.getElementById('role').value;

const error = document.getElementById('error');

auth.signInWithEmailAndPassword(email, password)

.then(cred => {

return db.collection('users').doc(cred.user.uid).get();

})

.then(doc => {

if (!doc.exists) throw new Error("User data not found");

24
if (doc.data().role !== role) throw new Error("Role mismatch");

if (role === 'student') {

window.location.href = 'student.html';

} else {

window.location.href = 'admin.html';

})

.catch(e => {

error.textContent = e.message;

});

function logout() {

auth.signOut().then(() => {

window.location.href = 'index.html';

});

// Functions for dashboards (student/admin) can be filled here:

function viewIssuedBooks() {

const output = document.getElementById('output');

auth.onAuthStateChanged(user => {

25
if (user) {

db.collection('users').doc(user.uid).get()

.then(doc => {

const books = doc.data().issuedBooks [];

output.innerHTML = <h3>Issued Books</h3><ul>${books.map(b

=> <li>${b}</li>).join('')}</ul>;

});

});

function issueNewBook() {

db.collection("books").get().then(snapshot => {

const books = [];

snapshot.forEach(doc => {

const data = doc.data();

if (data.copies > 0) {

books.push(doc.id);

});

if (books.length === 0) {

alert("No books available to issue.");

return;

26
}

const bookName = prompt(Enter the book name to issue:\n$

{books.join('\n')});

if (!bookName !books.includes(bookName)) {

alert("Invalid book selection.");

return;

const days = prompt("Enter number of days (10, 15, or 20):");

const validDays = [10, 15, 20];

const duration = parseInt(days);

if (!validDays.includes(duration)) {

alert("Invalid duration.");

return;

const issueDate = new Date();

const returnDate = new Date(issueDate);

returnDate.setDate(issueDate.getDate() + duration);

auth.onAuthStateChanged(user => {

27
if (user) {

const issueData = {

book: bookName,

issueDate: issueDate.toISOString(),

returnDate: returnDate.toISOString()

};

db.collection('users').doc(user.uid).update({

issuedBooks: firebase.firestore.FieldValue.arrayUnion(issueData)

}).then(() => {

// Decrease book copy count

db.collection("books").doc(bookName).update({

copies: firebase.firestore.FieldValue.increment(-1)

});

alert('Book issued successfully!');

});

});

});

function returnBook() {

auth.onAuthStateChanged(user => {

if (user) {

28
const userRef = db.collection('users').doc(user.uid);

userRef.get().then(doc => {

const issuedBooks = doc.data().issuedBooks [];

if (issuedBooks.length === 0) {

alert("You have no issued books.");

return;

const bookOptions = issuedBooks.map((book, index) => ${index + 1}.

${book.book}).join('\n');

const choice = prompt(Enter the number of the book to return:\n$

{bookOptions});

const index = parseInt(choice) - 1;

if (isNaN(index) index < 0 index >= issuedBooks.length) {

alert("Invalid choice.");

return;

const bookToReturn = issuedBooks[index];

// Remove from issuedBooks array

29
issuedBooks.splice(index, 1);

// Update user document

userRef.update({ issuedBooks });

// Increment book copies in the books collection

db.collection('books').doc(bookToReturn.book).update({

copies: firebase.firestore.FieldValue.increment(1)

}).then(() => {

alert("Book returned successfully!");

}).catch(err => {

console.error("Error updating book copies:", err);

});

});

});

function showAddBookForm() {

const form = document.getElementById('add-book-form');

form.classList.toggle('hidden');

document.getElementById('output').innerHTML = "";

30
}

function addBook() {

const title = document.getElementById("bookTitle").value.trim();

const author = document.getElementById("author").value.trim();

const copies = parseInt(document.getElementById("copies").value);

if (!title !author isNaN(copies) copies < 1) {

alert("Please fill all fields correctly.");

return;

db.collection("books").doc(title).set({

title,

author,

copies

}, { merge: true })

.then(() => {

alert("Book added successfully!");

document.getElementById("bookTitle").value = "";

document.getElementById("author").value = "";

document.getElementById("copies").value = "";

showAddBookForm(); // Hide form

})

31
.catch(error => {

console.error("Error adding book:", error);

});

function loadBooksDropdown() {

const dropdown = document.getElementById('bookDropdown');

dropdown.innerHTML = "<option disabled selected>Select a

book</option>";

db.collection('books').get()

.then(snapshot => {

snapshot.forEach(doc => {

const data = doc.data();

const title = data.title doc.id; // fallback to doc ID if title missing

const copies = data.copies ?? 0; // fallback to 0 if copies undefined

const option = document.createElement('option');

option.value = doc.id;

option.textContent = ${title} (${copies} copies);

dropdown.appendChild(option);

});

})

32
.catch(error => {

console.error("Error fetching books:", error);

});

// Automatically load books when the page loads

window.addEventListener('load', loadBooksDropdown);

function checkFine() {

const output = document.getElementById('output');

auth.onAuthStateChanged(user => {

if (user) {

db.collection('users').doc(user.uid).get()

.then(doc => {

const books = doc.data().issuedBooks [];

let totalFine = 0;

books.forEach(book => {

const returnDate = new Date(book.returnDate);

const today = new Date();

33
if (today > returnDate) {

const diffTime = today - returnDate;

const extraDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));

totalFine += extraDays * 10;

});

output.innerHTML = `<h3>₹Total Fine: ₹${totalFine}</h3>`;

});

});

function markAttendance() {

const roll = prompt("Enter your Roll No:");

if (!roll) return;

db.collection('attendance').add({

roll,

date: new Date().toLocaleDateString()

}).then(() => {

alert("Attendance marked!");

34
});

// Admin Dashboard Functions

function viewIssuedBooks() {

const output = document.getElementById('output');

auth.onAuthStateChanged(user => {

if (user) {

db.collection('users').doc(user.uid).get()

.then(doc => {

const books = doc.data().issuedBooks [];

let html = "<h3>📚 Issued Books</h3><ul>";

books.forEach(book => {

const returnDate = new Date(book.returnDate);

const today = new Date();

let fine = 0;

if (today > returnDate) {

const diffTime = today - returnDate;

const extraDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));

fine = extraDays * 10;

35
html += `<li>

<strong>${book.book}</strong><br>

Return By: ${returnDate.toDateString()}<br>

Fine: ₹${fine}

</li><br>`;

});

html += "</ul>";

output.innerHTML = html;

});

});

function manageBooks() {

const choice = prompt("Type 'add' to Add or 'delete' to Delete a Book:");

const book = prompt("Enter Book Name:");

if (!choice !book) return;

const ref = db.collection('books').doc(book);

if (choice === 'add') {

36
ref.set({ available: firebase.firestore.FieldValue.increment(1) },

{ merge: true })

.then(() => alert('Book Added!'));

} else if (choice === 'delete') {

ref.delete().then(() => alert('Book Deleted!'));

function checkCopies() {

const output = document.getElementById('output');

db.collection('books').get().then(snapshot => {

let html = `<h3>Available Copies</h3><ul>`;

snapshot.forEach(doc => {

const data = doc.data();

html += `<li>${doc.id}: ${data.available 0} copies</li>`;

});

html += </ul>;

output.innerHTML = html;

});

function checkAttendance() {

const output = document.getElementById('output');

37
db.collection('attendance').get().then(snapshot => {

let html = <h3>Attendance List</h3><ul>;

snapshot.forEach(doc => {

const data = doc.data();

html += <li>${data.roll} - ${data.date}</li>;

});

html += </ul>;

output.innerHTML = html;

});

function register() {

const name = document.getElementById('name').value.trim();

const email = document.getElementById('email').value.trim();

const password = document.getElementById('password').value;

const role = document.getElementById('role').value;

const roll = document.getElementById('roll').value.trim();

const error = document.getElementById('error');

if (!name !email !password) {

error.textContent = "Please fill all required fields.";

return;

38
if (role === 'student' && !roll) {

error.textContent = "Roll Number is required for students.";

return;

auth.createUserWithEmailAndPassword(email, password)

.then(cred => {

let userData = {

name,

email,

role,

issuedBooks: [],

fine: 0

};

if (role === 'student') {

userData.roll = roll;

return db.collection('users').doc(cred.user.uid).set(userData);

})

.then(() => {

alert('Registered Successfully');

window.location.href = 'index.html';

39
})

.catch(e => {

error.textContent = e.message;

});

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Admin Dashboard</title>

<link rel="stylesheet" href="style.css">

</head>

<body>

<h1>Admin Dashboard</h1>

<button onclick="viewAllIssuedBooks()">View Issued Books</button>

<button onclick="manageBooks()">Delete Books</button>

<div id="add-book-form" class="hidden">

<h3>Add a New Book</h3>

<input type="text" id="bookTitle" placeholder="Book Title"><br>

<input type="text" id="author" placeholder="Author Name"><br>

<input type="number" id="copies" placeholder="Number of

Copies"><br>

40
<button onclick="addBook()">Add Book</button>

</div>

<button onclick="showAddBookForm()">Add Book Form</button>

<button onclick="checkCopies()">Check Copies Available</button>

<button onclick="checkAttendance()">Check Student

Attendance</button>

<button onclick="logout()">Logout</button>

<div id="output"></div>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

app.js"></script>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

auth.js"></script>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

firestore.js"></script>

<script src="firebase-config.js"></script>

<script src="script.js"></script>

</body>

</html>

admin page

41
<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Student Dashboard</title>

<link rel="stylesheet" href="style.css">

</head>

<body>

<h1>Student Dashboard</h1>

<p id="welcome"></p>

<button onclick="viewIssuedBooks()">View Issued Books</button>

<button onclick="issueNewBook()">Issue New Book</button>

<button onclick="returnBook()">Return Book</button>

<button onclick="checkFine()">Check Fine</button>

<button onclick="markAttendance()">Mark Attendance</button>

<button onclick="logout()">Logout</button>

<h3>Available Books:</h3>

<select id="bookDropdown">

<option disabled selected>Loading books...</option>

</select>

42
<div id="output"></div>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

app.js"></script>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

auth.js"></script>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

firestore.js"></script>

<script src="firebase-config.js"></script>

<script src="script.js"></script>

</body>

</html>

student page

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Register</title>

<link rel="stylesheet" href="style.css">

</head>

<body>

<h1>Register as Student</h1>

43
<div class="form">

<input type="text" id="name" placeholder="Full Name" required>

<input type="email" id="email" placeholder="Email" required>

<input type="password" id="password" placeholder="Password"

minlength="6" required>

<div class="form-group" id="rollField">

<label>Roll Number</label>

<input type="text" id="roll">

</div>

<button onclick="register()">Register</button>

<p id="error" class="error"></p>

<p>Already have an account? <a href="index.html">Login</a></p>

<select id="role">

<option value="student">Student</option>

<option value="admin">Admin</option>

</select>

</div>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

app.js"></script>

44
<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

auth.js"></script>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

firestore.js"></script>

<script src="firebase-config.js"></script>

<script src="script.js"></script>

<script>// Show/hide Roll Field based on role selection

document.getElementById('role').addEventListener('change', function () {

const rollField = document.getElementById('rollField');

if (this.value === 'student') {

rollField.style.display = 'block';

} else {

rollField.style.display = 'none';

});

// By default, hide if Admin is selected initially

window.addEventListener('DOMContentLoaded', function() {

const role = document.getElementById('role').value;

if (role === 'admin') {

document.getElementById('rollField').style.display = 'none';

});

45
</script>

</body>

</html>

regisytration page

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Library Login</title>

<link rel="stylesheet" href="style.css">

</head>

<body>

<h1>Library Login</h1>

<div class="form">

<input type="email" id="email" placeholder="Email" required>

<input type="password" id="password" placeholder="Password"

required>

<select id="role">

<option value="student">Student</option>

<option value="admin">Admin</option>

</select>

46
<button onclick="login()">Login</button>

<p id="error" class="error"></p>

<p>Don't have an account? <a href="register.html">Register

here</a></p>

</div>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

app.js"></script>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

auth.js"></script>

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-

firestore.js"></script>

<script src="firebase-config.js"></script>

<script src="script.js"></script>

</body>

</html>

home page

// firebase-config.js

const firebaseConfig = {

apiKey: "AIzaSyB58KDgHVnnlcSpj-CkWJE_MdYF5UiH-wQ",

authDomain: "library-management-4d3b5.firebaseapp.com",

projectId: "library-management-4d3b5",

storageBucket: "library-management-4d3b5.appspot.com", // <- fixed here

47
messagingSenderId: "918403626782",

appId: "1:918403626782:web:e97eea94faee9debaabb0f"

};

// Initialize Firebase

firebase.initializeApp(firebaseConfig);

const auth = firebase.auth();

const db = firebase.firestore();

database configuration

48
TESTING AND VALIDATION CHECKS

TESTING:

System testing of software or hardware is testing conducted on a complete, integrated system to

evaluate the system's compliance with its specified requirements. System testing falls within the

scope of black-box testing, and as such, should require no knowledge of the inner design of the

code or logic. As a rule, system testing takes, as its input, all of the "integrated" software

components that have passed integration testing and also the software system itself integrated

with any applicable hardware system(s). The purpose of integration testing is to detect any

inconsistencies between the software units that are integrated together (called assemblages) or

between any of the assemblages and the hardware. System testing is a more limited type of

testing; it seeks to detect defects both within the "inter-assemblages" and also within the system

as a whole. Our Project went through two levels of testing:

1. Unit testing

2. Integration testing

UNIT TESTING:

Unit testing is undertaken when a module has been created and successfully reviewed. In order to

test a single module, we need to provide a complete environment i.e., besides the module we

would require:

 The procedures belonging to other modules that the module under test call .

 Non local data structures that module accesses.

 A procedure to call the functions of the module under test with appropriate parameters .

49
1. Test For the admin module:

 Testing admin login form-This form is used for log in of administrator of the system. In

this we enter the username and password if both are correct administration page will open

otherwise if any of data is wrong it will get redirected back to the login page and again

ask for username and password.

 Student account addition- In this section the admin can verify student details from

student academic info and then only add student details to main library database it

contains add and delete buttons if user click add button data will be added to student

database and if he clicks delete button the student data will be deleted.

 Book Addition- Admin can enter details of book and can add the details to the main

book table also he can view the books requests.

2. Test for Student login module:

 Test for Student login Form- This form is used for log in of Student. In this we enter the

library id, username and password if all these are correct student login page will open

otherwise if any of data is wrong it will get redirected back to the login page and again

ask for library id, username and password.

 Test for account creation- This form is used for new account creation when student

does not fill the form completely it asks again to fill the whole form when he fill the form

fully it gets redirected to page which show waiting for conformation message as his data

will be only added by administrator after verification.

50
3. Test for teacher login module:

 Test for teacher login form- This form is used for log in of teacher .In this we enter the

username and password if all these are correct teacher login page will open otherwise, if

any of data is wrong it will get redirected back to the login page and again ask for

username and password.

INTEGRATION TESTING:

In this type of testing, we test various integration of the project module by providing the

input. The primary objective is to test the module interfaces in order to ensure that no

errors are occurring when one module invokes the other module.

Validation Checks

The process of evaluating web-based application during the development process or at

the end of the development process to determine whether it satisfied information

requirement. Validation testing ensures that the product actually meets the user needs. It

can also have defined as to demonstrate that the information fulfills its intended use when

deployed on appropriate environment. Validation testing can be best demonstrated. The

web-based application under test is evaluated during this type of testing.

 VALIDATION INPUT TRANSACTION: - Validation input data is largely

done through website which is the programmer’s responsibility but it is important that

system analyst must know what a common problem might in validation a transaction.

51
Business committed to quality will include validation checks a part of their routine

website.

1. Submitting the wrong data to system.

2. Submitting the data by an unauthorized person.

3. Asking the system to perform an unacceptable function

 VALIDATION INPUT DATA: - It is essential that the input data themselves

along with the transaction requested are valid. Several texts can be incorporated into

website to ensure the validity. We consider many possible ways to validate input and they

are as follows:

1. Test for missing data.

2. Test for correct field length.

3. Test for range or reasonable.

4. Test for comparison with stored data.

52
SYSTEM SECURITY MEASURES

Security of a computer system is a crucial task. It is a process of ensuring confidentiality A

system is said to be secure if its resources are used and accessed as intended under all the

circumstances, but no system can guarantee absolute security from several of the various threats

and unauthorized access.

Security measures will be taken:

• Strong passwords: This first measure is taken that users may use special characters in their

passwords and password get strong

.• Confidentiality: If any users are sharing their personal details in login form it will be secure

safely as only users can access such information.

 Hidden Password: Whenever user input the password in login form, then password show in *

(Asterisk) format.

53
IMPLEMENTATION, EVALUATION AND MAINTENANCE

IMPLEMENTATION

The design of a management information system may seem to management to be an expensive

project, the cost of getting the MIS on line satisfactorily may often be comparable to that of its

design, and the implementation has been accomplished when the outputs of the MIS are

continuously utilized by decision makers. Once the design has been completed, there are four

basic methods for implementing the MIS. These are following:

1. Install the system in a new operation or organization.

2. Cut off the old system and install the new: This produces a time gap during which no system

is in operation. Practically, installation requires one or two days for small companies or small

systems.

3. Cut over by segments: This method is also referred as” phasing in” the new system. Small

parts or subsystems are substituted for the old. In the case of upgrading old systems, this may be

a very desirable method.

4. Operate in parallel and cut over: The new system is installed and operated in parallel with the

current system until it has been checked out, then only the current system is cut out. This method

is expensive because of personal and related costs. Its big advantages are that the system is fairly

well debugged when it becomes the essential information system.

54
EVOLUTION

After the MIS has been operating smoothly for a short period of time, an evaluation of each step

in the design and of the final system performance should be made. Evaluation should not be

delayed beyond the time when the system’s analysts have completed most of the debugging. The

longer the delay, the more difficult it will be for designer to remember important details. The

evaluation should be made by the customer as well as by the designers.

MAINTENANCE

Control and maintenance of the system are the responsibilities of the line managers. Control of

the systems means the operation of the system as it was designed to operate. Sometimes, well-

intentioned people or operators may make unauthorized changes to improve the system, changes

that are not approved or documented. Maintenance is closely related to control. Maintenance is

that ongoing activity that keeps the MIS at the highest levels of effectiveness and efficiency

within cost constraints. Maintenance is directed towards reducing errors due to design, reducing

errors due to environmental changes and improving the system’s scope and services.

55
FUTURE SCOPE OF PROJECT

Our web-based application “Library Management System” which provides complete information

about Users like Student, Admin and Lecturer. We will add more content on them in future. In

our web-based application right now, only Books and Users with their information available but

in future we will add Online Lectures, Links, etc. We will also provide more images in GUI

related to our web-based application in future.

We will try to find out more about this topic and add in future. We will try to make this

application more attractive so that visitor cannot get bored while using it. We will provide login

id to each and every user so that he can access our website from anywhere through log in id and

password. In future we add some major facilities like Reservation of Book. We will also provide

more images in GUI related to our web-based application in future. We will try to find out more

about this topic and add in future. We will try to make this application more attractive so that

visitor cannot get bored while using it. We will provide login id to each and every user so that he

can access our website from anywhere through log in id and password. In future we add some

major facilities like Reservation of Book.

56
CONCLUSION :

Library Management System allows the user to store the book details and the customer details.

This software package allows storing the details of all the data related to library. The system is

strong enough to withstand regressive yearly operations under conditions where the database is

maintained and cleared over a certain time of span. The implementation of the system in the

organization will considerably reduce data entry, time and also provide readily calculated

reports.

57
BIBLIOGRAPHY & REFERENCES :

 Websites References:

https://www.tutorialspoint.com/index.htm

https://www.javatscriptpoint.com

https://www.w3schools.com

https://html.com

www.w3schools.com css

58
BIOGRAPHY

Mahi Bajpai was born at Lucknow (UP), in India. She received her bachelor degree in

Computer Application in 2025 from Shri Ramswaroop Memorial University,

Barabanki (UP), India. Presently, She is a Student in Computer Application from Shri

Ramswaroop Memorial University

Nishant Chauhan was born at Bijnor, (UP), in India. He received his Bachelor degree

in Computer Application in 2025 from Shri Ramswaroop Memorial University

Barabanki (UP), India. Presently, he is a Student in Computer Application from Shri

Ramswaroop Memorial University

Deepak Sharma was born at lucknow, (UP), in India. He received his Bachelor degree

in Computer Applicationin 2025 from Shri Ramswaroop Memorial University (UP),

Barabanki India. Presently, he is a Student in Computer Application from Shri

Ramswaroop Memorial University

59
60

You might also like