Library Management System

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

North Western University Khulna, Bangladesh

Department of Computer Science and Engineering

Library Management System


Software Development Sessional-III

Course No: CSE-3204

Developed By –
Tamim Wasif

ID-20192019010

Afroza Akter Anna

ID-20191011010

Supervised By-
M. Raihan

Lecturer

Department Of Computer Science and Engineering

North Western University, Khulna, Bangladesh

0|Page
Table of Contents
Chapter Title
Chapter 1 Introduction
1.1 Background ………....3
1.2 Objective ………….4
1.3 Related Works ………….5
1.4 Project Proposal ………….5
1.5 Platform works ………….6
1.6 The Reason of Choosing ………….6
Java
Chapter 2 Project Overview on the User Sense
2.1 Registration ………....8
2.2 User Log In ………..10
2.3 User After Login ………..11

Chapter 3 Implementation
3.1 UML Design ………..16
3.2 Class Explanation ………..17
3.3 Database ………..22
3.4 Input ………..24
3.5 Output ………..26

Chapter 4 Conclusion and Future Works


4.1 Conclusion ………..30
4.2 Future Works ………..30

1|Page
Chapter 01: Introduction

1.1 Background
The library is now a necessary place to read books. We can define a library is a curated collection
of sources of information and similar resources, selected by experts and made accessible to a define
community for reference or borrowing, often in a quite environment conducive to study. Over
time, everything has touched such technology. Library management system to make library
management easier and save time.
A Library Management System is a software built to handle the primary housekeeping function of
a library. It is an application which refers to library systems which are generally small or medium
in size.
Library Management System is used by librarian to manage the library using a computerized
system where admin can record various transactions like issue of books addition of new member’s
etc. Books and members maintenance modules are also included in this system which would keep
track of the members using the library and also a detailed description about the books a library
contains. Library members can also use this software to view the book list and reserve their favorite
books in advance.

1.2 Objectives
The objectives of this project is to develop a system that can handle and manage the activities
involved in a library in an efficient and reliable way. Less managing personnel and easy searching
availability and user profile managing are major goals in this project. The project objectives that
will be achieved after completion of this project are discussed in this subchapter. The objectives
are as follows:
 Administrator or librarian should have logins.
 Develop a database which stores user details & book details.
 Member login page where member can find books issued by him and to return.
 Create an easy to understand user friendly environment.
 To design a user friendly graphical user interface which suit the user.
 Email notice from admin for return the book.
 Admin can add the member’s information and also can remove.

1.3 Related Works


 We add Java Swing application.
 Add Database to the project.
 Set pdf to the project for Library Members.
 We can add, edit and delete data form database.
 Set email notifications for members.

2|Page
1.4 Project Proposal
The proposed system is an automated library management system. With our software, admin can
add members, add books, search for member data, update information, edit and delete information
and also can send email notification for return the book. And users can create account, search for
book, borrow book. Many of the advantages of our proposed system such as user-friendly interface
as well as all the manual disadvantage of library management have been fixed.

1.5 Platform Works


We used Java application to do our Library Management System project.

1.6 The reason of choosing Java


1. Object-Oriented:
The aspect which makes Java one of the most appealing language is that it, at its core, Java
is an object-oriented programming (OOP) language. OOP offers a neat modular structure,
thereby making it easier to solve complex problems.
2. User-friendly:
Java has an English-like syntax, which makes it the perfect language for beginner who can
learn Java in two phases – begin with core Java and then progress with advance Java. So
java has a simple learning curve.

3. Platform-Independent:
Java core runs on any machine that doesn’t need any special software to be installed, but
the JVM needs to be present on the machine.

4. Secure:
Java has no explicit pointer. Apart from this, it has a security manage that defines the access
of classes.
Here are some reasons why we chose Java Application for our project.

3|Page
Chapter 02: Project Overview on the User Sense

2.1 REGISTRATION:
Without an account any one can not log in to the system. One should have to register for using
the system. For registration one must give some information about him/her. The information are,
 Full name
 Email
 Student ID number
 Password
Full name – is the name of the user with space or without space both acceptable. But the name
must be unique. You have to make a unique user name for your account. Email - must be a valid
email address. The Email is also should be unique. If email or full name match with old users,
you cannot registration in the system. You have to verify your email, without verification you
cannot complete your registration. A random number is sent to your email and you have to enter
it in your verification textbox. If they are same, only that time we will accept you, otherwise not.
The email must be correct, means the formation of email “anything@anything” must be like this,
or else the program will show error. The Student ID number- is your varsity identity number.
And there is two Password field, the two password field must be same otherwise we will not
accept you. If all the conditions are ok, then you can press the submit button and a form will
appear for confirmation, if you give the correct number then you will be register a messagebox
will appear and will say the message ‘Accepted... You registered!’. You can go back from your
registration panel to login panel by pressing the ‘Back to login’ label.

Picture 2.1: registration process

4|Page
2.2 USER LOG IN:
After registering, you will have an account in the database, and you can log in with that.
There is an ‘USERNAME’ box and a ‘PASSWORD’ box for registration. Use your unique user
name, what you register with in the username box and use your strong password in the password
field. If the user name and password match with our database we will accept you. Or it will show
message ‘password doesn’t match’. If the password and user matches we will accept you and
show the inner part of the system. There is a label called ‘Admin login’, if you press that you
will go to the admin login page.

Picture 2.2: login

5|Page
2.3 User After Login:

Picture 2.3: User After Login


After login with username and password, one can see this (2.3) type of window. A user can
borrow book, see what book he/she borrowed and update their account information.
In the borrow book section user can borrow book, if the book is available in the database. Input
the book name and writer name. If the book is available it will show this message

Picture 2.4: borrow a book


Or else it will show this message-

6|Page
Picture 2.4: book not available
If the book is available , you have to click on ok and it will show this window (picture 2.5)

Picture 2.5: book not available


You can go back into your after_login page by pressing the back label.
In the show data section you can see all your history of borrowing books.

7|Page
Picture 2.6: book not available
Suppose this user has 3 book borrowing history. You can see the date of borrowing and also the
book name and the writer name.
In the user update section an user can update his/her information. An user can not update his user
name. The user name is an unique entity and its unchangeable.

8|Page
Picture 2.7: book not available
An user can change is password , email and roll.
An user can log out from the system by pressing the log out level upper right corner

9|Page
Chapter 03: Implementation
3.1 UML Design
The UML diagram is as follows.

Picture: 3.1

10 | P a g e
3.2 Class Explanation
In the login class there is two textbox and two buttons and two labels. The log in button takes
two strings of username and password and check for those strings in the database for match. If
matches then the program will take the user to the user system. The register button takes the user
to the regester class and shows the register panel. The Admin login label redirect you to the
Admin login panel
The another label ‘X’ is programed for exiting the system.
In the regester class there is five text box full name, email, id number, password , password
again, and a submit button. By pressing the submit button ,it checks in the database for same
username and same email. If it match then it will show an error message. If the username and
password are unique, then it will accept. There is a regex expression that checks for valid email.
If all the fields are not fill then it will show error message. If the password and confirm password
is not equal it will show error. If everything is ok it will redirect you to the email_var panel and
tell the user to give the code that send to his/her email. If the code matches then the information
will insert automatically into database and a automatic table will create at the name of user. This
table will be used for keeping borrowing history of each user.Each user has 1 table named after
his/her username.
In the Admin class there is two textbox and one button and one label. The textbox’s takes two
strings username and password of Admin , the admin has only one username and one password.
By pressing submit button it will match with the given username and password , if matches it
will redirect admin to the admin_After_login class. If password dosent matches it will show an
error message and set the two textbox value null. The ‘Back to log in’ label will redirect the user
to the Login panel.
In the after_login class there is three buttons and one two label. The ‘Borrow Book’ button will
redirect user to the borrow class which is used for user borrowing book. The ‘Show Data’ button
will take user to the window of showing history of borrowing books user_show class and the
‘Update Info’ button will take user to the update_user class.
The borrow class has a constructor with a parameter ‘String n’ . In this constructor we are
passing the user name of the user so that we can insert the name into Admin_table , and also the
name will be used to insert into the table that we are using for showing each person’s history of
borrowing.

Picture : 3.2
The Admin_table is used for storing all the borrowers history. If the input is matched with the
database table books , it will show a message, ‘do you want to borrow this book’ if user press ok
it will store the book name, writer name and the current date into the account table. Here
11 | P a g e
account table means there is a table for each user which will use for user all book borrowing
history .And the username, book name and current date will store into the Admin_table. And a
pdf will create after pressing the button submit. The pdf will store the information of user name,
book name, writer name, book unique identity number, and borrowing date.
The ‘Show data’ button will take the user to the user_show class and show the user’s all
borrowing history. The user_show class has a constructor with parameter ‘name’ which is the
user name where all the space are replaced with underscore. The constructor has a method called
show_user which is used for showing the data into jtable. The data is showing from the table
which was created automatically after the registration. The user_show_class is used for showing
data into the jtable. It has three methods that returns book name, writer name and the date, and a
constructor that takes three strings which pass book name writer name and date.
The ‘Update Info’ button will take user to the update_user class which is programed for user
information update. There is three textbox and one button. An user can change his/her password ,
email and roll.
The admin_After_login class has two buttons ‘Add book’ and ‘Show data’ . By pressing ‘Add
book’ button it will take the admin to the add book section where admin can insert book name
and writer name into the database.
The Admin_Addbook class has two textbox and one button and two label. The Add button takes
the two strings from two textbox and add the book name and writer name into the database table
‘books’. We store a unique number of a book into the table . After inserting into database it will
show a message ‘book inserted’.
The Admin_table_show class has four textbox and three buttons. This panel shows the admin
the total number of borrower list , the name of user, the book writer name and the date of
borrow. Admin can update any information of the borrowing list , but the user name is
unchangeable. Admin can send alart message to the selected user if the date is expire. The
Admin_show class is used for showing the data into the jtable from database.
The Admin_books_show class has four textbox and two buttons. The table shows the book list
in the database. Admin can edit the book name, writer name, available in the database. The
b_identity is unchangeable. It is an unique identity of a book. The admin_book_class is used
for showing data into swing table from database.
The admin_account_show class has four textbox and two buttons and one combo box. The
combo box is used for changing the jframe of admin. This table shows all the accounts created
by user in the database, their names, password, email and roll. Admin can edit the names,
password and roll but email is unchangeable. The admin_account_class is used for showing
data from database table into java table.

3.3 Database:
We created a database called ‘test’ where all the necessary tables are stored. There are three
tables Admin_table, books, and loginreg. The ‘Admin_table’ is used for storing all the borrowing

12 | P a g e
books and borrowers and the borrowing dates. The ‘books’ table stores book name, writer name
availability and an unique identity number. The ‘loginreg’ table stores all the user account
information.
The ‘loginreg’ table has five columns names, passwords, email,roll, numbers. The names – is the
user name, passwords- is the user password , email- is the user email, roll- is the user varsity
identity number and numbers- is an unique identity number for all user.

Picture 3.3: loginreg table


The ‘books’ table has four columns names, writer, available, b_identity. The names – is the
book name, writer- is the book writer’s name , available- is either 0 or 1 ,0 means the book is not
available and 1 mes the book is available, b_identity- is the unique identity number for all the
books.

Picture 3.4: books table


The ‘Admin_table’ table has three columns names , b_identity , dates. The names – is the user
name, b_identity- is the book identity number from ‘books’ table , dates- is the borrowing time
of user.

13 | P a g e
Picture 3.5: Admin_table

3.4 Input:
USER INPUT:-
There is input in the registration section for user for registration. And in login section
there is two inputs user name and password for user. User can update their information in the
user update section. User gives input at the time of borrowing books, the book name and the
writer name.
ADMIN INPUT:-
The admin can add book into the database.

14 | P a g e
Picture 3.6: admin add book
The admin can update the three tables of database into the show data section. Also the admin can
send expiring message to the user.

Picture 3.6: admin table show

3.5 Output:
USER OUTPUT:-
At the time of book borrowing the system generates a pdf. The pdf contains books
information and the user information

Picture 3.7: pdf info


The user can see history of his all borrowing in the show data section

15 | P a g e
Picture 3.8: user history of borrowing

ADMIN OUTPUT:-
Admin can see the database tables Admin_table, books, loginreg in the show data section

Picture 3.9: Admin table show

16 | P a g e
Picture 3.9: Admin book show

Picture 3.9: Admin account show

17 | P a g e
Chapter 04: Conclusion and Future Works
4.1 CONCLUTION:
Using the software user can see if the book is available or not in the library, user also can see his
full history of borrowing books ,when he/she borrowed a book , which book.
 User can update his information
 User can see if the book is available or not
 User can see borrowing dates
 User can see book information
4.2 FUTURE WORK:
 We would like to add more security in the future
 The Admin will be able to add more than one book in the database
 If user change his/her email in the user update section there will be another
email verification
 The admin will be able to change user email address in the database
 The user will be able to change his user name in the user update section

18 | P a g e

You might also like