Library Management System is a software solution designed for managing library operations with Role-Based Access Control (RBAC). Developed using C# and object-oriented programming (OOP) principles, our system caters to the varying needs of different users including administrators, librarians, and readers. This system is accompanied by detailed documentation, including activity diagrams, use case tables, and a class diagram, to provide a clear overview of its functionality and architecture.
Note: This version of the Library Management System operates through a console-based interface, offering a text-driven menu system instead of a graphical user interface (GUI).
The Library Management System offers a wide range of features tailored to the specific roles of its users:
- User Management: Add new borrowers and librarians to the system.
- Data Modification: Update the information of existing borrowers and librarians.
- User Removal: Delete profiles of inactive borrowers and librarians.
- Permission Management: Manage access permissions for various functions within the system.
- Book Querying: Assist readers in finding available books.
- Book Management: Handle the lending, renewal, and return of books.
- Catalog Management: Add new books to the system and update or remove existing ones.
- Book Reservation: Reserve books for later borrowing.
- Book Search: Use search and filtering options to find books.
- Loan Extensions: Request extensions for borrowed books.
- Fee Payment: Pay late fees and membership fees through the system.
- Secure Login/Logout: All users can securely access their specific functionalities.
To get started with the Library Management System, please follow the instructions below:
- Clone the repository to your local machine.
- Run the application
For a deeper understanding of the system, please refer to the included documentation:
- Activity Diagrams: Illustrate the flow of activities performed by different users.
- Use Case Tables: Describe the interactions between users and the system.
- Class Diagram: Provides an overview of the system's architecture and class relationships.