I. Giới thiệu về Đồ án Ứng dụng Quản lý Thư viện
Đồ án ứng dụng quản lý thư viện là một dự án học tập toàn diện được thực hiện bởi sinh viên Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP.HCM. Đây là một hệ thống quản lý thư viện hiện đại sử dụng công nghệ web phía trước (Frontend) với ReactJS và phía sau (Backend) với NodeJS. Mục tiêu chính của đồ án là xây dựng một nền tảng quản lý toàn diện giúp các nhân viên thư viện có thể dễ dàng quản lý sách, bạn đọc, phiếu mượn và xử lý vi phạm. Ứng dụng này được thiết kế để tối ưu hóa quy trình làm việc, nâng cao hiệu suất và cải thiện trải nghiệm người dùng. Với kiến trúc client-server hiện đại, hệ thống đảm bảo tính bảo mật cao thông qua JWT Authentication và cơ sở dữ liệu MySQL mạnh mẽ.
1.1. Mục tiêu và Phạm vi Dự án
Mục tiêu chính của đồ án là xây dựng ứng dụng quản lý thư viện toàn chức năng với giao diện thân thiện. Phạm vi dự án bao gồm quản lý danh sách sách, quản lý thẻ bạn đọc, phiếu mượn sách và xử lý các vi phạm. Hệ thống hỗ trợ các chức năng tìm kiếm nâng cao, lọc dữ liệu và báo cáo chi tiết. Ứng dụng cung cấp dashboard trực quan giúp quản lý viên theo dõi tình hình thư viện một cách hiệu quả và kịp thời.
1.2. Đối tượng Người dùng
Ứng dụng được thiết kế cho nhiều loại người dùng khác nhau bao gồm quản lý viên thư viện, nhân viên thư viện và bạn đọc. Quản lý viên có quyền quản lý toàn bộ hệ thống, tạo tài khoản nhân viên và xem báo cáo. Nhân viên có thể xử lý các giao dịch mượn sách, quản lý thẻ bạn đọc và ghi nhận vi phạm. Các bạn đọc có thể xem danh sách sách và các thông tin liên quan thông qua giao diện thân thiện và dễ sử dụng.
II. Stack Công nghệ Sử dụng
Đồ án ứng dụng quản lý thư viện được xây dựng trên nền tảng công nghệ hiện đại và phổ biến trong ngành phát triển web. Phía frontend sử dụng ReactJS - một thư viện JavaScript mạnh mẽ để xây dựng giao diện người dùng động và tương tác cao. Kết hợp với Tailwind CSS, hệ thống cung cấp thiết kế giao diện đẹp mắt và responsive. Phía backend được phát triển bằng NodeJS với Express.js, cung cấp API RESTful hiệu suất cao. Dữ liệu được lưu trữ trong MySQL - cơ sở dữ liệu quan hệ đáng tin cậy và phổ biến. Quản lý trạng thái ứng dụng sử dụng Redux Toolkit, đảm bảo luồng dữ liệu rõ ràng và dễ bảo trì.
2.1. Frontend ReactJS và Tailwind CSS
ReactJS là thư viện JavaScript hàng đầu cho phát triển giao diện người dùng, cho phép xây dựng các thành phần tái sử dụng và tối ưu hóa hiệu suất rendering. Tailwind CSS cung cấp hệ thống utility classes giúp tạo dựng giao diện responsive và hiện đại mà không cần viết CSS tùy chỉnh phức tạp. Kết hợp này tạo ra ứng dụng quản lý thư viện với giao diện người dùng chuyên nghiệp, nhanh chóng và dễ bảo trì.
2.2. Backend NodeJS Express.js và MySQL
NodeJS cung cấp môi trường runtime hiệu suất cao cho JavaScript phía server, hỗ trợ xử lý đồng thời và không đồng bộ. Express.js - framework web phổ biến nhất cho NodeJS, giúp xây dựng RESTful API một cách đơn giản. MySQL được sử dụng như cơ sở dữ liệu chính, đảm bảo tính toàn vẹn dữ liệu và bảo mật thông qua các ràng buộc khóa ngoại và mã hóa mật khẩu.
2.3. Bảo mật JWT Authentication
JWT (JSON Web Token) được sử dụng để xác thực người dùng, cung cấp cơ chế bảo mật stateless hiệu quả. Mỗi request từ client gửi kèm token được ký mã hóa, server xác minh token trước khi cấp quyền truy cập. Phương pháp này tăng cường bảo mật cho ứng dụng quản lý thư viện, ngăn chặn truy cập trái phép và bảo vệ dữ liệu người dùng.
III. Thiết kế Hệ thống và Cơ sở Dữ liệu
Hệ thống ứng dụng quản lý thư viện được thiết kế theo kiến trúc client-server hiện đại, đảm bảo sự tách biệt rõ ràng giữa logic phía trước và phía sau. Thiết kế cơ sở dữ liệu tuân theo chuẩn hóa dữ liệu (normalization) để tối ưu hóa hiệu suất và giảm thiểu dư thừa. Hệ thống bao gồm các bảng dữ liệu chính như Users, Readers, Books, BorrowRecords, Violations và Publications. Mỗi bảng được thiết kế với khóa chính (Primary Key) và khóa ngoài (Foreign Key) để đảm bảo tính toàn vẹn dữ liệu. Sơ đồ Use Case được sử dụng để mô tả tất cả các yêu cầu chức năng của hệ thống, giúp đội phát triển hiểu rõ các tương tác của người dùng.
3.1. Thiết kế Cơ sở Dữ liệu
Cơ sở dữ liệu ứng dụng quản lý thư viện được tổ chức thành nhiều bảng có mối quan hệ logic rõ ràng. Bảng Users lưu trữ thông tin nhân viên, bảng Readers lưu trữ thẻ bạn đọc, bảng Books chứa danh sách sách trong thư viện. Bảng BorrowRecords ghi lại các phiếu mượn và trả sách, bảng Violations theo dõi các vi phạm của bạn đọc. Thiết kế này đảm bảo dữ liệu được lưu trữ hiệu quả và dễ dàng truy vấn.
3.2. Phân tích Yêu cầu Chức năng
Yêu cầu chức năng của ứng dụng bao gồm quản lý người dùng, quản lý sách, quản lý phiếu mượn và xử lý vi phạm. Hệ thống hỗ trợ các hoạt động CRUD cơ bản (Create, Read, Update, Delete) cho tất cả các entity chính. Ngoài ra, cần có các chức năng tìm kiếm nâng cao, lọc dữ liệu, xuất báo cáo và quản lý thông báo để nâng cao hiệu suất quản lý thư viện.
IV. Các Màn hình Chính và Kết quả Đạt được
Ứng dụng quản lý thư viện cung cấp hơn 30 màn hình chức năng, bao gồm màn hình đăng nhập, đăng ký, quên mật khẩu và dashboard chính. Các màn hình quản lý người dùng cho phép thêm, sửa, xóa và xem chi tiết nhân viên. Màn hình quản lý sách hỗ trợ quản lý đầu sách, tựa sách, ấn phẩm và các bản sách cụ thể. Màn hình phiếu mươn sách giúp ghi nhận các hoạt động mượn và trả sách. Màn hình xử lý vi phạm cho phép theo dõi và xử lý các vi phạm của bạn đọc. Giao diện được thiết kế nhất quán, thân thiện và dễ sử dụng trên các thiết bị khác nhau. Đồ án đạt được mục tiêu là tạo một hệ thống quản lý thư viện hiệu quả, hiện đại và dễ bảo trì.
4.1. Danh sách Các Màn hình Chính
Ứng dụng bao gồm các màn hình quản lý quan trọng như quản lý người dùng, quản lý thẻ bạn đọc, quản lý sách, quản lý phiếu mượn và quản lý vi phạm. Mỗi màn hình được thiết kế với giao diện trực quan hiển thị danh sách dữ liệu, các nút hành động (Thêm, Sửa, Xóa, Xem chi tiết), và các công cụ tìm kiếm lọc nâng cao. Màn hình cài đặt cho phép người dùng thay đổi thông tin cá nhân và quản lý các tùy chọn hệ thống.
4.2. Kết quả và Hướng Phát triển
Đồ án đã hoàn thành thành công với đầy đủ các chức năng yêu cầu, cung cấp một ứng dụng quản lý thư viện hoàn chỉnh cho các thư viện quy mô vừa và nhỏ. Hướng phát triển tương lai bao gồm tích hợp báo cáo thống kê nâng cao, SMS/Email notification, mobile application và machine learning để đề xuất sách cho bạn đọc dựa trên lịch sử mượn sách.