Skip to content

Aravind9712/library-management-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Java Library Management System 🧩 Project Overview

The Library Management System is a simple console-based Java application designed to manage books and borrowers using Object-Oriented Programming (OOP) concepts. It enables users to perform operations such as adding books, registering borrowers, borrowing and returning books, and searching for available titles.

This project helps beginners understand OOP principles such as encapsulation, inheritance, composition, and data management through a real-world application.

🎯 Objective

The main objective is to:

Practice Java OOP design and logic.

Build a modular, reusable, and maintainable application.

Implement real-world logic like book availability and due dates using Java’s standard libraries.

πŸ› οΈ Technical Requirements Component Details Programming Language Java (JDK 8 or higher) Libraries Used Standard Java libraries (java.util, java.time) IDE/Editor IntelliJ IDEA, Eclipse, or VS Code Version Control Git & GitHub Execution Command Prompt / Terminal 🧱 Folder Structure library-management-java/ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ Book.java # Handles book data and availability β”‚ β”œβ”€β”€ Borrower.java # Stores borrower information β”‚ β”œβ”€β”€ Library.java # Core logic: manage books & borrowers β”‚ └── BorrowedBook.java # Helper class for borrow tracking β”œβ”€β”€ Main.java # Entry point with menu-driven console UI β”œβ”€β”€ README.md # Documentation └── .gitignore # Ignores compiled .class files

βš™οΈ Setup & Run Instructions Step 1: Clone or Download the Repository git clone https://github.com//library-management-java.git cd library-management-java

Step 2: Compile the Java Files

If you’re in the root folder:

javac src/*.java Main.java

Step 3: Run the Program java Main

🧠 Features Implemented

βœ… Add, update, and delete books βœ… Register borrowers and manage memberships βœ… Borrow and return books βœ… Check book availability and due dates βœ… Handle overdue tracking using LocalDate βœ… Console-based menu for interaction

πŸ’‘ OOP Concepts Used Concept Application Encapsulation Private fields with getters/setters in Book, Borrower, etc. Abstraction Classes hide internal logic behind public methods. Inheritance Optional for future extension (e.g., EBook extends Book). Composition Library contains lists of Book and Borrower objects. 🧩 Example Menu Output ====== Library Management System ======

  1. Add Book
  2. Register Borrower
  3. Borrow Book
  4. Return Book
  5. Search Book
  6. Exit ====================================== Enter your choice:

πŸ§ͺ Example Commands

Borrowing a book example:

Enter membership ID: M001 Enter book ISBN: B123 Book borrowed successfully! Due date: 2025-11-27

Returning a book example:

Enter membership ID: M001 Enter book ISBN: B123 Book returned successfully!

🧰 Future Enhancements

Persistent storage using files or databases (e.g., MySQL).

Fine calculation for overdue books.

GUI interface using JavaFX or Swing.

Export reports (borrow history, available books, etc.).

πŸ‘¨β€πŸ’» Author

Aravind M πŸŽ“ Full Stack Developer Trainee πŸ“ Dharmapuri πŸ’» GitHub: @Aravind9712

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published