https://github.com/femo-dev/library-management-system
A web-based application built with ASP.NET Core MVC and Entity Framework Core for managing books, users, and lending operations in a library. It supports user roles, secure authentication, and a responsive UI for librarians and readers.
https://github.com/femo-dev/library-management-system
Last synced: 4 months ago
JSON representation
A web-based application built with ASP.NET Core MVC and Entity Framework Core for managing books, users, and lending operations in a library. It supports user roles, secure authentication, and a responsive UI for librarians and readers.
- Host: GitHub
- URL: https://github.com/femo-dev/library-management-system
- Owner: femo-dev
- Created: 2025-04-02T20:54:59.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-17T16:32:41.000Z (about 1 year ago)
- Last Synced: 2025-07-12T04:39:31.308Z (12 months ago)
- Language: C#
- Size: 16.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Library Management System (LMS)
## Overview
The **Library Management System (LMS)** is a web-based application designed to help libraries efficiently manage books, users, borrowing records, and overdue book reports. The system provides functionalities for librarians to oversee inventory and for users (readers) to search, borrow, return, and review books.
## Development Team
Sukhjinder, Fabian, Samuel, Duan.
## Key Features
- **User Authentication & Role Management**: Secure login with roles for **Librarians** (manage inventory, users) and **Readers** (borrow, review books).
- **Book Management**: CRUD operations (Add, Edit, Delete, Search) with categorization by subject, author, availability, and rating.
- **Borrow & Return Books**: Track loan durations and automate due date calculations.
- **Fine Calculation**: Automated fines for late returns.
- **Book Reviews & Ratings**: Users can rate and review books; system displays popular books based on ratings.
- **Statistics & Reports**: Generate reports for most borrowed books, overdue books, and user activity.
## Database Schema
The system uses the following tables:
- **Author**: Stores author details.
- **Subject**: Categorizes books by subject.
- **Book**: Contains book information (ISBN, name, synopsis, etc.).
- **BookAuthor**: Maps books to authors (many-to-many relationship).
- **User**: Stores user details (readers and librarians).
- **Editorial**: Tracks publishing companies.
- **Edition**: Manages book editions.
- **Loan**: Records book loans.
- **LoanDetail**: Tracks individual books within a loan.
- **Rating**: Stores user ratings and reviews for books.
## Technology Stack
- **Frontend**: ASP.NET MVC, Razor Pages, Bootstrap
- **Backend**: ASP.NET Core, C#
- **Database**: SQL Server
- **Authentication**: Identity Framework (JWT-based authentication)
## Installation
1. **Prerequisites**:
- .NET Core SDK
- SQL Server
- Visual Studio (recommended)
2. **Setup**:
- Clone the repository.
- Restore NuGet packages.
- Update the connection string in `appsettings.json` to point to your SQL Server instance.
- Run database migrations to create the schema.
- Start the application.
3. **Default Accounts**:
- Librarian: `admin@library.com` (password: Admin123!)
- Readers: Register an account using the registration function.
## Usage
- **Librarians**: Log in to manage books, users, and view reports.
- **Readers**: Log in to search, borrow, return, and review books.
## What can Librarians do!
- View and Edit all Loans

- View and Edit all Readers

- Serach the Database for any Loan

## What can Readers Do!
- Use the My Accont Page

- Search for any Book In the Database

- Have a specific page to look at their Loans

## ER Diagram
