Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh cuộc Cách mạng công nghiệp 4.0 và sự phổ cập của Công nghệ Thông tin, thói quen tiêu dùng của người dân Việt Nam có sự chuyển dịch rõ rệt từ hình thức mua sắm trực tiếp tại các nhà sách truyền thống sang các nền tảng thương mại điện tử. Việc mua sắm trực tuyến mang lại nhiều tiện ích như tiết kiệm thời gian, dễ dàng tiếp cận danh mục sản phẩm phong phú, tra cứu thông tin tác giả, giá bán, tiếp nhận phản hồi từ cộng đồng độc giả và nhận hàng tận nơi. Đồng thời, mô hình kinh doanh trực tuyến hỗ trợ các đơn vị phát hành tối ưu hóa chi phí mặt bằng và nâng cao hiệu quả vận hành. Xuất phát từ bối cảnh thực tiễn đó, đề tài "Xây dựng Website bán sách sử dụng Công nghệ SERN Stack" được thực hiện bởi nhóm sinh viên Trương Hoàng Quang (MSSV: 21110616) và Lê Quang Sáng (MSSV: 21110626), dưới sự hướng dẫn của TS. Mai Anh Thơ tại Khoa Công nghệ Thông tin – Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.

Mục tiêu tổng quát của đề tài là xây dựng hoàn chỉnh một website thương mại điện tử chuyên biệt cho việc kinh doanh sách, cung cấp giao diện trực quan, thân thiện và tích hợp đầy đủ các tính năng phục vụ người mua và nhà quản lý. Các nhiệm vụ nghiên cứu cụ thể được phân định thành hai nhóm chính:

  1. Nhiệm vụ lý thuyết: Tìm hiểu, nghiên cứu các công nghệ và công cụ phát triển phần mềm bao gồm ReactJS, MUI, PrimeReact, Axios, NodeJS, ExpressJS, JSON Web Token (JWT), cơ sở dữ liệu quan hệ SQL (MySQL), Cloudinary, Postman, Figma và mô hình trí tuệ nhân tạo (Gemini API, ChatGPT).
  2. Nhiệm vụ thực hành:
    • Sử dụng ReactJS kết hợp thư viện giao diện MUI và PrimeReact để xây dựng tầng hiển thị (Frontend).
    • Sử dụng Axios để thiết lập kết nối, truyền tải dữ liệu giữa Frontend và hệ thống Backend qua giao thức RESTful API.
    • Sử dụng NodeJS và framework ExpressJS để xây dựng hệ thống máy chủ xử lý logic nghiệp vụ (Backend).
    • Ứng dụng JWT để xác thực và phân quyền truy cập cho các điểm cuối API.
    • Sử dụng hệ quản trị cơ sở dữ liệu quan hệ MySQL để tổ chức lưu trữ dữ liệu.
    • Ứng dụng Cloudinary cho việc quản lý, lưu trữ tệp hình ảnh phía máy chủ.
    • Tích hợp Gemini API để xây dựng hệ thống Chatbot trí tuệ nhân tạo hỗ trợ tư vấn khách hàng 24/7.
    • Sử dụng công cụ Postman để kiểm thử API và rà soát phản hồi hệ thống.

Đối tượng nghiên cứu của đồ án bao gồm nhu cầu, hành vi trải nghiệm của người dùng trên các sàn thương mại điện tử kinh doanh sách; quy trình vận hành các chức năng nghiệp vụ cốt lõi (xác thực tài khoản, tra cứu danh mục, giỏ hàng, đặt hàng, quản lý đơn hàng, đánh giá sản phẩm); và bộ giải pháp công nghệ SERN Stack kết hợp các dịch vụ đám mây và trí tuệ nhân tạo.

Phạm vi nghiên cứu được xác định cụ thể:

  • Phạm vi chức năng nghiệp vụ: Tập trung vào 5 phân hệ nền tảng của một website thương mại điện tử chuyên ngành sách gồm: (1) Quản lý người dùng; (2) Quản lý sản phẩm sách; (3) Giỏ hàng và quy trình thanh toán; (4) Đánh giá và phản hồi của người mua; (5) Quản lý chương trình khuyến mãi và thông báo.
  • Phạm vi không gian và thời gian: Đề tài được triển khai thực hiện trong khuôn khổ học kỳ II năm học 2024–2025 (tiến độ từ ngày 07/01/2025 đến ngày 01/06/2025) tại Trường Đại học Sư phạm Kỹ thuật TP.HCM.

Cơ sở lý thuyết và phương pháp

Đề tài áp dụng mô hình kiến trúc web ba tầng (3-tier architecture) tiêu chuẩn, phân tách rõ ràng trách nhiệm giữa các thành phần:

  • Tầng trình bày (Client/Frontend): Ứng dụng trình duyệt web tiếp nhận tương tác người dùng, hiển thị dữ liệu và gửi yêu cầu thông qua giao thức HTTP/HTTPS.
  • Tầng máy chủ ứng dụng (Web/Application Server - Backend): Tiếp nhận yêu cầu, xử lý các logic nghiệp vụ, xác thực quyền truy cập và điều phối dữ liệu.
  • Tầng dữ liệu (Database Server): Tiếp nhận truy vấn, thực hiện các thao tác thêm, đọc, sửa, xóa (CRUD) và bảo đảm tính toàn vẹn của dữ liệu quan hệ.

Phương pháp nghiên cứu thực tế bao gồm:

  • Phương pháp khảo sát đối chuẩn (Benchmarking): Khảo sát thực trạng hai website thương mại điện tử chuyên sách lớn tại Việt Nam là Vinabook (thành lập từ năm 2004) và Fahasa, phân tích ưu điểm, nhược điểm trong giao diện, tính năng và trải nghiệm người dùng làm căn cứ xác định yêu cầu hệ thống.
  • Phương pháp phân tích và thiết kế hệ thống phần mềm: Xây dựng sơ đồ phân rã chức năng (Functional Decomposition Diagram), lược đồ Use Case tổng quan, đặc tả chi tiết 49 ca sử dụng, xây dựng 53 biểu đồ tuần tự (Sequence Diagram), lược đồ lớp (Class Diagram) và mô hình dữ liệu quan hệ.
  • Phương pháp thiết kế giao diện: Ứng dụng Figma để tạo mẫu nguyên mẫu giao diện người dùng (UI mockup).
  • Phương pháp kiểm thử phần mềm: Áp dụng kỹ thuật kiểm thử chức năng (Functional Testing) và kiểm thử API bằng Postman theo bảng quy trình kịch bản đã lập.

Nguồn dữ liệu của hệ thống gồm cơ sở dữ liệu quan hệ MySQL lưu trữ thông tin tài khoản, danh mục sách, đơn hàng, mã giảm giá, bình luận; tệp đa phương tiện (ảnh bìa sách) lưu trữ trên dịch vụ lưu trữ đám mây Cloudinary; và dữ liệu hội thoại ngôn ngữ tự nhiên được cung cấp qua kết nối API với mô hình Google Gemini.

Thiết kế và triển khai

Hệ thống được thiết kế và triển khai hoàn toàn dựa trên bộ công nghệ SERN Stack cùng các dịch vụ tích hợp phụ trợ:

Thành phần kiến trúc Công nghệ sử dụng Vai trò và đặc tả kỹ thuật trong hệ thống
Frontend ReactJS, MUI, PrimeReact, Axios Xây dựng giao diện ứng dụng đơn trang (SPA) theo cấu trúc component; quản lý trạng thái bằng Context API và Props; tối ưu hóa kết xuất với Virtual DOM; sử dụng MUI và PrimeReact cho các thành phần giao diện; dùng Axios giao tiếp HTTP với API.
Backend NodeJS, ExpressJS Khởi tạo môi trường thực thi máy chủ JavaScript với V8 Engine; sử dụng ExpressJS tổ chức bộ định tuyến (router) cho các RESTful API; cấu hình middleware xử lý dữ liệu JSON, xác thực và bắt lỗi nghiệp vụ.
Cơ sở dữ liệu MySQL, Sequelize ORM Xây dựng hệ thống bảng quan hệ lưu trữ dữ liệu; sử dụng thư viện Sequelize làm tầng ánh xạ đối tượng - quan hệ (ORM) để thao tác dữ liệu từ Backend.
Bảo mật & Xác thực JSON Web Token (JWT) Mã hóa thông tin danh tính; cấp token khi người dùng đăng nhập thành công; lưu trữ token an toàn tại cookie của trình duyệt để kiểm soát phiên và phân quyền truy cập API.
Lưu trữ tệp Cloudinary Lưu trữ, quản lý và tối ưu hóa tải tài nguyên hình ảnh bìa sách phía máy chủ thông qua Cloudinary SDK.
Trí tuệ nhân tạo Gemini API Tích hợp mô hình AI để vận hành Chatbot tự động tư vấn, giải đáp thắc mắc của độc giả 24/7.
Kiểm thử & Thiết kế Postman, Figma Thiết kế mẫu giao diện website; kiểm thử các yêu cầu HTTP (GET, POST, PUT, DELETE), xác thực mã trạng thái (status code) và cấu trúc phản hồi JSON.

Hệ thống được thiết kế với cơ chế phân quyền hai nhóm tác nhân chính:

  • Người dùng (Khách hàng): Đăng ký tài khoản, đăng nhập, quản lý thông tin cá nhân, đổi mật khẩu, tìm kiếm sách (nhập từ khóa, lọc theo tiêu chí, tìm kiếm bằng giọng nói), xem chi tiết sách, quản lý giỏ hàng, danh sách yêu thích, áp dụng mã khuyến mãi, thực hiện thanh toán, theo dõi trạng thái đơn hàng, mua lại đơn hàng đã đặt, đánh giá - bình luận sách và tương tác với Chatbot AI.
  • Quản trị viên (Admin): Toàn quyền kiểm soát hệ thống, bao gồm quản lý người dùng (xem danh sách, khóa/chặn người dùng tiêu cực, khôi phục tài khoản), quản lý danh mục sản phẩm (thêm, cập nhật thông tin, ẩn sách, phục hồi sách), quản lý chương trình giảm giá/khuyến mãi, quản lý danh mục thể loại, quản lý đơn hàng (theo dõi danh sách và cập nhật trạng thái đơn), quản lý đánh giá/bình luận (xóa các phản hồi tiêu cực vi phạm tiêu chuẩn) và xuất báo cáo thống kê doanh thu theo mốc thời gian (tháng, năm).

Về mặt kiểm thử, đồ án xây dựng kế hoạch kiểm thử theo quy trình chuẩn (Bảng 50 trong văn bản), tập trung vào mục tiêu kiểm tra tính chính xác của dữ liệu phản hồi từ các endpoint API bằng công cụ Postman, đo lường thời gian phản hồi hệ thống bảo đảm ngưỡng trễ tối thiểu từ 1 đến 2 giây theo yêu cầu phi chức năng.

Nội dung chính theo từng chương

Chương 1: Khảo sát hiện trạng và xác định yêu cầu

Chương này tập trung phân tích bối cảnh thương mại điện tử chuyên ngành sách tại Việt Nam thông qua khảo sát thực tế hai nền tảng Vinabook và Fahasa, từ đó rút ra các căn cứ để xác định yêu cầu phần mềm:

Tiêu chí khảo sát Nền tảng Vinabook Nền tảng Fahasa Giải pháp đề xuất cho dự án
Ưu điểm - Thành lập từ 2004, kho sách phong phú.
- Giao hàng toàn quốc nhanh chóng.
- Chính sách ưu đãi khách hàng thân thiết.
- Đội ngũ hỗ trợ chuyên nghiệp.
- Hệ thống chuỗi cửa hàng vật lý rộng lớn.
- Danh mục đa dạng (sách, văn phòng phẩm, đồ chơi).
- Nhiều chương trình khuyến mãi, giảm giá.
- Giao diện trực quan, tìm kiếm thuận tiện.
- Xây dựng giao diện chuyên biệt, tối ưu riêng cho danh mục sản phẩm sách.
- Bổ sung tính năng lưu trữ danh sách sản phẩm yêu thích (Wishlist).
Nhược điểm - Chưa có tính năng lưu danh sách yêu thích.
- Phí vận chuyển đối với đơn hàng nhỏ còn cao.
- Thường xuyên hết hàng ở các tựa sách phổ biến.
- Ứng dụng di động chưa tối ưu trải nghiệm.
- Bán quá nhiều mặt hàng ngoài sách làm phân tán sự tập trung của khách hàng.
- Giá bán một số sản phẩm cao hơn sàn khác.
- Phí vận chuyển làm tăng chi phí đơn hàng.
- Xử lý đơn hàng chậm vào các đợt cao điểm.
- Tích hợp tìm kiếm sách bằng giọng nói.
- Tích hợp Chatbot AI hỗ trợ giải đáp 24/7.
- Cung cấp thông báo trạng thái đơn hàng theo thời gian thực.

Dựa trên khảo sát, chương 1 thiết lập hệ thống 5 bảng yêu cầu chi tiết:

  • Bảng 1 (Chức năng chung): Đăng nhập (lưu token vào cookie), Đăng xuất (xóa token cookie), Đổi mật khẩu (xác thực mật khẩu cũ), Quản lý thông tin cá nhân.
  • Bảng 2 (Chức năng người dùng): Gồm 9 nhóm chức năng chính (Đăng ký tài khoản, Xem chi tiết sách, Quản lý giỏ hàng, Xem lịch sử mua hàng, Đánh giá sách, Tìm kiếm sách, Theo dõi đơn hàng, Mua hàng, Quản lý danh sách yêu thích).
  • Bảng 3 (Chức năng quản trị viên): Gồm 7 chức năng quản trị (Quản lý người dùng và chặn tài khoản tiêu cực, Quản lý kho sách, Quản lý mã khuyến mãi, Quản lý và đổi trạng thái đơn hàng, Thống kê doanh thu theo tháng/năm, Quản lý danh mục thể loại, Quản lý và xóa bình luận/đánh giá tiêu cực).
  • Bảng 4 (Chức năng nghiệp vụ): Phân quyền chặt chẽ giữa Quản trị viên và Người dùng thường xuyên.
  • Bảng 5 (Yêu cầu phi chức năng): Định lượng tiêu chuẩn hiệu năng (hệ thống phản hồi nhanh, thời gian chết/độ trễ tối thiểu chỉ từ 1–2 giây), giao diện trực quan dễ thao tác, ngôn ngữ hiển thị chính xác và bảo mật tuyệt đối dữ liệu người dùng không để lộ ra ngoài.

Chương 2: Cơ sở lý thuyết

Chương 2 trình bày chi tiết về nền tảng lý thuyết và công nghệ xây dựng hệ thống:

  • Kiến trúc hệ thống 3 thành phần: Trình bày nguyên lý hoạt động của Trình duyệt web (Web Browser), Máy chủ web (Web Server) và Máy chủ cơ sở dữ liệu (Database Server) trong mô hình ứng dụng web hiện đại.
  • Công nghệ Frontend ReactJS: Nêu rõ lịch sử phát triển do Facebook giới thiệu (bắt đầu từ năm 2011, mã nguồn mở năm 2013 và mở rộng React Native năm 2015). Phân tích các ưu thế vượt trội như Virtual DOM giúp tăng tốc độ render, mô hình component tái sử dụng mã nguồn, cú pháp JSX kết hợp HTML và JavaScript, quản lý trạng thái bằng State và Props, cùng khả năng hỗ trợ SEO với React Helmet. Nhược điểm được chỉ rõ là đòi hỏi lập trình viên phải nắm vững JavaScript hiện đại (ES6+) và tích hợp nhiều thư viện bổ trợ.
  • Framework ExpressJS: Phân tích cấu trúc framework chạy trên nền tảng NodeJS với các ưu điểm về sự linh hoạt, cơ chế routing đa năng xử lý các phương thức HTTP (GET, POST, PUT, DELETE), hệ sinh thái middleware phong phú hỗ trợ xử lý tác vụ, nén dữ liệu, bảo mật và hỗ trợ định dạng JSON trực tiếp cho RESTful API. Tác giả cũng chỉ rõ nhược điểm về việc thiếu cấu trúc nghiêm ngặt đòi hỏi kiểm soát mã nguồn chặt chẽ khi ứng dụng mở rộng.
  • Nền tảng NodeJS: Nêu bật lịch sử do Ryan Dahl phát triển năm 2009 trên V8 JavaScript Engine. Trình bày các đặc tính: xử lý bất đồng bộ (non-blocking I/O) cho hiệu năng cao, thống nhất ngôn ngữ JavaScript cho cả Frontend lẫn Backend, kho thư viện NPM đồ sộ. Điểm hạn chế được ghi nhận là mô hình đơn luồng (single-threaded) không phù hợp cho các tác vụ tính toán CPU-bound phức tạp và nguy cơ gặp hiện tượng "callback hell" nếu không quản lý luồng xử lý đúng cách.
  • Ngôn ngữ truy vấn có cấu trúc SQL: Khái quát vai trò chuẩn mực của SQL trong việc lưu trữ, thao tác và truy xuất dữ liệu trên các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) như MySQL, phục vụ quản lý dữ liệu người dùng, sách và đơn hàng dưới dạng các bảng liên kết chặt chẽ.

Chương 3: Phân tích và thiết kế hệ thống

Chương 3 là phần trọng tâm về kỹ thuật của đồ án, bao gồm:

  • Phân tích chức năng và Use Case: Trình bày sơ đồ phân rã chức năng (Hình 8) và Lược đồ Use Case tổng quan (Hình 9). Tài liệu cung cấp toàn bộ đặc tả chi tiết từ Bảng 6 đến Bảng 49 tương ứng với 53 biểu đồ tuần tự (Sequence Diagram từ Hình 10 đến Hình 53). Trong đó làm rõ:
    • Luồng nghiệp vụ tài khoản: Đăng ký (Bảng 6, kiểm tra hợp lệ email, số điện thoại, báo lỗi trùng tài khoản), Đăng nhập (Bảng 7, cấp token), Đăng xuất (Bảng 8), Quên mật khẩu (Bảng 9, gửi mật khẩu mới qua email), Cập nhật hồ sơ (Bảng 10) và Đổi mật khẩu (Bảng 11).
    • Luồng nghiệp vụ tương tác mua sắm: Tìm kiếm sách (Bảng 12, hỗ trợ 3 luồng: từ khóa thông thường, giọng nói qua micro, bộ lọc thể loại), Lọc sách (Bảng 13, lọc kết hợp theo thể loại, tầm giá, ngày xuất bản), Xem chi tiết sách (Bảng 14), Quản lý giỏ hàng (Bảng 15 đến Bảng 18, gồm thêm, xem, xóa và cập nhật số lượng), Danh sách yêu thích (Bảng 19 đến Bảng 21), Áp dụng mã giảm giá (Bảng 22), Mua hàng (Bảng 23), Xem chi tiết đơn hàng (Bảng 24), Mua lại hàng cũ (Bảng 25), Đánh giá và bình luận sản phẩm (Bảng 26), Tương tác với Chatbot AI tư vấn (Bảng 49, Hình 53).
    • Luồng nghiệp vụ quản trị: Quản lý thống kê (Bảng 27), Quản lý người dùng (Bảng 28 đến Bảng 30, gồm xem danh sách, chặn tài khoản, khôi phục tài khoản), Quản lý sản phẩm (Bảng 31 đến Bảng 36, gồm xem danh sách, chi tiết, thêm mới, cập nhật thông tin, ẩn sản phẩm, khôi phục hiển thị sản phẩm), Quản lý khuyến mãi (Bảng 37 đến Bảng 40), Quản lý danh mục thể loại (Bảng 41 đến Bảng 43), Quản lý đơn hàng (Bảng 44 đến Bảng 46, cập nhật trạng thái đơn), Quản trị đánh giá/bình luận (Bảng 47, Bảng 48, xóa phản hồi vi phạm).
  • Thiết kế hệ thống và Cơ sở dữ liệu: Thể hiện cấu trúc quan hệ hướng đối tượng qua Lược đồ lớp (Class Diagram - Hình 54), cấu trúc các bảng trong cơ sở dữ liệu quan hệ (Hình 88), cùng tệp cấu hình tham số môi trường .env (Hình 89).
  • Thiết kế giao diện người dùng: Cung cấp chi tiết 32 màn hình giao diện thực tế (từ Hình 56 đến Hình 87) cho cả giao diện khách hàng (Trang chủ, Đăng ký, Đăng nhập, Tìm kiếm, Chi tiết sách, Giỏ hàng, Yêu thích, Hồ sơ cá nhân, Đơn hàng) và giao diện Quản trị viên (Thống kê doanh thu, Danh sách người dùng, Chặn người dùng, Quản lý kho sách, Thêm/sửa sách, Quản lý mã giảm giá, Quản lý đơn hàng, Quản lý thể loại, Quản lý bình luận).

Chương 4: Cài đặt và kiểm thử

Chương 4 mô tả quá trình hiện thực hóa giải pháp và kiểm chứng phần mềm:

  • Cài đặt hệ thống: Trình bày các bước thiết lập môi trường máy chủ NodeJS, cấu hình các gói phụ thuộc trên npm, thiết lập tệp biến môi trường .env để bảo mật thông tin cấu hình kết nối cơ sở dữ liệu, cổng dịch vụ, khóa bí mật JWT, Cloudinary SDK và Gemini API key.
  • Quy trình kiểm thử: Xây dựng kế hoạch và tiêu chí kiểm thử cụ thể (Bảng 50). Sử dụng công cụ Postman gửi các request mẫu nhằm kiểm tra mã trạng thái trả về (Status Code) và cấu trúc payload JSON của các API chức năng; tiến hành kiểm thử tương tác thực tế trên giao diện để bảo đảm hệ thống xử lý đầy đủ các kịch bản ngoại lệ (Exception flow) và luồng phụ (Alternate flow) đã đặc tả ở chương 3.

Kết quả và đóng góp

Đồ án ghi nhận các kết quả thực tế và đóng góp chuyên môn cụ thể:

  • Kết quả xây dựng ứng dụng:
    • Xây dựng hoàn chỉnh hệ thống website thương mại điện tử BookStore với đầy đủ hai phân hệ Client và Admin dựa trên kiến trúc công nghệ SERN Stack.
    • Triển khai thành công 32 màn hình giao diện trực quan, rõ ràng, thẩm mỹ, phân tách khoa học các khu vực chức năng cho khách hàng và nhà quản lý.
    • Hiện thực hóa cơ chế bảo mật xác thực phiên làm việc an toàn thông qua JWT kết hợp lưu trữ cookie trình duyệt.
    • Tích hợp thành công tính năng tìm kiếm bằng giọng nói và trợ lý ảo Chatbot AI (sử dụng Gemini API) hỗ trợ giải đáp người dùng 24/7.
    • Đạt được các tiêu chí kỹ thuật phi chức năng: tốc độ phản hồi nhanh, độ trễ và thời gian chết được kiểm soát ở mức tối thiểu 1–2 giây, giao diện thân thiện, dữ liệu cá nhân của người dùng được bảo mật an toàn.
  • Đóng góp giải pháp so với thực trạng:
    • Tác giả giải quyết triệt để các hạn chế của những nền tảng đi trước đã khảo sát: khắc phục tình trạng thiếu danh sách yêu thích của Vinabook bằng cách bổ sung phân hệ Wishlist hoàn chỉnh; khắc phục nhược điểm của Fahasa (kinh doanh quá nhiều mặt hàng gây phân tán sự chú ý của người mua) bằng cách thiết kế không gian mua sắm chuyên biệt, thuần túy dành riêng cho sách.
    • Đưa ra mô hình giải pháp giúp các nhà sách, đơn vị xuất bản cắt giảm đáng kể chi phí thuê mặt bằng vật lý, mở rộng thị trường kinh doanh và nâng cao hiệu quả phân phối trực tuyến.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế của đề tài:
    • Theo đánh giá tự nhận của nhóm tác giả, hệ thống hiện tại mới tập trung hoàn thiện các tính năng cốt lõi của một trang thương mại điện tử cơ bản; một số chức năng nâng cao vẫn còn đang trong quá trình tiếp thu đóng góp và hoàn thiện.
    • Cổng thanh toán trực tuyến mới dừng lại ở mức mô hình hóa quy trình thanh toán cơ bản, chưa mở rộng kết nối với đa dạng các cổng trung gian thanh toán thương mại (như VNPay, MoMo, ZaloPay).
    • Quy trình kiểm thử chủ yếu sử dụng Postman kiểm tra API và kiểm thử chức năng giao diện, chưa ghi nhận số liệu kiểm thử tải trọng lớn (Load/Stress testing) trong điều kiện hàng ngàn người dùng truy cập đồng thời.
  • Hướng phát triển tiếp theo:
    • Tiếp thu đầy đủ ý kiến đóng góp từ giảng viên hướng dẫn (TS. Mai Anh Thơ) và giảng viên phản biện (ThS. Nguyễn Trần Thi Văn) để hoàn thiện các phần còn dang dở.
    • Nâng cấp và triển khai các chức năng nâng cao cho hệ thống nhằm đưa website vào ứng dụng thực tế trong môi trường sản xuất của các nhà sách và đơn vị xuất bản.
    • Tối ưu hóa mô hình Chatbot AI nhằm mở rộng khả năng tư vấn ngữ cảnh chuyên sâu và hỗ trợ quản trị hệ thống tự động.

Giá trị tham khảo

Đồ án là tài liệu tham khảo có giá trị học thuật và thực tiễn đối với:

  • Sinh viên chuyên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu tham khảo thực tế về việc xây dựng trọn vẹn một ứng dụng web full-stack sử dụng kiến trúc SERN Stack (SQL/MySQL, ExpressJS, ReactJS, NodeJS) từ khâu khảo sát, lấy yêu cầu, phân tích thiết kế đến triển khai và kiểm thử.
  • Nhà phát triển phần mềm ứng dụng web: Tham khảo tài liệu đặc tả yêu cầu mẫu mực tại Chương 1 và Chương 3, đặc biệt là hệ thống 49 bảng đặc tả Use Case chi tiết kết hợp với 53 biểu đồ tuần tự (Sequence Diagram), giúp chuẩn hóa quy trình phân tích thiết kế phần mềm hướng đối tượng theo chuẩn công nghiệp.
  • Người nghiên cứu tích hợp AI vào thương mại điện tử: Tham khảo giải pháp tích hợp các API dịch vụ ngoài như Cloudinary (xử lý hình ảnh) và Google Gemini API (xây dựng chatbot thông minh) vào ứng dụng thương mại điện tử.

Câu hỏi thường gặp

1. Đề tài khảo sát các hệ thống thương mại điện tử nào và đã chỉ ra những hạn chế gì để làm căn cứ cải tiến?
Tác giả đã tiến hành khảo sát thực trạng hai website bán sách hàng đầu tại Việt Nam là Vinabook (thành lập từ năm 2004) và Fahasa. Nghiên cứu chỉ ra Vinabook thiếu tính năng lưu danh sách yêu thích (Wishlist), phí ship đơn nhỏ cao, hay hết hàng sách phổ biến và ứng dụng di động chưa tối ưu. Trong khi đó, Fahasa kinh doanh quá nhiều mặt hàng ngoài sách làm khách hàng phân tán sự chú ý, giảm trải nghiệm mua sắm sách chuyên biệt, giá một số mặt hàng cao và tốc độ xử lý đơn bị chậm vào mùa cao điểm. Từ đó, đồ án đề xuất giải pháp website chuyên biệt về sách, tích hợp Wishlist, tìm kiếm bằng giọng nói và trợ lý Chatbot AI.

2. Kiến trúc SERN Stack trong đồ án được định nghĩa và triển khai bằng những công nghệ cụ thể nào?
SERN Stack trong đề tài bao gồm 4 thành phần công nghệ: SQL (sử dụng hệ quản trị cơ sở dữ liệu quan hệ MySQL kết hợp thư viện Sequelize ORM); ExpressJS (web framework xử lý routing và middleware cho máy chủ Backend); ReactJS (thư viện xây dựng giao diện người dùng đơn trang SPA phía Frontend, kết hợp MUI và PrimeReact); và NodeJS (nền tảng máy chủ thực thi JavaScript xây dựng trên V8 Engine). Ngoài ra, hệ thống tích hợp Cloudinary để lưu trữ hình ảnh, thư viện Axios để kết nối API và Google Gemini API cho Chatbot.

3. Cơ chế xác thực và phân quyền tài khoản người dùng được vận hành ra sao?
Hệ thống sử dụng công nghệ JSON Web Token (JWT) để xác thực. Khi người dùng hoặc quản trị viên đăng nhập với thông tin tài khoản hợp lệ, máy chủ sẽ tạo một mã token đại diện và lưu trữ trực tiếp vào cookie của trình duyệt. Token này được tự động đính kèm vào tiêu đề các yêu cầu HTTP gửi đến Backend để xác thực danh tính và phân quyền (Người dùng thường xuyên hoặc Quản trị viên). Khi người dùng thực hiện thao tác đăng xuất, hệ thống sẽ thực hiện lệnh xóa token khỏi cookie của trình duyệt để chấm dứt phiên làm việc.

4. Hệ thống cung cấp những phương thức tìm kiếm sách nào cho khách hàng?
Hệ thống cung cấp 3 cơ chế tìm kiếm linh hoạt: (1) Tìm kiếm theo từ khóa thông thường nhập tại thanh công cụ (theo tên sách, tác giả); (2) Tìm kiếm sách bằng giọng nói thông qua việc tích hợp micro trên giao diện trang chủ; và (3) Tìm kiếm thông qua bộ lọc đa tiêu chí tại trang danh mục, cho phép người dùng lọc chính xác theo thể loại sách, tầm giá tiền và ngày xuất bản.

5. Chức năng Chatbot AI được xây dựng nhằm mục đích gì và tích hợp qua công nghệ nào?
Chức năng Chatbot AI được nhóm tác giả tích hợp trực tiếp trên website nhằm mục đích hỗ trợ tư vấn, giải đáp thắc mắc và chăm sóc khách hàng tự động 24/7. Giải pháp kỹ thuật được triển khai thông qua việc tích hợp API từ mô hình trí tuệ nhân tạo Gemini (Google Gemini API), giúp tăng cường trải nghiệm mua sắm cho độc giả và hỗ trợ giảm tải khối lượng công việc chăm sóc khách hàng cho quản trị viên.

Kết luận

Khóa luận tốt nghiệp "Xây dựng Website bán sách sử dụng Công nghệ SERN Stack" của sinh viên Trương Hoàng Quang và Lê Quang Sáng (Khoa CNTT, Trường Đại học Sư phạm Kỹ thuật TP.HCM) đã giải quyết trọn vẹn bài toán xây dựng nền tảng thương mại điện tử chuyên ngành sách hoàn chỉnh. Đề tài vận dụng bài bản kiến trúc ba tầng kết hợp bộ công nghệ hiện đại ReactJS, NodeJS, ExpressJS, MySQL cùng các dịch vụ đám mây Cloudinary và mô hình trí tuệ nhân tạo Gemini API. Kết quả nghiên cứu không chỉ đáp ứng nghiêm ngặt các tiêu chuẩn về phân tích thiết kế phần mềm với 49 bảng đặc tả ca sử dụng và 53 biểu đồ tuần tự, mà còn mang lại giá trị thực tiễn cao cho việc tối ưu hóa chi phí vận hành và mở rộng thị trường số hóa của các nhà xuất bản sách.