A comprehensive console-based library management system built with Java, implementing SOLID principles and design patterns.
- Add, update, and delete books
- Search books by author or title
- Track book status (Available, Borrowed, Reserved)
- Manage book editions and prices
- Automatic due date calculation
- Student and Faculty registration
- Department-based filtering
- Reader type-specific operations
- Automatic ID generation
- Reader status tracking
- Book lending and return operations
- Due date tracking
- Fine calculation
- Reader limit management
- Book availability checking
- Builder Pattern for object creation
- Factory Pattern for reader types
- Strategy Pattern for fine calculation
- Observer Pattern for notifications
- Single Responsibility Principle
- Open/Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
- HashMap for efficient data storage
- ArrayList for dynamic collections
- Stream API for data processing
- Java JDK 11 or higher
- Maven (for dependency management)
- Clone the repository
git clone https://github.com/yourusername/library-management-system.git
- Navigate to the project directory
cd library-management-system
- Compile the project
javac src/main/java/main/*.java
- Run the application
java src.main.java.main.Main
-
Book Operations
- Add new book
- Update book information
- Delete book
- Search books
- List all books
-
Reader Operations
- Student registration
- Faculty registration
- Update reader information
- Delete reader
- List readers by department
-
Borrowing Operations
- Lend book
- Return book
- Calculate fines
- View borrowing history
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
-
v1.0 - Initial Release
- Basic library management features
- Reader and book management
- Borrowing system
-
v1.1 - Search Feature Update
- Added book search functionality
- Improved code organization
- Enhanced user interface
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors
- Inspired by real library management systems
- Built with modern Java practices