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.
- Multi-user support with secure account creation and login
- Role-based access control for system functionality
- Password encryption for enhanced security
- 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
- 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
- Multi-criteria search options across all database fields
- Real-time search results filtering
- Quick access to borrowing and management functions from search results
Multiple convenient options for registering book loans:
- Direct entry mode - Manual input of both Book ISBN and Member ID
- Book-centered flow - Search and select a book, then enter patron details
- 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
- One-click return processing
- Automatic due date tracking
- Fine calculation based on configurable parameters
- Return receipt generation
- 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
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
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.
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.
Follow these steps to set up and run the LMS project on your machine.
- 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.
- 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.
- 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 selectsrc > main.java.
- IntelliJ may prompt you to "Trust Project" for security. Click "Trust Project" to proceed.
- The main class is located in the
srcfolder (it's the last file in the directory, likely namedMain.java). - Double-click to open it in the editor.
- Press
Shift+F10or 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!








