- Project Overview
- Features
- Technologies Used
- Setup and Installation
- Project Structure
- Usage
- Authentication and Roles
- Future Improvements
The Library Management System is a web application built using ASP.NET Core MVC to manage book checkouts, returns, member management, and penalties for late returns. It is designed for both librarians and members, providing role-based access control.
- George Medhat Makram Wessa
- Abdelrahman Ahmed Abdelrahman
- Ahmed Ibrahim Mohamed Ibrahim
- Bishoy Maged Makram Wessa
- Karin Kheir Abdallah
- Youssef Sameh Mohamed
- Book Management: Add, edit, delete, and view books in the library.
- Member Management: Register, view, and manage members.
- Checkout and Return: Handle the checkout and return of books, with due date tracking.
- Penalty System: Automatically calculate penalties for overdue returns.
- Search: Search and filter books by title, author, or genre.
- User Authentication: Role-based access for librarians and members.
- ASP.NET Core MVC: Backend framework for building the application.
- Entity Framework Core: ORM for database management and migrations.
- SQL Server: Database to store book, member, and transaction data.
- Identity Server: Used for user authentication and role-based access.
- Bootstrap: For responsive UI design.
- C#: Main programming language.
- Download the project as a
.rarfile (provided separately). - Extract the
.rarfile to your preferred directory. - Open the project in Visual Studio (or your preferred IDE).
- The link to the repository will be shared once available.
- .NET 6 SDK or later
- SQL Server
- Visual Studio or any IDE supporting .NET
-
Open the Project:
- Extract the provided
.rarfile and open the solution in Visual Studio.
- Extract the provided
-
Set Up the Database:
- In
appsettings.json, configure the connection string to match your SQL Server instance:"ConnectionStrings": { "DefaultConnection": "Server=your_server_name;Database=LibraryDB;Trusted_Connection=True;MultipleActiveResultSets=true" }
- In
-
Run Migrations:
- Open the Package Manager Console in Visual Studio and run:
update-database
- Open the Package Manager Console in Visual Studio and run:
-
Run the Application:
- Press
F5or use the following command to run the application:dotnet run
- Press
- /Controllers: Contains all controllers for managing requests (e.g.,
BookController.cs,MemberController.cs). - /Models: Contains all data models (e.g.,
Book.cs,Member.cs,Checkout.cs,Penalty.cs). - /Views: Contains all Razor views for rendering the UI (e.g.,
Views/Book/Index.cshtml). - /Repositories: Data access layer that interacts with the database.
- /Migrations: Entity Framework Core migrations to manage the database schema.
- appsettings.json: Configuration file for connection strings and app settings.
- Startup.cs: Configures services and the request pipeline.
- Program.cs: Main entry point of the application.
Once the application is running, you can access it via the browser:
- Librarian Role: Has full access to manage books, members, checkouts, and penalties.
- Member Role: Can view books, their borrowing history, and penalties.
-
Manage Books:
- Go to
/Booksto view the list of books. - Add a new book by clicking the Add Book button.
- Edit or delete a book by selecting the respective options.
- Go to
-
Manage Members:
- Go to
/Membersto view the list of members. - Add a new member, view their borrowing history, or edit their details.
- Go to
-
Checkout Books:
- Go to
/Checkoutsto manage book checkouts. - Select a book and member to complete the checkout process.
- Go to
-
Return Books:
- Go to
/Returnsto record book returns and calculate penalties if overdue.
- Go to
-
Search:
- Use the search bar on the Books page to find books by title, author, or genre.
- Librarian Role: Librarians have administrative privileges to manage books, members, checkouts, returns, and penalties.
- Member Role: Members can only view available books, their borrowing history, and penalties.
You can create new users through the registration page, with role assignments managed by the administrator.
- Notifications: Add email or SMS notifications for overdue books or upcoming due dates.
- Advanced Search: Add more search filters, such as by publication year or book category.
- Analytics: Include reporting features to track borrowing trends, popular books, etc.
- UI Enhancements: Improve UI/UX for better navigation and user experience.
This documentation provides an overview of the Library Management System, outlining the key features, setup instructions, and structure of the project. Use the provided .rar file to access the project files and follow the setup instructions to get started.