LIBRARY MANAGER
Console-based library system in Java.
OVERVIEW
A comprehensive, console-based Library Management System engineered entirely in Java. This architecture was meticulously designed to demonstrate advanced Object-Oriented Programming (OOP) paradigmsβincluding Encapsulation, Inheritance, and Polymorphismβindependent of a graphical user interface. It serves as a robust backend framework, illustrating how complex entity relationships, borrowing constraints, inventory tracking, and dynamic customer profiles can be modeled effectively using pure programmatic logic and architectural best practices.
KEY FEATURES
- βΈ Robust Cataloging: Efficiently structure and manage diverse inventory, including books and periodicals.
- βΈ Identity Management: Securely register, authenticate, and manage dynamic customer profiles.
- βΈ Query Mechanisms: Implement rapid search protocols for locating specific library assets.
- βΈ OOP Architecture: Employ clean software design utilizing Encapsulation, Inheritance, Abstraction, and formalized Class Relationships.
PROJECT STRUCTURE
The codebase is organized cleanly to separate concerns and maintain readability:
library-management-system-java-noGui/ β βββ library/ β βββ Book.java β βββ Periodical.java β βββ Customer.java β βββ Library.java β βββ Main.java β βββ Documentation/ β βββ Project_Documentation.docx β βββ README.md βββ LICENSE βββ .gitignore
HOW TO RUN
This is a standard Java console application with no external dependencies. To run it locally:
1. Compile the source code:
javac library/*.java
2. Execute the main program:
java library.Main
SYSTEM ARCHITECTURE & LOGIC
The system was implemented following a clear three-step methodology to simulate real library operations.
OOP CONCEPTS APPLIED
Periodical class extends the Book baseline to maximize code reuse and eliminate redundancy.