Giới thiệu Ứng dụng quản lý thư viện số là một ứng dụng được phát triển nhằm tạo ra một nền tảng tiện lợi và hiệu quả cho việc quản lý tài liệu trong một thư viện.. Ứng dụng này cung cấp
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
BÁO CÁO BÀI TẬP LỚN Chủ đề: HỆ THỐNG QUẢN LÝ THƯ VIỆN
THƯ VIỆN SỐ Sinh viên thực hiện: Trịnh Hồng Quân
Vũ Huy Anh Nguyễn Quang Anh Nguyễn Tiến Cường Chu Minh Nam Lớp học phần: 2223II_INT3202_7 Giảng viên hướng dẫn: TS.Lê Hoàng Quỳnh
Tháng 5/2023
Trang 22 Chuyên viên phòng Bổ sung - Trao đổi 2
3 Sinh viên, cán bộ, giảng viên 3
III Thiết kế cơ sở dữ liệu 4
1 Lược đồ cơ sở dữ liệu 4
2 Tối ưu truy vấn 5
3 Sao lưu phục hồi 6
4 Bảo mật dữ liệu 7
5 Xác thực người dùng 7
IV Demo sản phẩm 7
1 Các chức năng của người thuê sách: 8
2 Các chức năng của thủ thư: 13
3 Các chức năng của chuyên viên phòng bổ sung-trao đổi: 16
V Kết luận 19
VI Phụ lục: phân công công việc 20
Trang 3Hệ quản trị CSDL Thư viện số Nhóm 13
I Giới thiệu ứng dụng
1 Giới thiệu
Ứng dụng quản lý thư viện số là một ứng dụng được phát triển nhằm tạo ra một nền tảng tiện lợi và hiệu quả cho việc quản lý tài liệu trong một thư viện Ứng dụng này cung cấp các chức năng quản lý sách, mượn và đọc sách online, đăng ký mượn sách, … giúp người dùng dễ dàng tìm kiếm, quản lý và tiếp cận tài liệu theo nhu cầu cá nhân
Mục tiêu của ứng dụng quản lý thư viện số là cung cấp một giao diện thân thiện và trực quan để quản lý sách trong một thư viện Đồng thời, ứng dụng cũng hướng đến việc tối ưu hóa quy trình mượn và đọc online, mang lại trải nghiệm thuận tiện và linh hoạt cho người dùng
2 Công nghệ sử dụng
Nhóm sử dụng framework expressJS cho phần xử lý backend, vì expressJS cho phép phát triển ứng dụng nhanh và hiệu quả, cùng với khả năng mở rộng tốt, dễ bảo trì ứng dụng
Về phần cơ sở dữ liệu, nhóm chọn MySQL vì đây là hệ quản trị mãnguồn mở, có khả năng mở rộng cao, hiệu suất và hiệu năng cũng rất ổn định
Về phía frontend, nhóm sử dụng ReactJS cho trang web, vì với ReactJS có thể phát triển giao diện trang web một cách nhanh chóng, tiện lợi mà không phải cài đặt quá nhiều
II Đặc tả
1 Thủ thư
Tra cứu thông tin kho sách: Xem các số lượng sách, loại sách hiện
đang có trong trong thư viện
Trang 4Thêm thông tin mượn tài liệu: Thêm thông tin người mượn tài liệu,
thông tin tài liệu đã được mượn và thời hạn trả
Sửa thông tin mượn tài liệu: Chỉnh sửa lại thông tin tài liệu đang
mượn và người mượn tài liệu khi có thay đổi hoặc nhầm lẫn
Xóa thông tin mượn, trả tài liệu: Xóa thông tin tài liệu đã được
hoàn trả
Truy xuất thống kê thông tin từ hệ thống:
● Số lượng tài liệu số có trên hệ thống● Số lượng tài liệu cứng đang có tại thư viện● Số lượng người mượn tài liệu số, tài liệu cứng theo từng mốc thời
gian● Số lượng tài liệu mới được thêm vào thư viện theo từng mốc thời
gian
2 Chuyên viên phòng Bổ sung - Trao đổi
Thêm thông tin của kho tài liệu truyền thống: Chuyên viên thêm
thông tin về sách có trong thư viện truyền thống như tên sách, tác giả, danh mục, số lượng còn lại, vị trí đặt…
Đọc thông tin của kho tài liệu truyền thống: Chuyên viên xem
được các thông tin về kho sách truyền thống: ● Những đầu sách còn lại, số lượng, tác giả, danh mục, vị trí lưu trữ● Những đầu sách đã hết / đã được mượn hết
Sửa thông tin của kho tài liệu truyền thống: Chuyên viên sửa thông
tin của sách trên ứng dụng - tên sách, số lượng còn lại, tình trạng sách (mới, cũ), tác giả, năm xuất bản…
Xóa thông tin của kho tài liệu truyền thống: Chuyên viên xóa thông
tin của sách trên ứng dụng nếu cần thiết (chưa biết tác giả, năm xuất bản… ) hoặc xóa hoàn toàn sách
Thêm thông tin của kho tài liệu số: Chuyên viên thêm tài liệu cùng
thông tin về tài liệu vào kho tài liệu số hoặc thêm thông tin như tác giả,
Trang 5năm xuất bản, hiện có bản cứng ở thư viện truyền thống hay không vào tài liệu số đã có sẵn.
Đọc thông tin của kho tài liệu số: Chuyên viên xem được các thông
tin về kho thư viện số: Danh mục tài liệu, số lượng tài liệu số trong mỗi danh mục, tác giả, năm xuất bản…
Sửa thông tin của kho tài liệu số: Chuyên viên sửa được các thông
tin của tài liệu số: Danh mục, tác giả, năm xuất bản…
Xóa thông tin của kho tài liệu số: Chuyên viên xóa thông tin của tài liệu
số nếu chưa biết, hoặc xóa hoàn toàn tài liệu khỏi thư viện
3 Sinh viên, cán bộ, giảng viên
Tra cứu tài liệu: Người dùng tra cứu tài trên thanh công cụ tìm
kiếm bằng từ khóa hoặc lọc qua thông tin phân loại được hiển thị dưới dạng danh sách hoặc bảng
Mượn tài liệu số: Người dùng sử dụng tài khoản hợp lệ có thể xác
nhận mượn trên giao diện thông tin tài liệu
Đăng kH mượn tài liệu truyền thống: Người dùng đăng kí mượn và
đă it lịch hjn đến lấy
Trả tài liệu số: Người dùng sử dụng tài khoản hợp lệ có thể xác
nhận trả trên giao diện thông tin tài liệu
Trang 6III Thiết kế cơ sở dữ liệu
1 Lược đồ cơ sở dữ liệu
Giải thích chi tiết:
email, password, role_id(fk), phone
2 là chuyên viên phòng bổ sung trao đổi, 3 là thủ thư role_id(pk)
Trang 7Bảng Book: chứa thông tin quyển sách, dùng để thuê online, gồm: book_id(pk), book_name, thumbnail, document_url, creat_at, publisher_id(fk), category_id(fk).
category_name, description
nationality, birthday
address, phone, email
repository_name, address
khác bảng Book ở chỗ bảng Book để dành cho thuê online, bảng BookCopy dùng để thuê offline được lưu trữ ở Repository tương ứng, gồm: book_copy_id(pk), book_id(fk), repository_id(fk), created_at, idle(boolean)
rental_id(pk), book_id(fk), user_id(fk), borrowing_date
book_copy_id(fk), user_id(fk), borrowing_date, return_date, due_date
2 Tối ưu truy vấn
- Sử dụng procedure để lấy số liệu thống kê theo khoảng thời gian mong muốn
Trang 8- Sử dụng trigger cập nhật lại trạng thái sẵn sàng của sách trong bảng “books” khi người dùng mượn hoặc trả sách
3 Sao lưu phục hồi
Sử dụng công cụ mysqldump của MySQL, chạy tiến trình thực hiện xuất dữ liệu sau mỗi khoảng thời gian nhất định, sau đó nếu databasecủa hệ thống gặp sự có thể import lại dữ liệu
Trang 94 Bảo mật dữ liệu
Sử dụng hàm “hashSync” của “bcrypt” trong Nodejs để mã hóa mật khẩu với số lần lặp ngẫu nhiên Sau đó lưu mật khẩu được mã hóa vào CSDL Khi người dùng đăng nhập nhập sử dụng hàm
“compareSync” để so sánh mật khẩu mã hóa với mật khẩu người dùng nhập vào
5 Xác thực người dùng
Sử dụng Thư viện JWT để xác thực người dùng Người dùng sau khi ấn đăng nhập Server sẽ gửi về phía Client một token Phía Client sẽ lưu token này vào trong localStorage Mỗi khi có một request được gửi từphía client thì đều phải kèm theo token này trong header Khi bên Server nhận được request sẽ giải mã token xem đã đúng với người dùng đăng nhập hay chưa, nếu đúng thì sẽ cho người dùng làm công việc tiếp theo, nếu không thì server sẽ báo lỗi
IV Demo sản phẩm
Chức năng đăng nhập:
Trang 101 Các chức năng của người thuê sách:
Hiện danh sách toàn bộ sách
Tìm kiếm sách bằng từ khóa Sử dụng index
Trang 11Tìm kiếm sách bằng thể loại(trên ảnh là thể loại Triết học - Lý luận) Index:
Chức năng thuê sách online
Trang 12Sách đã thuê online rồi không thể thuê tiếp.
Chức năng thuê sách offline
Trang 13Sau khi thuê 1 quyển Offline, số lượng sách tự động được cập nhật.
Danh sách sách đã thuê Online
Trang 14Đọc trực tiếp trên trình duyệt.
Danh sách sách đã thuê Offline
Trang 152 Các chức năng của thủ thư:
-Thống kê số liệu liên quan đến người mượn và số lượng sách còn trong kho
Trang 16- Tạo phiếu cho mượn off
Trang 17- Cập nhật ngày trả sách off
Trang 183 Các chức năng của chuyên viên phòng bổ sung-trao đổi:
Thống kê sách có tại mỗi thư viện, thống kê đầu sách mỗi thể loại
Trang 19Xem danh sách toàn bộ tác giả và bổ sung, cập nhật.
Trang 20Xem danh sách toàn bộ các quyển sách(bản cứng) có tại các thư viện và bổ sung, cập nhật.
Trang 21Xem danh sách toàn bộ các đầu sách hiện có của thư viện (có thể chọn xem bản pdf) và bổ sung, cập nhật.
V Kết luận
Trong quá trình phát triển ứng dụng quản lý thư viện số, nhóm đã thành công xây dựng một nền tảng mạnh mẽ và tiện lợi cho việc quản lý tài liệu trong một thư viện Ứng dụng này cung cấp các chức năng quản lý sách, mượn và đọcsách online,đăng ký mượn bản cứng, đáp ứng nhu cầu đa dạng của người dùng
Nhóm đã tạo ra một giao diện người dùng thân thiện và trực quan, cho phép người dùng dễ dàng tìm kiếm, quản lý và truy cập vào tài liệu một cách thuận tiện Chức năng quản lý sách cho phép người dùng thêm, xóa và chỉnh sửa thông tin sách một cách linh hoạt Chức năng mượn sách giúp người dùng yêu cầu mượn sách từ thư viện và theo dõi lịch sử mượn sách Ngoài ra, chức năng đọc sách online mang lại trải nghiệm đọc thuận tiện và linh hoạt cho ngườidùng
Ứng dụng đã chú trọng đến việc đảm bảo tính bảo mật và quyền riêng tư cho người dùng thông qua các biện pháp bảo vệ thông tin cá nhân
Trang 22Tổng kết lại, ứng dụng quản lý thư viện số đã đạt được những thành tựu đáng kể và mang lại lợi ích cho người dùng trong việc quản lý và tiếp cận tài liệu.
VI Phụ lục: phân công công việc
Trịnh Hồng Quân – 20020211
Chức năng của người dùng, đăng nhập, thuyết trình
20%
Vũ Huy Anh – 20020363
Chức năng Chuyên viên phòng bổ sung-trao đổi Khởi tạo dự án
20%
Chu Minh Nam – 20020445
Chức năng Chuyên viên phòng bổ sung-trao đổi
20%