DBMS Final Report
DBMS Final Report
Submitted by
NEEHARIKA GUPTA [RA2011030010189]
SHUBH SHRIMALI [RA2011030010193]
VARTIKA YADUVANSHI [RA2011030010183]
Dr. N Krishnaraj
(Associate Professor, Networking and Communications)
in
COMPUTER SCIENCE & ENGINEERING
With specialization in Cyber Security
SCHOOL OF COMPUTING
COLLEGE OF ENGINEERING AND TECHNOLOGY
SRM INSTITUTE OF SCIENCE AND TECHNOLOGY
KATTANKULATHUR - 603203
May 2023
COLLEGE OF ENGINEERING & TECHNOLOGY
SRM INSTITUTE OF SCIENCE & TECHNOLOGY
S.R.M. NAGAR, KATTANKULATHUR – 603 203
BONAFIDE CERTIFICATE
Certified that this project report “Library Management System” is the bonafide work of “
Neeharika Gupta, Vartika Yaduvanshi, Shubh Shrimali” of III Year/VI Sem B.tech(CSE)
who carried out the mini project work under my supervision for the course 18CSC303J-
Database Management systems in SRM Institute of Science and Technology during the
SIGNATURE SIGNATURE
Dr. Krishnaraj N Dr. Annapurani Panaiyappan K
Associate Professor Head of Department
Networking And Communications Networking And Communications
ABSTRACT
iii
TABLE OF CONTENTS
1. ABSTRACT iii
2. TABLE OF CONTENT iv
3. LIST OF FIGURES v
iv
1. INTRODUCTION
1.1 Introduction 7
1.2 Problem Statement 8
1.3 Objectives 9
1.4 Scope and applications 10
1.5 General and Unique Services in the database application 11
1.6 Software Requirements Specification 12
2. LITERATURE SURVEY
3.2 ER Diagram 16
3.3 Use case Diagram 17
v
LIST OF FIGURES
Figure No. Figure Name Page No.
vi
1. Introduction
1.1 Introduction
7
1.2 Problem statement
A college library management is a project that manages and stores books information
electronically according to student’s needs. The system helps both students and library
manager to keep a constant track of all the books available in the library. It allows both the
admin and the student to search for the desired book. It becomes necessary for colleges to keep
a continuous check on the books issued and returned and even calculate fine. This task if
carried out manually will be tedious and includes chances of mistakes. These errors are avoided
by allowing the system to keep track of information such as issue date, last date to return the
book and even fine information and thus there is no need to keep manual track of this
information which thereby avoids chances of mistakes.
Thus, this system reduces manual work to a great extent allows smooth flow of library activities
by removing chances of errors in the details.
8
1.3 Objectives
The purpose of this project is to develop an application that will automate the whole procedure
of a library. The software that would be developed should have facilities like Add / Delete
Members, Add / Delete Books, Issue & Return. The application should be secured, as well as
with limited access. The main requirement of the project will be the ease of use, besides being
the most efficient and effective tool for the purpose. The application should be user friendly.
It should be robust and scalable. An automated solution would be very beneficial to the
organization, as it would bring structure to the whole process so that it can be traced for any
kind of query. Also, an automated solution will lead to optimal utilization of the available
resources, reducing duplication of effort, increasing efficiency and minimizing time-delays.
Following are the main purpose of computerization:
● To provide services to all the employees for issue, return & search etc. at one place.
● To improve co-ordination in staff.
● To reduce paper filling work.
● To reduce risk of fraud.
● To reduce chances of information leaking.
9
1.4 Scope and applications
For Members: -
● Facility for search of Books based on Access Number, Title, Author, Subject, Keyword.
● Facility for ISSUE / RETURN Books.
● Facility for RENEWAL of Books.
● Automatic installation.
● Simple and intuitive GUI for performing all functions.
● Short-cut keys and point-and-click operation.
● Security features like access control using passwords and login-i.d.
● Automatic calculation of late-fee.
● Facility to ADD / DELETE Members, Library Staff & Books and Maintain an easy record
all of these.
10
1.5 General and Unique Services in the database application
GENERAL:
• Cataloguing
• Circulation
• Patron Management
• Keep track of Acquisitions
• Reporting
UNIQUE:
• Feedback
• Book Recommendation
11
1.6 Software Requirements Specification
• CLOUD SERVICES
• API’S
• Collaborative filtering algorithm
• Google maps
• Amazon SES
• Decision trees
• Twilio
• Payment gateway paytm
12
2. LITRATURE SURVEY
Library Management Systems (LMS) are software platforms that provide librarians with a
centralized way to manage their collections, track circulation, and facilitate communication
with library patrons. A library management system is a software application designed to
manage the operations of a library, including the circulation of books, periodicals, and other
materials, as well as the management of library resources, such as cataloging and acquisitions.
The system allows librarians to automate and streamline their tasks, improving the efficiency
of the library and enhancing the user experience.
LMSs are an important tool for librarians and library patrons around the world. They provide
a flexible, scalable, and cost-effective way to manage collections and facilitate access to
information in a variety of settings. As technology continues to evolve, we can expect to see
even more innovative and effective LMSs emerge, offering new opportunities for librarians
and library patrons alike.
13
2.2 Comparison of Existing vs Proposed system
There are a lot of unique features in our library management system that make our system
unique from the existing systems which are Integration with external databases - The system
can be integrated with external databases such as WorldCat, which will provide librarians with
access to a vast repository of bibliographic records, Reservation System - The system can
include a reservation system that will allow users to reserve books online, and librarians can
approve or reject the reservations, Barcode Scanning - The Library Management System can
be equipped with a barcode scanner, which will allow librarians to scan the barcode of a book
and instantly retrieve its information from the system, Automatic Cataloging - The Library
Management System can automatically catalog books by scanning their barcodes or ISBN
numbers, thus saving librarians time and effort, User Management - The system can include a
user management feature, which will allow librarians to manage user accounts, create user
profiles, and assign roles and permissions, Reporting - The system can generate reports on
circulation statistics, usage patterns, and other metrics, which will help librarians make
informed decisions about the library's collection and services, Digital Lending - The system
can be equipped with digital lending features, which will allow users to borrow e-books and
other digital resources, Book Recommendation - A book recommendation system in an app
uses algorithms and user data to suggest books that our patrons may enjoy based on their
reading history and preferences. This system can help our patrons discover new books and
authors they may not have otherwise found, ultimately increasing engagement with the library
and fostering a love for reading, Feedback - A feedback system is a tool that allows users to
provide their thoughts and opinions on the app's features, functionality, and user
experience. This system will help developers improve the app based on user feedback,
ultimately leading to a better user experience and increased user satisfaction.
14
3. SYSTEM ARCHITECTURE AND DESIGN
3.1 Architecture Diagram
Figure 3.1
Figure 3.1 is an architectural diagram is a visual representation that maps out the physical
implementation for components of a software system. It shows the general structure of the
software system and the associations, limitations, and boundaries between each element.
15
3.2 ER Diagram
Figure 3.2
Figure 3.2 entails the physical objects from the section – the member, books, library –
correspond to entities in the Entity Relationship model, and the operations to be done on those
entities – holds, checkouts, and so on – correspond to relationships. However, a good design
will minimize redundancy and attempt to store all the required information in as small a space
as possible.
16
3.3 Use case Diagram
Figure 3.3
Figure 3.3 is a Use-case diagrams describe the high-level functions and scope of a system.
These diagrams also identify the interactions between the system and its actors. The use cases
and actors in use-case diagrams describe what the system does and how the actors use it, but
not how the system operates internally.
17
3.4 Front end (UI)design
Figure 3.4.1
Student Login / Admin Login:
Figure 3.4.1 is the design for the login page for our library management system that will allow
the student(library patron) and the admin (librarian) login into our system.
Figure 3.4.2
Sign Up For New Uses:
Figure 3.4.2 is the design for our sign up page for the system that allows new user to create a
profile on our system.
18
Figure 3.4.3
Student Profile:
Figure 3.4.3 is the screenshot of the design of the student (library patron) profile after one is
logged in our system.
Figure 3.4.4
Book Recommendation:
Figure 3.4.4 is the design of the page for our book recommendation page.
19
Figure 3.4.5
Admin Panel:
Figure 3.4.5 is the design for the admin panel of our library management system which appears
after an admin log into the system.
20
Figure 3.4.6
Book Search:
Figure 3.4.6 is the design of the book search module of our system.
21
3.5 Back end (Database) design
Figure 3.5.1
Admin Database table:
Figure 3.5.1 is the Screenshot for the Database table for the admins present in our library
management system.
Figure 3.5.2
22
Student Database Table:
Figure 3.5.2 is the Screenshot for the Database table for the students present in our library
management system.
Figure 3.5.3
Figure 3.5.3 is the Screenshot for the Database table for the Books present in the library.
23
4. Modules and Functionalities
After successful login into system, user can see its details. Various details which will
be shown are:-
Issued books
● Date of issue
● When to return
● Current fine the user has to pay
● Searching for a book in the library.
7. Module 7 – Feedback
• Feedback will be taken from the user related to our system and all the feedback
will be stored in a database and will be displayed in admin login which will help
us to remove all the bugs and improve our library management system.
25
5. Coding and Testing
$username=$_POST['username'];
$password=md5($_POST['password']);
$sql ="SELECT UserName,Password FROM admin WHERE UserName=:username and
Password=:password";
$query= $dbh -> prepare($sql);
$query-> bindParam(':username', $username, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
26
$_SESSION['alogin']=$_POST['username'];
echo "<script type='text/javascript'> document.location ='admin/dashboard.php'; </script>";
} else{
echo "<script>alert('Invalid Details');</script>";
}
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<meta name="description" content="" />
<meta name="author" content="" />
<title>Online Library Management System</title>
<!-- BOOTSTRAP CORE STYLE -->
<link href="assets/css/bootstrap.css" rel="stylesheet" />
<!-- FONT AWESOME STYLE -->
<link href="assets/css/font-awesome.css" rel="stylesheet" />
<!-- CUSTOM STYLE -->
<link href="assets/css/style.css" rel="stylesheet" />
<!-- GOOGLE FONT -->
<link href='http://fonts.googleapis.com/css?family=Open+Sans'
rel='stylesheet' type='text/css' />
</head>
<body>
<!------MENU SECTION START-->
27
<!-- MENU SECTION END-->
<div class="content-wrapper">
<div class="container">
<div class="row pad-botm">
<div class="col-md-12">
<h4 class="header-line">ADMIN LOGIN FORM</h4>
</div>
</div>
29
5.2 Module 2 - Sign Up For New Users
<?php
session_start();
include('includes/config.php');
error_reporting(0);
if(isset($_POST['signup']))
{
//code for captach verification
if ($_POST["vercode"] != $_SESSION["vercode"] OR $_SESSION["vercode"]=='') {
echo "<script>alert('Incorrect verification code');</script>" ;
}
else {
//Code for student ID
$count_my_page = ("studentid.txt");
$hits = file($count_my_page);
$hits[0] ++;
$fp = fopen($count_my_page , "w");
fputs($fp , "$hits[0]");
fclose($fp);
$StudentId= $hits[0];
$fname=$_POST['fullanme'];
$mobileno=$_POST['mobileno'];
$email=$_POST['email'];
$password=md5($_POST['password']);
$status=1;
$sql="INSERT INTO tblstudents(StudentId,FullName,MobileNumber,EmailId,Passw
ord,Status)
30
$query = $dbh->prepare($sql);
$query->bindParam(':StudentId',$StudentId,PDO::PARAM_STR);
$query->bindParam(':fname',$fname,PDO::PARAM_STR);
$query-
>bindParam(':mobileno',$mobileno,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':password',$password,PDO::PARAM_STR);
$query->bindParam(':status',$status,PDO::PARAM_STR);
$query->execute();
$lastInsertId = $dbh->lastInsertId();
if($lastInsertId)
{
echo '<script>alert("Your Registration successfull and your student id is
"+"'.$StudentId.'")</script>';
}
else
{
echo "<script>alert('Something went wrong. Please try again');</script>";
}
}
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"
31
<meta name="description" content="" />
<meta name="author" content="" />
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<title>Online Library Management System | Student
Signup</title>
</head>
<body>
<!------MENU SECTION START-->
<?php include('includes/header.php');?>
<!-- MENU SECTION END-->
<div class="content-wrapper">
<div class="container">
<div class="row pad-botm">
<div class="col-md-12">
<h4 class="header-line">User Signup</h4>
</div>
33
<div class="row">
<div class="form-group">
<label>Mobile Number :</label>
<input class="form-control" type="text" name="mobileno" maxlength="10"
autocomplete="off" required />
</div>
<div class="form-group">
<label>Enter Email</label>
<input class="form-control" type="email" name="email"
id="emailid" onBlur="checkAvailability()" autocomplete="off"
required />
<span id="user-availability-status" style="font-size:12px;"></span>
</div>
34
<div class="form-group">
<label>Enter Password</label>
<input class="form-control" type="password" name="password" autocomplete="off" required
/>
</div>
<div class="form-group">
<label>Confirm Password </label>
<input class="form-control" type="password" name="confirmpassword" autocomplete="off"
required />
</div>
<div class="form-group">
<label>Verification code : </label>
<input type="text" name="vercode" maxlength="5" autocomplete="off" required style="width:
150px; height: 25px;" /> <img src="captcha.php">
</div>
<button type="submit" name="signup" class="btn btn-danger" id="submit">Register Now
</button>
</form>
</div>
</div>
</div>
</div>
</div>
/body>
</html>
35
5.3 Module 3 - Student Profile
<?php
session_start();
include('includes/config.php');
error_reporting(0);
if(strlen($_SESSION['login'])==0)
{
header('location:index.php');
}
else{
if(isset($_POST['update']))
{
$sid=$_SESSION['stdid'];
$fname=$_POST['fullanme'];
$mobileno=$_POST['mobileno'];
36
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<meta name="description" content="" />
<meta name="author" content="" />
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<title>Online Library Management System | Student Signup</title>
<!-- BOOTSTRAP CORE STYLE -->
<link href="assets/css/bootstrap.css" rel="stylesheet" />
<!-- FONT AWESOME STYLE -->
<link href="assets/css/font-awesome.css" rel="stylesheet" />
<!-- CUSTOM STYLE -->
<link href="assets/css/style.css" rel="stylesheet" />
<!-- GOOGLE FONT -->
<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet'
type='text/css' />
</head>
<body>
<!------MENU SECTION START-->
<?php include('includes/header.php');?>
37
<!-- MENU SECTION END-->
<div class="content-wrapper">
<div class="container">
<div class="row pad-botm">
<div class="col-md-12">
<h4 class="header-line">My Profile</h4>
</div>
</div>
<div class="row">
<div class="form-group">
<label>Student ID : </label>
<?php echo htmlentities($result->StudentId);?>
</div>
<div class="form-group">
<label>Reg Date : </label>
<?php echo htmlentities($result->RegDate);?>
</div>
<?php if($result->UpdationDate!=""){?>
<div class="form-group">
<label>Last Updation Date : </label>
<?php echo htmlentities($result->UpdationDate);?>
</div>
<?php } ?>
<div class="form-group">
<label>Profile Status : </label>
<?php if($result->Status==1){?>
<span style="color: green">Active</span>
<?php } else { ?>
<span style="color: red">Blocked</span>
39
<?php }?>
</div>
<div class="form-group">
<label>Enter Full Name</label>
<input class="form-control" type="text" name="fullanme" value="<?php echo
htmlentities($result->FullName);?>" autocomplete="off" required />
</div>
<div class="form-group">
<label>Mobile Number :</label>
<input class="form-control" type="text" name="mobileno" maxlength="10" value="<?php
echo htmlentities($result->MobileNumber);?>" autocomplete="off" required />
</div>
<div class="form-group">
<label>Enter Email</label>
<input class="form-control" type="email" name="email" id="emailid" value="<?php echo
htmlentities($result->EmailId);?>" autocomplete="off" required readonly />
</div>
<?php }} ?>
</form>
</div>
</div>
40
</div>
</div>
</div>
</div>
<!-- CONTENT-WRAPPER SECTION END-->
<?php include('includes/footer.php');?>
<script src="assets/js/jquery-1.10.2.js"></script>
<!-- BOOTSTRAP SCRIPTS -->
<script src="assets/js/bootstrap.js"></script>
<!-- CUSTOM SCRIPTS -->
<script src="assets/js/custom.js"></script>
</body>
</html>
<?php } ?>
41
5.4 Module 4 - Admin Panel
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['login'])==0)
{
header('location:index.php');
}
else{?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<meta name="description" content="" />
<meta name="author" content="" />
<title>Online Library Management System | User Dash Board</title>
<!-- BOOTSTRAP CORE STYLE -->
<link href="assets/css/bootstrap.css" rel="stylesheet" />
<!-- FONT AWESOME STYLE -->
<link href="assets/css/font-awesome.css" rel="stylesheet" />
<!-- CUSTOM STYLE -->
<link href="assets/css/style.css" rel="stylesheet" />
<!-- GOOGLE FONT -->
<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet'
type='text/css' />
</head>
42
<body>
<!------MENU SECTION START-->
<?php include('includes/header.php');?>
<!-- MENU SECTION END-->
<div class="content-wrapper">
<div class="container">
<div class="row pad-botm">
<div class="col-md-12">
<h4 class="header-line">ADMIN DASHBOARD</h4>
</div>
</div>
<div class="row">
43
<h3><?php echo htmlentities($issuedbooks);?> </h3>
Book Issued
</div>
</div>
45
5.5 Module 5 – Book Search
<?php
require_once("includes/config.php");
// code user email availablity
if(!empty($_POST["emailid"])) {
$email= $_POST["emailid"];
if (filter_var($email, FILTER_VALIDATE_EMAIL)===false) {
46
6. Conclusion And Future Enhancement
47
7. References
• https://www.geeksforgeeks.org/introduction-of-dbms-database-management-system-set-1
(Visited on the 20th march 23)
48