This project is a Library Management System designed to efficiently manage a library’s collection of books, authors, and members. The system supports essential operations like adding, updating, deleting, and retrieving information about books, authors, and members. Additionally, it includes features to track the borrowing and returning of books.
The project is built using Clean Architecture principles and adheres to separation of concerns across layers: Application, Domain, Infrastructure, and Presentation. The architecture ensures flexibility, scalability, and maintainability, making it easy to extend and test.
- Book Management: Add, update, delete, and search for books.
- Author Management: Manage author profiles with detailed information.
- Member Management: Register and manage library members.
- Loan Management: Track borrowed and returned books.
- Generic Repository Pattern: Implements a flexible and reusable repository structure.
- Asynchronous Programming: Leverages async/await for better performance and responsiveness.
- C# with .NET Core
- Entity Framework Core
- Clean Architecture
- Repository and Unit of Work Patterns
- LINQ and Expressions for flexible querying
- Dependency Injection
This project is a solid foundation for any library system, offering the ability to extend features or integrate with other systems. Contributions and suggestions are welcome!