Bối cảnh và vấn đề nghiên cứu
Khóa luận tốt nghiệp kỹ sư ngành Công nghệ thông tin (chuyên ngành Công nghệ phần mềm) của sinh viên Lỷ Toàn Phát và Lê Thanh Hùng tại Trường Đại học Công nghệ Kỹ thuật TP. Hồ Chí Minh, dưới sự hướng dẫn của ThS. Nguyễn Thủy An, tập trung giải quyết bài toán hiện đại hóa kiến trúc hệ thống thương mại điện tử trong lĩnh vực bán sách trực tuyến.
Bối cảnh thực tiễn được nhóm tác giả xác định xuất phát từ sự phát triển mạnh mẽ của thương mại số, đưa sách trở thành mặt hàng thiết yếu phục vụ học tập, nghiên cứu và giải trí. Tuy nhiên, phần lớn các hệ thống bán sách trực tuyến hiện nay vẫn vận hành trên nền tảng kiến trúc nguyên khối (monolithic). Kiến trúc này bộc lộ nhiều điểm nghẽn kỹ thuật khi quy mô người dùng và dữ liệu gia tăng, gây khó khăn lớn trong việc bảo trì, mở rộng quy mô cục bộ cho từng phân hệ và tích hợp thêm các dịch vụ công nghệ mới. Để khắc phục triệt để các hạn chế trên, đề tài đề xuất việc xây dựng website bán sách ứng dụng kiến trúc Microservices nhằm chia tách hệ thống thành các dịch vụ độc lập, tối ưu hóa khả năng bảo trì và linh hoạt mở rộng.
Mục tiêu nghiên cứu của đề tài được tác giả xác định cụ thể gồm:
- Xây dựng một website bán sách trực tuyến hoàn chỉnh với giao diện thân thiện và dễ sử dụng cho người dùng.
- Áp dụng kiến trúc Microservices để tổ chức hệ thống phần mềm một cách linh hoạt, tạo điều kiện thuận lợi cho công tác bảo trì và mở rộng hệ thống.
- Triển khai đầy đủ các chức năng nghiệp vụ của một hệ thống thương mại điện tử, bao gồm: quản lý danh mục sách, giỏ hàng, thanh toán, quản lý tài khoản người dùng và phân hệ quản trị.
- Nghiên cứu, làm chủ và ứng dụng các công nghệ hiện đại bao gồm Node.js, Docker, MongoDB, ReactJS, Java Spring Boot để hiện thực hóa và triển khai hệ thống.
Nhiệm vụ nghiên cứu được phân định thành hai nhóm chính:
- Nhiệm vụ nghiên cứu lý thuyết: Nghiên cứu nguyên lý hoạt động của kiến trúc Microservices, cơ chế giao tiếp và quản trị dịch vụ phân tán; tìm hiểu chuyên sâu framework Java Spring Boot cho các dịch vụ cốt lõi và Node.js cho các tác vụ bất đồng bộ hoặc thời gian thực; nghiên cứu thư viện ReactJS kết hợp Tailwind CSS để xây dựng giao diện tương tác cao; tìm hiểu hệ quản trị cơ sở dữ liệu NoSQL MongoDB và giải pháp lưu trữ đám mây MongoDB Atlas; nghiên cứu kỹ thuật RAG (Retrieval-Augmented Generation) và mô hình mạng nơ-ron đồ thị Light GCN (Light Graph Convolutional Network) ứng dụng trong hệ thống gợi ý.
- Nhiệm vụ triển khai thực nghiệm: Thiết kế và lập trình backend theo mô hình Microservices bằng Spring Boot; xây dựng các module xác thực (Authentication) và tương tác thời gian thực (Real-time Socket) bằng Node.js; xây dựng giao diện Client (ReactJS, Tailwind CSS); thiết kế lược đồ và lưu trữ dữ liệu trên MongoDB; thực hiện kiểm thử tích hợp giao tiếp liên dịch vụ và triển khai trên môi trường thực tế (Local/Cloud).
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Mô hình kiến trúc Microservices và quy trình phát triển website thương mại điện tử chuyên ngành bán sách tích hợp các mô hình trí tuệ nhân tạo hỗ trợ (RAG, Light GCN).
- Phạm vi không gian: Đề tài được thực hiện tại Khoa Công nghệ Thông tin, Trường Đại học Công nghệ Kỹ thuật TP. Hồ Chí Minh; dữ liệu khảo sát hiện trạng được tiến hành trực tiếp trên hai nền tảng thương mại điện tử bán sách tại Việt Nam là Fahasa.com và AZVietnam.vn.
- Phạm vi thời gian: Luận văn được thực hiện theo tiến độ phê duyệt từ ngày 11/08/2025 đến ngày 04/01/2026 (với lịch trình nghiên cứu và cài đặt kỹ thuật mở rộng từ ngày 13/01/2025 đến ngày 04/01/2026).
Cơ sở lý thuyết và phương pháp
Khóa luận thiết lập nền tảng lý luận và công nghệ thông qua các khái niệm, công cụ và mô hình kỹ thuật cụ thể:
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình Microservices phân tán, phân định ranh giới nghiệp vụ rõ ràng giữa các thành phần backend, frontend và cơ sở dữ liệu:
| Thành phần hệ thống |
Công nghệ / Nền tảng áp dụng |
Phạm vi nghiệp vụ phụ trách |
| Core Services Backend |
Java Spring Boot, RESTful API |
Quản lý danh mục sách (service books), tài khoản (service accounts), đơn hàng và thanh toán (service orders) |
| Specialized Module |
Node.js, WebSocket |
Xử lý xác thực người dùng (Authentication), phân hệ nhắn tin thời gian thực giữa các vai trò |
| Data Layer |
MongoDB, MongoDB Atlas |
Lưu trữ tài liệu dạng BSON, phục vụ dữ liệu nghiệp vụ và cơ sở dữ liệu vector cho tìm kiếm |
| Client Frontend |
ReactJS, Tailwind CSS |
Giao diện tương tác người dùng, quản trị viên, đơn vị vận chuyển và nhân viên giao hàng |
| Quản lý API & Giao tiếp |
Swagger, RESTful API, WebSocket |
Tài liệu hóa và quản lý endpoint API tập trung; giao tiếp liên dịch vụ qua HTTP/REST |
| AI & Trí tuệ nhân tạo |
RAG Pipeline, Light GCN |
Chatbot trả lời câu hỏi thường gặp (FAQ) và hệ thống gợi ý sản phẩm cá nhân hóa |
Về thiết kế cơ sở dữ liệu, hệ thống triển khai trên nền tảng MongoDB với danh mục 23 collection độc lập nhằm đảm bảo tính toàn vẹn và hiệu suất truy xuất:
| STT |
Tên Collection trên MongoDB |
Mục đích lưu trữ dữ liệu |
| 1 |
Accounts |
Thông tin tài khoản đăng nhập, mật khẩu mã hóa, quyền hạn |
| 2 |
Addresses |
Danh sách địa chỉ nhận hàng của người dùng |
| 3 |
Auto Message |
Mẫu cấu hình tin nhắn phản hồi tự động trong hệ thống chat |
| 4 |
Book Analytics |
Dữ liệu theo dõi lượt xem, hành vi tương tác và mua sách |
| 5 |
Books |
Dữ liệu chi tiết về sách (tiêu đề, tác giả, giá, thể loại, tồn kho) |
| 6 |
Cancelled Orders |
Dữ liệu và lý do các đơn hàng phát sinh yêu cầu hủy |
| 7 |
Carts |
Thông tin giỏ hàng của từng khách hàng |
| 8 |
Combos |
Gói sản phẩm mua kèm hoặc combo sách khuyến mãi |
| 9 |
Conversation |
Dữ liệu định danh các phiên hội thoại trực tuyến |
| 10 |
Delivery Unit |
Thông tin các đối tác và đơn vị vận chuyển hàng hóa |
| 11 |
Discounts |
Các chương trình giảm giá được thiết lập cho sách |
| 12 |
Emails |
Dữ liệu lưu trữ email phục vụ gửi mã OTP và xác thực |
| 13 |
Imports |
Hóa đơn và lịch sử nhập kho sách (nhập mới, nhập cũ, Excel) |
| 14 |
Information |
Thông tin hồ sơ chi tiết của người dùng |
| 15 |
Message |
Nội dung tin nhắn chi tiết giữa các tài khoản |
| 16 |
monthly Points |
Dữ liệu điểm tích lũy theo tháng của người dùng |
| 17 |
Obtainable Vouchers |
Danh mục mã ưu đãi khả dụng người dùng có thể nhận |
| 18 |
Orders |
Thông tin đơn đặt hàng, trạng thái xử lý và thanh toán |
| 19 |
Ranks |
Cấu hình cấp bậc thành viên dựa trên chi tiêu |
| 20 |
Ranks Vouchers |
Quy định định mức voucher tự động phân bổ theo cấp bậc |
| 21 |
Reviews |
Đánh giá, nhận xét chất lượng sách từ khách hàng đã mua |
| 22 |
Ship Infors |
Dữ liệu điều phối giao vận, tuyến đường và thông tin shipper |
| 23 |
Vouchers |
Danh sách và thông số mã giảm giá do quản trị viên phát hành |
Kế hoạch kiểm thử và triển khai:
Quy trình phát triển được lập kế hoạch thành 20 mốc thực hiện từ tháng 1/2025 đến tháng 1/2026. Công tác kiểm thử hệ thống diễn ra qua hai đợt tập trung: đợt 1 (từ 07/04/2025 đến 27/04/2025) thực hiện kiểm thử và sửa lỗi toàn bộ các dịch vụ ban đầu; đợt 2 (từ 05/12/2025 đến 25/12/2025) tiến hành kiểm thử liên dịch vụ, sửa lỗi tổng thể, kiểm tra luồng tích hợp trên môi trường Local/Cloud và tối ưu giao diện trước khi nghiệm thu.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 trình bày tính cấp thiết của việc chuyển đổi mô hình kiến trúc phần mềm trong lĩnh vực bán sách trực tuyến, chỉ ra hạn chế của kiến trúc nguyên khối và ưu thế của kiến trúc Microservices. Tác giả xác lập rõ 4 mục tiêu nghiên cứu cụ thể, xác định 4 nội dung nghiên cứu kỹ thuật chính (nghiên cứu Microservices, thiết kế hệ thống, phân rã dịch vụ chức năng, ứng dụng công nghệ hỗ trợ triển khai như API Gateway, Service Discovery, Docker, NoSQL) và lựa chọn 3 phương pháp tiếp cận: phân tích – tổng hợp, thực nghiệm và so sánh – đánh giá.
Chương 2: Cơ sở lý thuyết
Nội dung chương 2 phân tích cơ sở lý thuyết của toàn bộ công nghệ được chọn dùng trong hệ thống:
- Trình bày định nghĩa, nguyên lý vận hành và vai trò của mô hình kiến trúc Microservices.
- Phân tích hệ quản trị cơ sở dữ liệu hướng tài liệu MongoDB và nền tảng dịch vụ đám mây MongoDB Atlas.
- Khảo sát framework Java Spring Boot cùng cơ chế cấu hình tự động và máy chủ web tích hợp sẵn.
- Trình bày thư viện ReactJS thông qua các khái niệm: React Hooks, cú pháp JSX, cơ chế hoạt động của Virtual DOM và mô hình kiến trúc Component.
- Phân tích môi trường thực thi Node.js với mô hình đơn luồng hướng sự kiện và cơ chế xử lý I/O không đồng bộ.
- Giới thiệu framework Tailwind CSS dựa trên phương pháp utility-first và cơ chế tối ưu dung lượng tệp giao diện.
- Khảo sát kỹ thuật RAG bao gồm cấu trúc bộ truy xuất (Retriever) và bộ sinh (Generator) kết hợp cơ sở dữ liệu MongoDB vector hóa.
- Phân tích mô hình mạng nơ-ron đồ thị Light GCN, chỉ ra những cải tiến so với GCN truyền thống trong bài toán gợi ý sản phẩm.
Chương 3: Khảo sát và xác nhận yêu cầu
Tác giả tiến hành khảo sát thực nghiệm trên hai website thương mại điện tử sách là Fahasa.com và AZVietnam.vn, phân tích các ưu điểm về danh mục, bộ lọc, thanh toán và nhược điểm liên quan đến trải nghiệm di động cũng như tốc độ tải trang. Từ kết quả khảo sát, chương 3 thiết lập:
- Yêu cầu chức năng: Phân loại theo 4 nhóm tác nhân gồm User (khách hàng), Admin (quản trị viên), Delivery Unit (đơn vị vận chuyển) và Shipper (nhân viên giao hàng). Các chức năng nổi bật gồm đăng ký xác thực qua email, quản lý giỏ hàng/thanh toán, đổi/quên mật khẩu qua OTP, chatbot tư vấn RAG, hệ thống tính điểm lên hạng (Ranking) nhận voucher đầu tháng, quản lý nhập kho hỗ trợ tệp Excel, gom đơn và gán đơn giao vận, nhắn tin liên vai trò qua WebSocket.
- Yêu cầu phi chức năng: Đặt ra các tiêu chí về tốc độ tìm kiếm sản phẩm (tối đa không quá 5 giây), giao diện tiện dụng, bảo mật mật khẩu, ngăn chặn truy cập trái phép và khả năng mở rộng dịch vụ linh hoạt.
- Mô hình hóa yêu cầu: Cung cấp lược đồ Use Case tổng thể cho 4 nhóm tác nhân và bảng đặc tả Use Case chi tiết cho từng nghiệp vụ (Đăng ký, Đăng nhập, Đăng xuất, Quản lý đơn hàng, Nhập kho...).
Chương 4: Thiết kế hệ thống
Chương 4 cụ thể hóa kiến trúc giải pháp thông qua ba nội dung:
- Lược đồ tuần tự (Sequence Diagram): Xây dựng chi tiết hơn 50 biểu đồ tuần tự cho các luồng tương tác của User, Admin, Đơn vị vận chuyển và Shipper (từ xác thực, xử lý đơn hàng, áp dụng voucher, hủy đơn hàng, nhập sách bằng Excel, quản lý giảm giá đến hệ thống chatbot và tính điểm).
- Thiết kế cơ sở dữ liệu: Xây dựng lược đồ cấu trúc cho 23 bảng/collection trên hệ quản trị MongoDB.
- Thiết kế giao diện: Thiết kế bản vẽ chi tiết cho toàn bộ các màn hình chức năng, bao gồm các trang người dùng (Trang chủ gợi ý, Danh mục, Chi tiết sản phẩm, Giỏ hàng, Đơn hàng của tôi) và các phân hệ quản trị (Quản lý sách, Quản lý kho, Quản lý tài khoản, Quản lý giảm giá, Quản lý Voucher, Quản lý API qua Swagger, Thống kê, Trang điều phối vận chuyển).
Chương 5: Cài đặt và thử nghiệm
Chương 5 mô tả cấu trúc thư mục triển khai mã nguồn của dự án và kết quả thực thi các phân hệ màn hình thực tế:
- Cấu trúc thư mục mã nguồn được phân chia độc lập giữa các dịch vụ backend và frontend.
- Trình bày kết quả thực thi giao diện người dùng qua các phân hệ chính: trang thông tin sản phẩm và gợi ý sách; trang giỏ hàng và quy trình đặt hàng, thanh toán; giao diện quản lý vận chuyển dành cho đơn vị vận chuyển và nhân viên giao hàng.
Chương 6: Kết luận
Chương tổng kết đánh giá toàn bộ kết quả nghiên cứu và thực nghiệm:
- Tổng hợp các kết quả chức năng và mục tiêu kỹ thuật đã hoàn thành.
- Nhìn nhận khách quan các ưu điểm và nhược điểm còn tồn tại của hệ thống.
- Xác định lộ trình phát triển trong tương lai, chia thành hai nhóm công việc: khắc phục hạn chế, tối ưu hóa hệ thống hiện tại và mở rộng, phát triển các tính năng nghiệp vụ mới.
Kết quả và đóng góp
Hệ thống phần mềm sau khi hoàn thiện đạt được các kết quả cụ thể theo các yêu cầu chức năng và phi chức năng đã đề ra trong tài liệu:
| Phân hệ / Tác nhân |
Các chức năng chính đã hoàn thành |
Tiêu chí kỹ thuật đạt được |
| Khách hàng (User) |
Đăng ký (xác thực email), đăng nhập, đổi/quên mật khẩu qua OTP; tìm kiếm, lọc sách; giỏ hàng, đặt hàng; xem/hủy đơn hàng; đánh giá sách; quản lý sổ địa chỉ; chatbot tư vấn RAG; hệ thống tích điểm và nhận voucher theo Rank hàng tháng |
Tốc độ tìm kiếm sản phẩm trả kết quả tối đa 5 giây; giao diện responsive hỗ trợ tốt tương tác |
| Quản trị viên (Admin) |
Toàn quyền kiểm soát hệ thống: CRUD sách, nhập kho (nhập mới, cũ, nhập qua file Excel); quản lý tài khoản, thông tin khách hàng, đơn hàng; thiết lập giảm giá, voucher, combo khuyến mãi, banner; theo dõi thống kê theo mốc thời gian; quản lý tài liệu API qua Swagger |
Đảm bảo tính toàn vẹn dữ liệu trên MongoDB; tự động hóa việc nhập liệu số lượng lớn qua Excel |
| Đơn vị vận chuyển (Delivery Unit) |
Tiếp nhận danh sách đơn hàng cần giao; xem chi tiết người nhận; thực hiện chức năng gom các đơn hàng có địa chỉ gần nhau thành cụm; gán cụm đơn cho Shipper phụ trách |
Tối ưu hóa quy trình điều phối logistics nội bộ |
| Nhân viên giao hàng (Shipper) |
Xem danh sách đơn hàng được bàn giao; xem bản đồ lộ trình (map) di chuyển đến kho lấy hàng và đến địa chỉ khách hàng; xác nhận trạng thái giao hàng thành công |
Hỗ trợ theo dõi vị trí và đường đi trực quan |
| Toàn hệ thống |
Phân hệ nhắn tin liên lạc trực tiếp (User - Admin - Shipper - Delivery Unit); cơ chế gửi tin nhắn tự động (Auto Message) |
Vận hành thời gian thực trên nền tảng WebSocket của Node.js |
Giải pháp và đóng góp của đề tài:
- Về mặt giải pháp kiến trúc: Đề tài đã hiện thực hóa thành công việc chuyển đổi mô hình bán sách trực tuyến từ kiến trúc monolithic sang kiến trúc phân tán Microservices, sử dụng kết hợp Java Spring Boot cho các nghiệp vụ lõi và Node.js cho các tác vụ thời gian thực, giúp hệ thống không bị phụ thuộc đơn điểm.
- Về mặt ứng dụng công nghệ: Tích hợp thành công mô hình ngôn ngữ lớn có kiểm soát thông qua kỹ thuật RAG (sử dụng MongoDB làm cơ sở dữ liệu tri thức vector) để xử lý tác vụ tư vấn khách hàng tự động, loại bỏ hiện tượng sai lệch thông tin sản phẩm.
- Về mặt gợi ý sản phẩm: Áp dụng mô hình mạng nơ-ron đồ thị Light GCN nhằm tối ưu hóa thuật toán gợi ý dựa trên ma trận tương tác người dùng - sản phẩm, giúp đẩy nhanh tốc độ huấn luyện mô hình so với các mạng GCN truyền thống.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài (được ghi nhận trong các nhược điểm và phạm vi triển khai của báo cáo):
- Do hệ thống được xây dựng trên kiến trúc phân tán gồm nhiều dịch vụ (Spring Boot, Node.js, MongoDB Atlas, WebSocket), chi phí quản lý vận hành, đồng bộ dữ liệu giữa các dịch vụ và việc cấu hình giám sát mạng cục bộ/đám mây vẫn còn độ phức tạp nhất định.
- Giao diện người dùng trên một số màn hình và thiết bị di động cần tiếp tục được tinh chỉnh để đạt độ tối ưu cao hơn, kế thừa từ các hạn chế đã chỉ ra trong quá trình khảo sát thực tế các trang thương mại điện tử hiện hành.
- Khả năng xử lý khi có lưu lượng truy cập đột biến cần thêm các kịch bản kiểm thử tải nặng (stress test) trên môi trường Cloud quy mô lớn.
Hướng phát triển tiếp theo:
- Khắc phục hạn chế và tối ưu hóa hệ thống: Tập trung tối ưu hóa hiệu năng truy vấn của các microservices, nâng cao khả năng chịu lỗi và tính sẵn sàng của cơ sở dữ liệu MongoDB; cải thiện hơn nữa giao diện người dùng trên nền tảng di động nhằm gia tăng tốc độ tải trang.
- Mở rộng và phát triển tính năng mới: Hoàn thiện sâu hơn các thuật toán huấn luyện Light GCN để tăng độ chính xác của hệ thống gợi ý theo thời gian thực; mở rộng các cổng thanh toán trực tuyến đa dạng; nâng cấp tính năng theo dõi vị trí shipper trực tiếp trên bản đồ thời gian thực cho khách hàng.
Giá trị tham khảo
Báo cáo khóa luận tốt nghiệp là tài liệu tham khảo chuyên môn phù hợp cho:
- Sinh viên chuyên ngành Công nghệ phần mềm, Hệ thống thông tin và Khoa học máy tính đang chuẩn bị làm đồ án tốt nghiệp hoặc các dự án môn học liên quan đến kiến trúc Microservices và thương mại điện tử.
- Các nhóm phát triển phần mềm muốn tham khảo mô hình phân tách dịch vụ kết hợp đa ngôn ngữ (Java Spring Boot đảm nhiệm backend giao dịch, Node.js đảm nhiệm xác thực và giao tiếp WebSocket thời gian thực).
- Các nhà nghiên cứu và lập trình viên quan tâm đến giải pháp tích hợp AI thực tiễn vào ứng dụng web, cụ thể là việc ứng dụng RAG giảm ảo giác trong chatbot hỗ trợ khách hàng và mạng nơ-ron đồ thị Light GCN trong bài toán gợi ý sản phẩm.
Các phần nội dung có giá trị tham khảo chuyên sâu trong văn bản gồm:
- Toàn bộ hệ thống hơn 50 biểu đồ tuần tự (Sequence Diagram) tại Chương 4, mô tả chi tiết từng bước trao đổi thông điệp cho các ca sử dụng phức tạp như hủy đơn hàng, nhập kho qua Excel, phân phát voucher theo cấp bậc và điều phối giao vận.
- Thiết kế lược đồ chi tiết của 23 collection trên cơ sở dữ liệu NoSQL MongoDB, phản ánh đầy đủ cấu trúc dữ liệu cho một hệ thống bán lẻ trực tuyến hoàn chỉnh.
- Quy trình tích hợp công nghệ RAG và mạng đồ thị Light GCN vào kiến trúc microservices.
Câu hỏi thường gặp
1. Khóa luận sử dụng những công nghệ nền tảng nào để xây dựng các phân hệ backend, frontend và cơ sở dữ liệu?
Khóa luận sử dụng Java Spring Boot để phát triển các dịch vụ backend cốt lõi (dịch vụ tài khoản, danh mục sách, đơn hàng), Node.js xử lý module xác thực (Authentication) và kết nối thời gian thực (WebSocket). Phân hệ frontend được xây dựng bằng ReactJS (kết hợp Hooks, JSX, Virtual DOM, Component) và framework Tailwind CSS. Toàn bộ dữ liệu được lưu trữ trên cơ sở dữ liệu NoSQL MongoDB và dịch vụ đám mây MongoDB Atlas.
2. Hai công nghệ trí tuệ nhân tạo (AI) nào được nghiên cứu tích hợp vào website và vai trò cụ thể là gì?
Đề tài tích hợp hai kỹ thuật AI:
- RAG (Retrieval-Augmented Generation): Kết hợp bộ truy xuất thông tin từ cơ sở dữ liệu MongoDB đã vector hóa với mô hình ngôn ngữ lớn, phục vụ chatbot trả lời các câu hỏi thường gặp (FAQ), thông số sách và tình trạng tồn kho, giúp loại bỏ hiện tượng sinh thông tin ảo (hallucination).
- Light GCN (Light Graph Convolutional Network): Mô hình mạng nơ-ron đồ thị tối ưu hóa (loại bỏ phép biến đổi đặc trưng phi tuyến, chỉ giữ lan truyền lân cận) phục vụ hệ thống gợi ý sách dựa trên mối quan hệ tương tác giữa người dùng và sản phẩm.
3. Hệ thống phân quyền cho những nhóm tác nhân (actors) nào và vai trò của khâu vận chuyển được thiết kế ra sao?
Hệ thống thiết kế 4 nhóm tác nhân: User (Khách hàng), Admin (Quản trị viên), Delivery Unit (Đơn vị vận chuyển) và Shipper (Nhân viên giao hàng). Trong đó, khâu vận chuyển được chuyên biệt hóa: Đơn vị vận chuyển có quyền xem đơn hàng, gom các đơn gần nhau thành cụm và gán cho nhân viên giao hàng; Shipper tiếp nhận đơn, xem bản đồ lộ trình di chuyển đến kho lấy hàng và đến địa chỉ giao, sau đó cập nhật xác nhận đã giao thành công.
4. Yêu cầu phi chức năng về tốc độ tìm kiếm sản phẩm được tác giả quy định cụ thể là bao nhiêu?
Trong bảng đặc tả yêu cầu phi chức năng (Chương 3), tiêu chuẩn hiệu quả đối với chức năng tìm kiếm sản phẩm được quy định rõ ràng: thời gian tối đa để hệ thống trả về kết quả tìm kiếm cho người dùng là không quá 5 giây.
5. Cơ sở dữ liệu của đồ án được tổ chức thành bao nhiêu collection và quản lý những nhóm thông tin nào?
Cơ sở dữ liệu MongoDB của hệ thống được thiết kế với 23 collection, phụ trách các nhóm thông tin: tài khoản và hồ sơ (Accounts, Addresses, Information); quản lý danh mục và kho hàng (Books, Imports, Combos); giao dịch và chăm sóc khách hàng (Carts, Orders, Cancelled Orders, Reviews); chương trình ưu đãi (Discounts, Vouchers, Obtainable Vouchers, monthly Points, Ranks, Ranks Vouchers, Obtainable Discount); dữ liệu giao vận (Delivery Unit, Ship Infors); phân hệ tương tác và phân tích (Auto Message, Book Analytics, Conversation, Emails, Message).
Kết luận
Khóa luận tốt nghiệp của sinh viên Lỷ Toàn Phát và Lê Thanh Hùng đã giải quyết thành công bài toán xây dựng website bán sách trực tuyến dựa trên kiến trúc phân tán Microservices. Đề tài kết hợp hiệu quả hệ sinh thái công nghệ gồm Java Spring Boot, Node.js, ReactJS, Tailwind CSS và hệ quản trị NoSQL MongoDB nhằm đảm bảo tính linh hoạt, khả năng bảo trì và mở rộng hệ thống. Đồng thời, việc tích hợp thành công các kỹ thuật tiên tiến như RAG cho chatbot tư vấn và Light GCN cho hệ thống gợi ý đã mang lại giá trị ứng dụng thực tiễn cao cho đồ án kỹ sư công nghệ phần mềm.