A comprehensive Library Management System built in C++ demonstrating advanced software engineering principles including OOP, SOLID principles, Design Patterns, and clean architecture.
- Book Management (Add, Remove, Search, Display)
- Member Management (Register, Remove, View)
- Borrowing System (Borrow, Return, Track)
- File-based Data Persistence
- Advanced Search Capabilities
- Statistics and Reporting
- Repository Pattern: Abstraction layer for data access
- Service Layer: Business logic separation
- SOLID Principles: Single Responsibility, Open/Closed, Dependency Inversion
- Clean Code: Modular design with clear separation of concerns
- C++17
- STL (Standard Template Library)
- File I/O for data persistence
- CMake build system
mkdir build
cd build
cmake ..
cmake --build ../LibraryManagementLibraryManagementSystem/
├── include/
│ ├── Book.h
│ ├── Member.h
│ ├── IDataRepository.h
│ ├── FileRepository.h
│ └── LibraryService.h
├── src/
│ ├── Book.cpp
│ ├── Member.cpp
│ ├── LibraryService.cpp
│ └── main.cpp
├── data/
│ ├── books.txt
│ └── members.txt
└── CMakeLists.txt
- Object-Oriented Programming: Encapsulation, Inheritance, Polymorphism
- Design Patterns: Repository Pattern, Service Layer Pattern
- SOLID Principles: Interface segregation, Dependency inversion
- Template Programming: Generic repository implementation
- File Management: Persistent data storage and retrieval
- STL Algorithms: Modern C++ standard library usage