This project is a simple Library Management System designed using Low-Level Design (LLD) principles. It models basic real-world library operations such as adding books, registering members, issuing and returning books.
Design and implement a Library Management System that:
- Manages books and members
- Issues and returns books
- Tracks book availability
- Prevents issuing unavailable books
The system follows Object-Oriented Programming (OOP) and SOLID principles:
- Each class has a single responsibility
- Business logic is separated from data models
- The design is easy to extend
- Book: Represents a book in the library
- Member: Represents a library member
- Library: Acts as a repository for books and members
- IssueService: Handles issuing and returning of books
- BookStatus: Enum for book availability
- Clone the repository
- Open in any Java IDE (IntelliJ / Eclipse / VS Code)
- Compile and run
Main.java
- Java
- OOP & SOLID principles
Ceija