0% found this document useful (0 votes)
8 views14 pages

Library Management System With File Persistence - ProjectAI

The document outlines the development of a library management system that includes functionalities for managing books and users, such as adding, searching, borrowing, and returning books, with persistent data storage using files. It details various tasks organized into categories like setup, CRUD operations, borrowing logic, data persistence, user roles, and error handling. The project aims to enhance skills in advanced OOP concepts, file I/O operations, and data management algorithms.

Uploaded by

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

Library Management System With File Persistence - ProjectAI

The document outlines the development of a library management system that includes functionalities for managing books and users, such as adding, searching, borrowing, and returning books, with persistent data storage using files. It details various tasks organized into categories like setup, CRUD operations, borrowing logic, data persistence, user roles, and error handling. The project aims to enhance skills in advanced OOP concepts, file I/O operations, and data management algorithms.

Uploaded by

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

L IBR A RY MA NAG E ME NT

S YS TE M WITH FIL E PRO

P E R S IS TE NC E
Develop a system to manage books in a library. Allow adding,
searching, borrowing, and returning books. Store the library data
persistently in files (e.g., CSV or JSON). Implement user roles
(librarian, member).

Java Intermediate 94 tasks

Learning Outcomes
Advanced OOP concepts.

File I/O operations (Serialization, CSV/JSON handling).

Working with dates and times (java.time package).

Data management and searching algorithms.

Object relationships (e.g., a Member borrows multiple Books).

Content About

1
Setup & Core Classes
Project Setup & Core Class Design

0 of 9 tasks completed 0%
Set Up Java Project Structure in IDE

Define Java Book Class for Library System

Java: Add Constructors, Getters, Setters to Book Class

Implement toString() for Book Class

Implement equals() and hashCode() in Java Book


Class

Java: Define Member Class Attributes for Library


System

Implement Member Class Constructor, Getters, and


Setters in Java

Implement toString() Method for Member Class in Java

Implement equals() and hashCode() for Java Member


Class

2
Library Class & Collections
Library Class & Core Logic Setup

0 of 8 tasks completed 0%

Define Basic Java Library Class Structure

Implement Book Storage in Library using Map

Implement Member Storage in Library Class using Map

Implement `addBook` Method in Java Library Class

Implement addMember Method in Library Class (Java)

Implement Library Method to Find Book by ISBN

Java: Implement Member Lookup by ID in Library


Class

Implement Singleton Pattern for Library Class (Java)

3
Book CRUD
Implement Book Management (CRUD)

0 of 6 tasks completed 0%

Java: Implement Duplicate ISBN Check in Library


addBook Method

Implement Book Lookup by ISBN using Map

Implement Update Book Details Method in Java Library

Implement Safe Book Deletion in Library Class

Java: Implement `listAllBooks` Method for Library


Catalog

Implement listAvailableBooks Method in Java Library


System

4
Member CRUD
Implement Member Management (CRUD)

0 of 5 tasks completed 0%
Refine `addMember` Method to Prevent Duplicate
Member IDs

Implement `findMemberById` Method in Library Class

Implement `updateMemberDetails` Method in Java


Library

Implement deleteMember Method with Borrowing


Constraint

Implement listAllMembers Method in Library

5
Book Borrowing
Implement Borrowing Logic

0 of 7 tasks completed 0%

Define `borrowBook` Method in Java Library Class

Implement Member Validation in borrowBook Method


(Java)
Validate Book Existence in borrowBook Method

Implement Book Availability Check in borrowBook


Method

Mark Book as Borrowed in `borrowBook` Method

Update Member's Borrowed Books List in borrowBook


Method

Implement BorrowingRecord Class for Library Loan


Tracking

6
Book Returning & Due Dates
Implement Returning Logic & Due Dates

0 of 9 tasks completed 0%

Define `returnBook` Method Signature in Library Class

Implement Member Validation in `returnBook` Method

Validate Book Existence for Return in Library System


Implement Book Return Loan Validation

Update Book Status to Available on Return

Update Member's Borrowed List on Book Return

Review: Due Date Calculation in borrowBook Method

Implement Overdue Check in Book Return Method

Implement Overdue Fine Calculation in Library System


(Java)

7
Book Search
Develop Methods for Searching Books

0 of 4 tasks completed 0%

Implement Book Search by Title in Library System

Implement Book Search by Author


Refine findBookByIsbn Method in Library System

Consider Flexible Book Search Strategies

8
Data Persistence
Implement Data Persistence using File I/O

0 of 13 tasks completed 0%

Decide on Data Persistence Method: JSON vs Java


Serialization

Add Jackson Dependency to Java Project

Create PersistenceManager Class for JSON Data


Saving

Serialize Book Collection to JSON using Jackson


ObjectMapper

Save Member Data with Borrowed Book ISBNs using


Jackson
Review IOException Handling in Java File Writing

Implement JSON Data Loading and Relationship


Reconstruction in Java

Implement Book Deserialization from JSON

Deserialize Members and Link Borrowed Books

Review File I/O Error Handling in Data Loading

Handle JSON Parsing and Mapping Errors in Data


Loading

Load Library Data on Application Startup

Implement Save on Exit with Java Shutdown Hook

9
User Roles
Implement User Roles (Librarian, Member)

0 of 5 tasks completed 0%
Implement UserRole Enum in Java

Implement User Role Selection at Startup

Implement Role-Based Menus in Java Library System

Implement Role-Based Access Control in Library App


Handlers

Verify Access Control for Common Library Functions

10
Console UI
Create a Console-Based User Interface

0 of 8 tasks completed 0%

Implement Main Application Loop for Console UI

Verify Role-Based Menu Display in Java Console App

Implement Library App Menu Option Handlers


Effective Java Scanner Usage for Console Input

Add Input Validation to Library App UI Handlers

Connect Validated UI Input to Library Logic Calls

Implement User Feedback in Library Console App

Format Console List Output for Readability

11
Error Handling
Error Handling and Refinement

0 of 6 tasks completed 0%

Refine Library Class Error Handling and Robustness

Implement Custom Exceptions in Java Library System

Handle Scanner Input Errors in Console UI


Refine User Error Messages in Library App

Enhance Application Robustness and Prevent Crashes

Refactor Library Management System Code

12
Reporting
(Enhancement) Basic Reporting

0 of 5 tasks completed 0%

Implement Borrowed Books Report Method

Add Menu Option for Borrowed Books Report

Refine Borrowed Books Report Formatting in Java

Implement Overdue Books Report in Java Library


System

Integrate Overdue Books Report into Librarian Menu


13
Unit Tests
(Enhancement) Unit Testing

0 of 9 tasks completed 0%
Add JUnit 5 Dependency for Unit Testing

Create JUnit 5 Test Classes

Write Unit Tests for Library Add Operations

Unit Test Library Find Methods (Book/Member)

Test Duplicate Item Prevention in Library System

Implement Unit Tests for Library Book Borrowing Logic

Write Unit Tests for Library returnBook Method

Write Unit Tests for Library Search Functionality

Mock File I/O Operations for Persistence Testing

You might also like