oscurprof / LMS---Library-Management-System

A Library Management System (LMS) application built in Java for managing books, users, and library transactions efficiently.

Repository from Github https://github.comoscurprof/LMS---Library-Management-SystemRepository from Github https://github.comoscurprof/LMS---Library-Management-System

📚 Library Management System (LMS)

Table of Contents

Project Overview

The Library Management System (LMS) is a comprehensive Java-based application designed to modernize and simplify library operations. Built as a Semester 3 project, this system provides an intuitive interface for managing books, patrons, and lending activities with robust features to ensure data integrity and ease of use.

Key Features

1. User Authentication & Security

  • Multi-user support with secure account creation and login
  • Role-based access control for system functionality
  • Password encryption for enhanced security

Login System

2. Book Management

  • Complete book cataloging with details including:
    • ISBN/Book ID
    • Title and author information
    • Publication details
    • Genre classification
    • Availability status
  • Add, update, and remove book records with data validation
  • Prevent deletion of books currently on loan

Book Management Interface

3. Patron Management

  • Comprehensive patron record system including:
    • Member ID and contact information
    • Membership type and status
    • Membership expiry tracking
    • Borrowing history
  • Add, update, and delete patron records with referential integrity
  • Automatic handling of related records when a patron is removed

Patron Management Interface

4. Advanced Search Functionality

  • Multi-criteria search options across all database fields
  • Real-time search results filtering
  • Quick access to borrowing and management functions from search results

Search

5. Borrowing System

Multiple convenient options for registering book loans:

  1. Direct entry mode - Manual input of both Book ISBN and Member ID
  2. Book-centered flow - Search and select a book, then enter patron details
  3. Patron-centered flow - Select a patron first, then register books against their account

System validations ensure:

  • Book exists in the catalog and is available
  • Patron is registered with an active membership
  • Borrowing limits are not exceeded

Borrowing Process

6. Returns Processing

  • One-click return processing
  • Automatic due date tracking
  • Fine calculation based on configurable parameters
  • Return receipt generation

Fine Management

7. System Integrity Safeguards

  • Book deletion protection: System prevents deletion of books currently on loan
  • Cascading patron deletion: When removing patron records, all associated borrowing history is properly managed

Book Deletion Protection Patron Deletion Process

Technical Specifications

  • Core Java & OOP Implementation:

The system is built entirely using Core Java concepts including:

  • Inheritance for extending base functionality

  • Polymorphism for flexible operations on different types of library items

  • Encapsulation to protect data integrity

  • Exception handling for robust error management

  • Collections framework for efficient data manipulation

  • File I/O operations for persistent storage

  • Custom data structures for optimized performance

  • Java Swing GUI:

The entire user interface is built using Java Swing components, providing a responsive and intuitive experience across different operating systems. Custom components and event handling showcase advanced GUI programming techniques.

  • File-Based Data Storage:

Instead of using a traditional database, the system implements a robust file-based data storage mechanism. All records of books, patrons, borrowings, and returns are stored in files, demonstrating advanced file I/O operations in Java while maintaining data integrity and relationships between records.

Installation & Setup

Follow these steps to set up and run the LMS project on your machine.

1. Download & Install IntelliJ IDEA Community Edition

  • IntelliJ IDEA Community Edition is free and recommended for this project (Ultimate is paid!).
  • Download from the official site: IntelliJ IDEA Community Edition.
  • Install by following the on-screen instructions.

2. Download JDK

  • Open IntelliJ IDEA.
  • Create a new project (File > New > Project).
  • In the project setup wizard, download the JDK:
    • Select "Download JDK" (see the reference image below for guidance).
    • Choose a version (e.g., JDK 17 or later) and complete the download.

Downloading JDK

3. Open the Project

  • Option 1: Right-click the project folder (LMS - Library Management System) and select "Open as IntelliJ IDEA Project."
  • Option 2: In IntelliJ, go to File > Open, navigate to the project folder, and select src > main.java.

4. Trust the Project

  • IntelliJ may prompt you to "Trust Project" for security. Click "Trust Project" to proceed.

5. Find and Open the Main Class

  • The main class is located in the src folder (it's the last file in the directory, likely named Main.java).
  • Double-click to open it in the editor.

6. Run the Project

  • Press Shift+F10 or click the green "Play" icon at the top of IntelliJ to run the project.
  • The LMS application will launch, and you can start exploring its features.

Enjoy!

About

A Library Management System (LMS) application built in Java for managing books, users, and library transactions efficiently.


Languages

Language:Java 100.0%