[Mã code 99604]

Phần mềm quản lý thư viện - C#

  (1 Đánh giá)
  0       1    

Quản lý thư viện mượn trả sách Có đầy đủ chức năng như mô tả Có hướng dẫn cài đặt đầy đủ

Danh mục
Thể loại
Ngày đăng
11-7-2026
Loại file
Full code
File download
 quan-ly-thu-vien.zip [52,1 MB]
CAM KẾT TỪ NGƯỜI BÁN
Cam kết chức năng như mô tả
Nếu có nâng cấp thì sẽ được update free
Hỗ trợ tạo báo cáo nếu có nhu cầu


Source code
2

Đánh giá (6)
5/5

Ngày tham gia
6/7/2026

================================================================
  HỆ THỐNG QUẢN LÝ THƯ VIỆN - WINFORMS
  Danh sách chức năng hiện có & còn thiếu
================================================================
 
------------------------------------------------------------
I. CHỨC NĂNG ĐÃ CÓ (đã implement)
------------------------------------------------------------
 
[TAB 1 - MƯỢN SÁCH]
  ✔ Tìm độc giả theo ID
  ✔ Hiển thị thông tin độc giả (tên, loại, số thẻ, trạng thái)
  ✔ Nhập mã vạch sách để mượn
  ✔ Xác nhận mượn sách (gọi LoanService.CheckOutAsync)
  ✔ Kiểm tra tự động: thẻ hết hạn, bị khóa, đang có sách quá hạn,
    vượt giới hạn số sách mượn đồng thời
  ✔ Tính ngày hạn trả tự động theo loại độc giả (từ MemberTypePolicyConfig)
  ✔ Hiển thị danh sách sách đang mượn của độc giả
 
[TAB 2 - TRẢ SÁCH]
  ✔ Nhập / quét mã vạch sách cần trả
  ✔ Xác nhận trả sách (gọi LoanService.CheckInAsync)
  ✔ Tính tiền phạt quá hạn tự động (số ngày x đơn giá theo loại độc giả)
  ✔ Áp trần tiền phạt tối đa theo chính sách
  ✔ Hiển thị kết quả: đúng hạn hoặc số tiền phạt
  ✔ Tự động kích hoạt hàng đợi đặt chỗ khi sách được trả
 
[TAB 3 - DANH SÁCH SÁCH]
  ✔ Tìm kiếm theo: tên sách, tác giả, ISBN, nhà xuất bản
  ✔ Hiển thị bảng sách với: tên, tác giả, ISBN, NXB, năm XB,
    thể loại, vị trí kệ, tổng bản, số bản còn sẵn, kỹ thuật số
  ✔ Tải lại danh sách
 
[TAB 4 - ĐỘC GIẢ]
  ✔ Tìm kiếm theo: họ tên, email, số thẻ
  ✔ Hiển thị bảng độc giả với: tên, loại, email, SĐT,
    số thẻ, hạn thẻ, trạng thái, số sách đang mượn, tiền phạt chưa trả
  ✔ Click vào hàng để xem chi tiết độc giả
 
[HỆ THỐNG - BACKEND]
  ✔ Business rules đầy đủ trong LoanService (checkout/checkin/renew)
  ✔ Chính sách mượn theo loại độc giả (Student/Teacher/External/VIP)
  ✔ Quản lý hàng đợi đặt chỗ (Reservation queue)
  ✔ Ghi log thông báo (email/SMS stub)
  ✔ Database SQLite tự động tạo khi khởi động
  ✔ Soft delete (xóa mềm)
 
------------------------------------------------------------
II. CHỨC NĂNG CÒN THIẾU (chưa implement trong WinForms)
------------------------------------------------------------
 
[XÁC THỰC & PHÂN QUYỀN]
  ✘ Màn hình Đăng nhập / Đăng xuất
  ✘ Phân quyền: Admin / Thủ thư / Độc giả
  ✘ Đổi mật khẩu
  ✘ Khóa màn hình sau thời gian không hoạt động
 
[QUẢN LÝ SÁCH]
  ✘ Thêm sách mới
  ✘ Sửa thông tin sách
  ✘ Xóa / ẩn sách
  ✘ Quản lý bản sao (BookCopy): thêm, đánh barcode, đổi trạng thái
  ✘ Quản lý danh mục (Category)
  ✘ Gia hạn sách (Renew) - UI chưa có (backend đã có)
 
[QUẢN LÝ ĐỘC GIẢ]
  ✘ Thêm độc giả mới
  ✘ Sửa thông tin độc giả
  ✘ Khóa / mở khóa tài khoản độc giả
  ✘ Cấp thẻ thư viện mới
  ✘ Gia hạn thẻ
  ✘ Báo mất thẻ
  ✘ Xem lịch sử mượn trả của từng độc giả
 
[QUẢN LÝ PHẠT]
  ✘ Danh sách các khoản phạt chưa thanh toán
  ✘ Thu tiền phạt (đánh dấu đã thanh toán)
  ✘ Xóa / giảm tiền phạt (waive)
  ✘ Lịch sử thanh toán
 
[ĐẶT CHỖ / GIA HẠN]
  ✘ UI đặt chỗ sách (Reservation) cho độc giả
  ✘ Danh sách hàng đợi đặt chỗ
  ✘ Hủy đặt chỗ
  ✘ UI gia hạn sách (Renew) cho thủ thư
 
[BÁO CÁO & THỐNG KÊ]
  ✘ Tổng quan dashboard (số sách, độc giả, đang mượn, quá hạn)
  ✘ Danh sách sách đang mượn / quá hạn
  ✘ Báo cáo tiền phạt (đã thu / chưa thu)
  ✘ Top sách được mượn nhiều nhất
  ✘ Thống kê theo khoảng thời gian
  ✘ Xuất báo cáo ra Excel / PDF
 
[CẤU HÌNH HỆ THỐNG]
  ✘ Chỉnh sửa chính sách mượn sách theo loại độc giả
    (số ngày, số cuốn tối đa, mức phạt, số lần gia hạn)
  ✘ Quản lý tài khoản nhân viên
 
[TIỆN ÍCH]
  ✘ Quét barcode bằng camera / máy quét
  ✘ In phiếu mượn / trả
  ✘ Tìm kiếm nâng cao (lọc nhiều điều kiện)
  ✘ Thông báo sách sắp đến hạn
 
------------------------------------------------------------
III. ĐỀ XUẤT ƯU TIÊN BỔ SUNG TIẾP THEO
------------------------------------------------------------
 
  Mức 1 (Cần thiết nhất):
    → Login / Logout với phân quyền Admin / Thủ thư
    → Thêm / Sửa Sách và Bản sao sách
    → Thêm / Sửa Độc giả + Cấp thẻ
    → Thu tiền phạt
 
  Mức 2 (Quan trọng):
    → Dashboard tổng quan
    → Danh sách sách quá hạn
    → Gia hạn sách (UI)
    → Lịch sử mượn trả
 
  Mức 3 (Nâng cao):
    → Báo cáo & xuất Excel
    → Cấu hình chính sách
    → In phiếu
 
================================================================
 


XEM THÊM ==> Hướng dẫn cài đặt chi tiết

HÌNH ẢNH DEMO


quản lý,C# thư viện,code quản lý thư viện C#

quản lý,C# thư viện,code quản lý thư viện C#

quản lý,C# thư viện,code quản lý thư viện C#

quản lý,C# thư viện,code quản lý thư viện C#

quản lý,C# thư viện,code quản lý thư viện C#

quản lý,C# thư viện,code quản lý thư viện C#

quản lý,C# thư viện,code quản lý thư viện C#

quản lý,C# thư viện,code quản lý thư viện C#

quản lý,C# thư viện,code quản lý thư viện C#

quản lý,C# thư viện,code quản lý thư viện C#


HƯỚNG DẪN CÀI ĐẶT
# HƯỚNG DẪN CHẠY DỰ ÁN QUẢN LÝ THƯ VIỆN

## YÊU CẦU HỆ THỐNG

| Phần mềm | Phiên bản | Link tải |
|----------|-----------|----------|
| .NET SDK | 8.0 trở lên | https://dotnet.microsoft.com/download/dotnet/8.0 |
| Windows | 10 / 11 | — |
| Visual Studio (tuỳ chọn) | 2022 | https://visualstudio.microsoft.com |

Kiểm tra .NET đã cài chưa:
```
dotnet --version
```
Kết quả mong muốn: `8.0.x`

---

## CẤU TRÚC DỰ ÁN

```
quan-ly-thu-vien/
├── LibraryManagement/
│   ├── LibraryManagement.sln              ← File solution
│   ├── LibraryManagement.Domain/          ← Entities, Enums, Interfaces
│   ├── LibraryManagement.Application/     ← Services, DTOs
│   ├── LibraryManagement.Infrastructure/  ← EF Core, SQLite, Seeder
│   ├── LibraryManagement.WinForms/        ← Ứng dụng WinForms (CHẠY CÁI NÀY)
│   └── LibraryManagement.API/             ← REST API (tuỳ chọn)
└── HUONG_DAN_CHAY_DU_AN.md
```

---

## CÁCH CHẠY NHANH (ứng dụng WinForms)

### Bước 1 — Mở terminal tại thư mục solution

```cmd
cd "C:\Users\huand\Documents\topcode\quan-ly-thu-vien\LibraryManagement"
```

### Bước 2 — Khôi phục NuGet packages

```cmd
dotnet restore LibraryManagement.sln
```

### Bước 3 — Build toàn bộ solution

```cmd
dotnet build LibraryManagement.sln
```

Kết quả mong muốn: `Build succeeded. 0 Error(s)`

### Bước 4 — Chạy ứng dụng WinForms

```cmd
dotnet run --project LibraryManagement.WinForms
```

Lần đầu chạy, ứng dụng sẽ **tự động**:
- Tạo file database `library.db` (SQLite)
- Chạy migration tạo bảng
- Seed dữ liệu mẫu (sách, độc giả, chính sách)
- Tạo file `staff.json` chứa tài khoản nhân viên

---

## TÀI KHOẢN ĐĂNG NHẬP MẶC ĐỊNH

| Tên đăng nhập | Mật khẩu  | Vai trò   |
|---------------|-----------|-----------|
| `admin`       | `admin123` | Admin     |
| `thuhu`       | `thuhu123` | Thủ thư   |
| `thuhu2`      | `thuhu2123`| Thủ thư   |

> **Lưu ý:** Sau lần đầu chạy, tài khoản được lưu trong file `staff.json`
> cùng thư mục với `library.db`. Admin có thể thêm/sửa/xóa tài khoản
> ngay trong ứng dụng (menu **Tài Khoản Nhân Viên**).

---

## CÁC FILE DỮ LIỆU ĐƯỢC TẠO TỰ ĐỘNG

Sau khi chạy lần đầu, các file này xuất hiện trong thư mục:
`LibraryManagement.WinForms\bin\Debug\net8.0-windows\`

| File | Mô tả |
|------|-------|
| `library.db` | Database SQLite — toàn bộ dữ liệu thư viện |
| `staff.json` | Danh sách tài khoản nhân viên |

---

## CHẠY BẰNG VISUAL STUDIO 2022

1. Mở file `LibraryManagement\LibraryManagement.sln`
2. Trong **Solution Explorer**, chuột phải vào `LibraryManagement.WinForms`
3. Chọn **Set as Startup Project**
4. Nhấn **F5** (Debug) hoặc **Ctrl+F5** (Chạy không debug)

---

## CHẠY REST API (tuỳ chọn)

```cmd
dotnet run --project LibraryManagement.API
```

Sau đó mở trình duyệt tại: `http://localhost:5000`

---

## CHỨC NĂNG CHÍNH CỦA ỨNG DỤNG

### Nghiệp vụ mượn/trả
- **Mượn Sách** — Tìm độc giả → Quét barcode → Xác nhận → In phiếu mượn
- **Trả Sách** — Quét barcode → Tự tính phạt nếu quá hạn → In phiếu trả
- **Gia Hạn** — Tìm độc giả → Chọn sách → Gia hạn (kiểm tra giới hạn và đặt chỗ)
- **Sách Đang Mượn** — Xem toàn bộ, lọc theo quá hạn
- **Đặt Chỗ** — Đặt chỗ sách đang được mượn, hủy đặt chỗ

### Quản lý danh mục
- **Quản Lý Sách** — Thêm, sửa, tìm kiếm sách
- **Bản Sao Sách** — Quản lý từng bản (barcode, trạng thái)
- **Danh Mục** — Thêm/sửa thể loại sách
- **Độc Giả** — Thêm, sửa, khóa/mở tài khoản độc giả

### Tài chính
- **Tiền Phạt** — Xem danh sách, thu tiền, miễn/giảm phạt
- **Báo Cáo Phạt** — Thống kê theo khoảng thời gian, xuất CSV

### Báo cáo & thống kê
- **Báo Cáo Quá Hạn** — Danh sách sách quá hạn, xuất CSV
- **Lịch Sử Mượn Trả** — Tra cứu theo tên/ID/barcode
- **Top Sách Mượn Nhiều** — Xếp hạng sách, xuất CSV
- **Sắp Đến Hạn** — Cảnh báo sách sắp hết hạn trả (tuỳ chỉnh số ngày)

### Cấu hình hệ thống
- **Chính Sách Mượn** — Chỉnh số ngày, số sách tối đa, mức phạt theo loại độc giả
- **Tài Khoản Nhân Viên** — Thêm/sửa/xóa tài khoản, đặt lại mật khẩu (Admin)

---

## XỬ LÝ LỖI THƯỜNG GẶP

### Lỗi: "dotnet không được nhận dạng"
- Cài .NET 8 SDK từ link ở trên
- Khởi động lại terminal sau khi cài

### Lỗi: "Unable to open database"
- Đảm bảo thư mục `bin\Debug\net8.0-windows\` có quyền ghi
- Chạy terminal với quyền Administrator

### Lỗi build: "Package not found"
- Chạy lại `dotnet restore LibraryManagement.sln`
- Kiểm tra kết nối internet

### Database bị hỏng / muốn reset dữ liệu
- Xóa file `library.db` trong `bin\Debug\net8.0-windows\`
- Chạy lại ứng dụng — sẽ tạo và seed lại từ đầu

### Quên mật khẩu admin
- Xóa file `staff.json` trong `bin\Debug\net8.0-windows\`
- Chạy lại ứng dụng — sẽ tạo lại tài khoản mặc định

---

## THÔNG TIN KỸ THUẬT

| Mục | Chi tiết |
|-----|----------|
| Framework | .NET 8, Windows Forms |
| Database | SQLite (qua Entity Framework Core 8) |
| Kiến trúc | Clean Architecture (Domain / Application / Infrastructure / UI) |
| Auth | SHA-256 hash, lưu trong `staff.json` |
| Migration | EF Core Migrations (tự chạy khi khởi động) |
| Dữ liệu mẫu | Tự seed lần đầu (sách, độc giả, chính sách 4 loại thẻ) |

 




Nguồn: Topcode.vn

BÌNH LUẬN (0)


ĐÁNH GIÁ (1)

ĐIỂM TRUNG BÌNH

5
1 Đánh giá
Code rất tốt (1)
Code tốt (0)
Code rất hay (0)
Code hay (0)
Bình thường (0)
Thành viên
Nội dung đánh giá
07:47 - 11/7/2026
Code rất tốt
Code rất tốt và phù hợp để phát triển
HỖ TRỢ TRỰC TUYẾN