You will be creating a Library Management System in which you can perform all CRUD operations, in addition to advanced search, book issuing, Serialization and Deserialization.
You will be creating a Library Management System in which you can perform all CRUD operations, in addition to advanced search, book issuing, Serialization and Deserialization.
Management systems mostly use software across all schools and colleges to keep record of data. One such System is Library Management System, which is used to keep record of books present in a library.
These Systems comprises of information regarding Books, where we can perform all the operations that are required in an actual system such as CRUD operation, advanced search, book issuing, and also to store the information within files using the process known as Serialization.
The project consists of the following stages:
You will be creating a Library Management System in which you can perform all CRUD operations, in addition to advanced search, book issuing, Serialization and Deserialization.
Management systems mostly use software across all schools and colleges to keep record of data. One such System is Library Management System, which is used to keep record of books present in a library.
These Systems comprises of information regarding Books, where we can perform all the operations that are required in an actual system such as CRUD operation, advanced search, book issuing, and also to store the information within files using the process known as Serialization.
The project consists of the following stages:
Our project is going to be a command line application in Java. Like most typical command line applications, it'll contain a switch case which will display a set of options to the user to perform the actions and make necessary queries.
We'll start off by creating an object for storing details of books and also adding some code to our public static void main(String[] args)
.
bookId
, bookName
, writerName
, price
and quantity
.You should be able to store the details of various books in the form of objects of type Book
, while using an efficient data structure at the same time.
Next up we'll be adding the functionality to add/delete book details.
Book
.bookId
for the same.quantity
for each object of type Book
. This attribute can come in handy when you want to reduce the quantity of a specific book. Moreover, you should be able to check whether the number to be subtracted is actually lesser or equal to the already present quantity
or not.quantity
, if the number to be subtracted is greater than the quantity
.You should be able to add and delete book details.
We should be able to search for a particular book based on its name or the writer's name.
bookName
. If found, display the details or display Book Absent
.writerName
. If found, display the details or display Writer Absent
.bookName
or writerName
.You should be able to implement an efficient searching functionality for books.
In this task we'll be implementing the functionality for users to issue a book. Only admins will be allowed to issue books to users.
User
entity with fields userId
(should be auto-generated), password
, role
(Admin
/User
).IssueBook
having attributes bookId
and userId
. The objects of this class will basically be created whenever a user issues a book.User
, emulate a login session for Admin
in the command line. On issuing, add the details as an object of type IssueBook
to an ArrayList
of the same type.You should be able to emulate Admin
login session from the command line for issuing books to a User
as per request.
Till now your main program should run fine. It should be able to add and remove book details. Add users and admins and enable admin login sessions to issue books for users. But if you stop your program execution, all the data gets deleted. That means that we'll need a way to store our data so that we can access and manipulate it at a later time.
Create three files: userDetails.txt
, bookDetails.txt
and issueBook.txt
.
All the data should be stored in these files in encrypted format.
Utilize the concept of serialization to store the data to the files.
Utilize the concept of deserialization to access the data from the files.
The main objective of this milestone is to replace the volatile concept and store everything permanently in unreadable files.