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

Sự chuyển dịch nhanh chóng của nền kinh tế số cùng xu thế toàn cầu hóa đã đưa thương mại điện tử trở thành một thành tố then chốt trong hoạt động kinh doanh bán lẻ. Người tiêu dùng ngày càng ưa chuộng các hình thức mua sắm trực tuyến nhằm tiết kiệm thời gian, tối ưu hóa chi phí và tiếp cận danh mục hàng hóa đa dạng từ mọi thị trường. Tại Việt Nam, thị trường thương mại điện tử chứng kiến sự tăng trưởng vượt bậc về số lượng giao dịch, đồng thời đặt ra yêu cầu nâng cấp liên tục về chất lượng dịch vụ, trải nghiệm người dùng và tính linh hoạt trong quản lý chuỗi cung ứng. Nắm bắt xu hướng đó, các đơn vị phát hành và cửa hàng bán lẻ sách cần chuyển đổi từ phương thức phân phối truyền thống sang nền tảng bán hàng qua mạng nhằm giúp khách hàng tra cứu, chọn lọc đầu sách theo các lĩnh vực văn học, khoa học, thiếu nhi, kinh doanh, self-help một cách thuận tiện. Xuất phát từ bối cảnh thực tiễn này, nhóm tác giả đã lựa chọn đề tài "Xây dựng website bán sách" làm khóa luận tốt nghiệp.

Mục tiêu nghiên cứu tổng quát của khóa luận là xây dựng một nền tảng thương mại điện tử trực tuyến đóng vai trò trung gian tương tác giữa khách hàng và nhà cung cấp, hỗ trợ người mua đặt sách nhanh chóng và tạo điều kiện thuận lợi cho đơn vị kinh doanh quản lý vận hành. Nhiệm vụ nghiên cứu của đề tài được cụ thể hóa thông qua việc giải quyết chín yêu cầu chức năng và kỹ thuật đối với hệ thống, bao gồm:

  1. Hỗ trợ tra cứu thông tin sản phẩm và giúp khách hàng dễ dàng lựa chọn sản phẩm phù hợp với nhu cầu.
  2. Gửi yêu cầu mua hàng tới nhà cung cấp, hiển thị chính xác thông tin sản phẩm và nội dung yêu cầu của khách hàng tới người bán.
  3. Bảo mật thông tin của khách hàng và nhà cung cấp.
  4. Hiển thị và hỗ trợ theo dõi trạng thái đơn hàng trong suốt quá trình vận chuyển.
  5. Hiển thị trạng thái hàng hóa và số lượng tồn kho.
  6. Cập nhật kịp thời trạng thái giao dịch giữa các bên tham gia.
  7. Lưu trữ và cung cấp thông tin mua hàng, lịch sử giao dịch và chi tiết đơn hàng cho người dùng.
  8. Cung cấp chức năng báo cáo, thống kê phục vụ hoạt động giám sát của quản trị viên.
  9. Hỗ trợ các phương thức thanh toán linh hoạt, bao gồm thanh toán trực tuyến qua ví điện tử VNPay và thanh toán bằng tiền mặt khi nhận hàng (COD).

Đối tượng nghiên cứu của khóa luận là hệ thống website thương mại điện tử phục vụ lĩnh vực phát hành sách, bao gồm quy trình nghiệp vụ bán hàng, kiến trúc phần mềm, mô hình cơ sở dữ liệu và các giao diện tương tác người dùng. Phạm vi nghiên cứu về mặt không gian và triển khai được thực hiện tại Khoa Công nghệ thông tin, Trường Đại học Thăng Long (Hà Nội); mốc thời gian hoàn thành khóa luận là ngày 17 tháng 03 năm 2024. Về mặt nghiệp vụ kỹ thuật, phạm vi của đề tài tập trung vào việc thiết kế và lập trình hoàn thiện các chức năng dành cho hai nhóm tác nhân chính là Khách hàng và Quản trị viên hệ thống.

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

Khóa luận thiết lập nền tảng lý thuyết dựa trên mô hình kiến trúc phần mềm phân tầng Client - Server kết hợp cơ chế giao tiếp qua giao diện lập trình ứng dụng (Application Programming Interface - API) theo phong cách kiến trúc REST (RESTful API). Cơ sở lý thuyết của hệ thống khai thác các thuộc tính tiêu chuẩn của API bao gồm tính tương thích, tính tách biệt logic (Separation of Concerns), tính mô-đun, tính mở rộng, tính tích hợp và bảo mật. Về giao thức trao đổi, hệ thống tuân thủ các quy ước HTTP tiêu chuẩn với bốn phương thức thao tác dữ liệu cơ bản (GET, POST, PUT, DELETE), sử dụng cấu trúc định dạng dữ liệu JSON/XML và xử lý các mã trạng thái phản hồi (HTTP response status codes) tiêu biểu như 200 (OK), 201 (Created), 204 (No Content), 401 (Unauthorized), 403 (Forbidden), 404 (Not Found) và 500 (Server Error).

Phương pháp nghiên cứu thực tế được nhóm tác giả triển khai là phương pháp phân tích và thiết kế hệ thống hướng đối tượng kết hợp kỹ thuật công nghệ phần mềm thực nghiệm:

  • Phân tích yêu cầu và mô hình hóa: Sử dụng phương pháp mô hình hóa ca sử dụng (Use Case Modeling) để bóc tách quy trình nghiệp vụ mua sắm trực tuyến, xây dựng biểu đồ use case tổng thể, biểu đồ use case phân rã cho từng module chức năng, và lập các bảng đặc tả use case chi tiết đi kèm kịch bản luồng sự kiện chính và kịch bản phát sinh ngoại lệ.
  • Mô hình hóa tương tác và cơ sở dữ liệu: Thiết kế biểu đồ tuần tự (Sequence Diagram) để mô tả luồng tương tác giữa các thành phần phần mềm trong các tác vụ cốt lõi (quản lý giỏ hàng, thêm - sửa - xóa sản phẩm, quy trình đặt hàng) và xây dựng lược đồ cơ sở dữ liệu NoSQL dạng tài liệu.
  • Kỹ thuật cài đặt: Hiện thực hóa hệ thống phần mềm bằng phương pháp lập trình chia tách tầng giao diện người dùng (Frontend) và tầng dịch vụ máy chủ (Backend).

Nguồn dữ liệu của nghiên cứu bao gồm các tài liệu đặc tả chuẩn kỹ thuật của Node.js, NestJS, MongoDB, Vue.js, Ant Design và Vuetify; các văn bản mô tả nghiệp vụ thương mại điện tử; cùng dữ liệu mẫu mô phỏng danh mục sách (tên sách, giá bán, tỷ lệ giảm giá, hình ảnh, thể loại, thông tin tác giả, nhà phát hành) và dữ liệu người dùng được tạo lập để thử nghiệm vận hành hệ thống.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình kiến trúc Client - Server tách biệt, cho phép phát triển độc lập và tăng cường tính linh hoạt trong quá trình bảo trì và mở rộng quy mô.

Tầng hệ thống Công nghệ / Thư viện Đặc tính kỹ thuật và vai trò trong hệ thống
Client (Giao diện người dùng) Vue.js Khung ứng dụng JavaScript mã nguồn mở xây dựng ứng dụng trang đơn (SPA); quản lý trạng thái tập trung với Vuex; điều hướng trang bằng Vue Router; hỗ trợ chia tách component tái sử dụng.
Ant Design & Vuetify Thư viện giao diện cung cấp các thành phần chuẩn hóa (Layout, Button, Icon, Form, DatePicker) kết hợp tiền xử lý CSS (SCSS) để tùy biến giao diện trực quan, đồng nhất.
Server (Dịch vụ máy chủ) Node.js Nền tảng JavaScript Runtime trên nền Chrome V8, phần lõi phát triển bằng C++; sử dụng cơ chế xử lý bất đồng bộ (non-blocking I/O) giúp phục vụ đồng thời hàng nghìn kết nối.
NestJS Framework máy chủ mã nguồn mở xây dựng trên nền tảng Node.js, lập trình bằng ngôn ngữ TypeScript; kiến trúc tổ chức dạng mô-đun hóa, hỗ trợ thiết kế RESTful API endpoints.
Database (Cơ sở dữ liệu) MongoDB Hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu (document-oriented); dữ liệu lưu trữ dưới dạng JSON/BSON trong các collection; không ràng buộc khóa ngoại hay phép nối bảng phức tạp, tối ưu hóa tốc độ truy vấn động.
Tích hợp thanh toán VNPay & COD Cung cấp hai cơ chế thanh toán: cổng thanh toán điện tử VNPay cho giao dịch trực tuyến và phương thức trả tiền mặt khi nhận hàng (Cash on Delivery).

Quy trình giao tiếp giữa Client và Server diễn ra hoàn toàn qua các RESTful API endpoints. Khi người dùng thực hiện thao tác trên giao diện Vue.js, yêu cầu HTTP (GET, POST, PUT, DELETE) sẽ được gửi đến web server NestJS. Server tiếp nhận, xác thực logic nghiệp vụ, thực hiện truy vấn với cơ sở dữ liệu MongoDB và đóng gói dữ liệu phản hồi dưới định dạng JSON kèm theo mã phản hồi HTTP tương ứng trước khi trả về cho Client hiển thị.

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

Mô tả bài toán

Mục mở đầu phân tích thực trạng phát triển của thương mại điện tử toàn cầu và thị trường mua sắm trực tuyến tại Việt Nam. Tác giả mô tả chi tiết mô hình hoạt động của website bán sách trực tuyến – nơi cung cấp đa dạng các thể loại sách thông qua Internet. Hệ thống đóng vai trò trung gian kết nối hai chủ thể: khách hàng (người tìm kiếm, chọn lọc và ra quyết định mua) và nhà cung cấp/quản trị viên (người tiếp nhận thông tin, quản lý số lượng và đặc tính sản phẩm). Phần này cũng xác lập rõ ràng chín yêu cầu kỹ thuật và chức năng bắt buộc đối với hệ thống, từ tra cứu sản phẩm, bảo mật thông tin, theo dõi đơn hàng, thống kê giao dịch cho đến tích hợp phương thức thanh toán online và COD.

Chương 1: Kiến trúc tổng thể và công nghệ sử dụng

Chương này đi sâu vào cơ sở kỹ thuật xây dựng hệ thống phần mềm:

  • Khái niệm và đặc điểm của API: Trình bày định nghĩa API, phân tích mười đặc điểm kỹ thuật nổi bật gồm tính tương thích, tách biệt logic, tính mô-đun, khả năng mở rộng, tính tích hợp, đảm bảo an ninh, tính phổ quát, tính linh hoạt, hỗ trợ phát triển đồng thời và tính di động. Liệt kê các mã trạng thái HTTP tiêu chuẩn mà hệ thống web API hỗ trợ (200, 201, 204, 401, 403, 404, 500).
  • Kiến trúc RESTful API: Định nghĩa các nguyên tắc của REST, quy định định dạng URL và bốn phương thức thao tác dữ liệu căn bản (GET, POST, PUT, DELETE).
  • Kiến trúc tổng thể hệ thống: Mô tả cấu trúc hai khối Client và Server với các vai trò tương tác riêng biệt.
  • Nền tảng công nghệ Backend: Trình bày lý do lựa chọn Node.js nhờ cơ chế bất đồng bộ non-blocking I/O và lõi C++ tối ưu hiệu năng; giới thiệu framework NestJS trên nền TypeScript hỗ trợ phát triển nhanh, duy trì cấu trúc mã nguồn chặt chẽ và dễ mở rộng.
  • Hệ quản trị cơ sở dữ liệu MongoDB: Phân tích ưu thế của database NoSQL hướng tài liệu, cấu trúc collection và document JSON linh hoạt, không sử dụng quan hệ ràng buộc hay phép join như RDBMS. Văn bản trích dẫn thử nghiệm lý thuyết cho thấy tốc độ thêm mới dữ liệu (insert) của MongoDB có thể nhanh tới gấp 100 lần so với MySQL khi xử lý khối lượng dữ liệu lớn.
  • Nền tảng công nghệ Frontend: Trình bày các đặc tính của Vue.js trong việc chia nhỏ component tái sử dụng, quản lý trạng thái bằng Vuex, điều hướng qua Vue Router; kết hợp bộ đôi thư viện Ant Design và Vuetify cùng SCSS để thiết kế giao diện thương mại điện tử hiện đại.

Chương 2: Phân tích yêu cầu

Chương 2 mô hình hóa toàn bộ yêu cầu nghiệp vụ của hệ thống:

  • Quy trình nghiệp vụ: Xác lập chu trình mua hàng khép kín. Người dùng bắt buộc phải đăng ký/đăng nhập tài khoản trước khi thực hiện thao tác đặt hàng. Trong bước thanh toán, khách hàng được quyền lựa chọn hình thức trả tiền khi nhận hàng (COD) hoặc thanh toán qua ví điện tử VNPay. Đặt hàng thành công sẽ kích hoạt hệ thống tự động thông báo thông tin đơn hàng tới cả khách hàng và người bán, đồng thời cho phép theo dõi lịch sử và trạng thái vận chuyển.
  • Tác nhân hệ thống: Xác định hai tác nhân gồm Khách hàng (người dùng mua sách trực tuyến) và Quản trị viên (người quản lý ứng dụng, thông tin sản phẩm, danh mục và thống kê).
  • Hệ thống Use Case: Phân định 13 use case chức năng (UC#01: Đăng ký tài khoản, UC#02: Đăng nhập, UC#03: Quản lý thông tin cá nhân, UC#04: Quản lý giỏ hàng, UC#05: Đặt hàng, UC#06: Quản lý lịch sử đơn hàng cá nhân, UC#07: Bình luận/Đánh giá sản phẩm, UC#08: Quản lý người dùng, UC#09: Quản lý đơn hàng, UC#10: Quản lý sản phẩm, UC#11: Quản lý danh mục, UC#12: Quản lý thông tin website, UC#13: Tìm kiếm, UC#14: Đăng xuất). Đi kèm là các biểu đồ use case phân rã chi tiết cho các chức năng đăng ký, đăng nhập, quản lý thông tin cá nhân, giỏ hàng và đơn hàng.

Chương 3: Đặc tả chức năng

Chương 3 xây dựng bảng đặc tả chi tiết cho từng ca sử dụng, xác định rõ tác nhân, tiền điều kiện, hậu điều kiện, luồng sự kiện chính và kịch bản phát sinh ngoại lệ:

  • UC#01 (Đăng ký): Yêu cầu nhập họ tên, email, mật khẩu, số điện thoại. Bắt lỗi thiếu thông tin bằng thông báo "Thông tin trường này là bắt buộc", kiểm tra trùng lặp email và xuất thông báo "Lỗi hệ thống" nếu email đã tồn tại, hiển thị "Signup successfully!" khi thành công.
  • UC#02 (Đăng nhập): Xác thực tên đăng nhập và mật khẩu; đưa ra cảnh báo bắt buộc khi để trống ô nhập liệu và thông báo lỗi khi thông tin không khớp với cơ sở dữ liệu.
  • UC#03 (Quản lý thông tin cá nhân): Cho phép xem, sửa thông tin cá nhân và thay đổi mật khẩu trực tiếp qua form xác thực mật khẩu hiện tại và mật khẩu mới.
  • UC#04 (Quản lý giỏ hàng): Cho phép điều chỉnh số lượng ("+", "-") hoặc xóa sản phẩm. Xử lý các điều kiện biên: chặn bấm thanh toán khi giỏ rỗng ("Vui lòng chọn sản phẩm"), chặn giảm số lượng xuống dưới 1 ("Số lượng nhỏ nhất được mua là 1"), và cảnh báo giới hạn tồn kho dựa trên cơ sở dữ liệu gốc.
  • UC#05 (Đặt hàng): Xử lý luồng đặt mua, nhập địa chỉ nhận hàng, tính tổng tiền và phí vận chuyển, chọn phương thức thanh toán (COD hoặc chuyển hướng cổng VNPay). Ràng buộc thông báo "Vui lòng chọn sản phẩm đặt hàng" và "Vui lòng cập nhập đầy đủ thông tin giao hàng" nếu dữ liệu bị khuyết thiếu.
  • UC#06 (Quản lý đơn hàng cá nhân): Hiển thị danh sách và chi tiết đơn hàng (thông tin người nhận, hình thức thanh toán, tổng tiền, thời gian đặt) hỗ trợ đặt lại hàng.
  • UC#07 (Đánh giá, bình luận sản phẩm): Cho phép người mua đánh giá số sao và viết bình luận tại mục chi tiết sản phẩm. Văn bản chỉ rõ phiên bản này đang sử dụng dữ liệu giả lập (mockup data) để thể hiện giao diện.
  • UC#08 đến UC#13: Đặc tả toàn bộ quyền hạn quản trị gồm quản lý tài khoản người dùng (thêm, sửa, xóa, tìm kiếm theo tên); quản lý trạng thái xử lý đơn hàng; quản trị sản phẩm (thêm, sửa thông tin giá/giảm giá/mô tả/danh mục/màu sắc, xóa, tìm kiếm); quản trị danh mục (bắt lỗi "Danh mục tồn tại"); quản trị thông tin website (tác giả, nhà phát hành, sách); và chức năng tìm kiếm sản phẩm trên thanh công cụ header.

Chương 4 và Chương 5: Thiết kế kỹ thuật và Kết quả cài đặt (Ghi nhận theo cấu trúc văn bản)

Căn cứ mục lục và danh mục hình ảnh của khóa luận, Chương 4 trình bày thiết kế kỹ thuật chuyên sâu gồm lược đồ cơ sở dữ liệu MongoDB, danh sách bảng/collection và năm biểu đồ tuần tự mô tả các thao tác: quản lý giỏ hàng, thêm sản phẩm, sửa sản phẩm, xóa sản phẩm và đặt hàng. Chương 5 tổng kết việc cài đặt hệ thống thực tế với giao diện trang chủ, các module đăng nhập, đăng ký, tìm kiếm theo bộ lọc, trang quản lý tài khoản, quy trình mua hàng - thanh toán, cấu trúc mã nguồn web server NestJS và giao diện Vue.js, đi kèm đánh giá kết quả đạt được và hướng phát triển.

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

Khóa luận đã hoàn thành việc nghiên cứu, thiết kế và xây dựng thành công phiên bản thực nghiệm của website thương mại điện tử chuyên ngành bán sách. Các kết quả kỹ thuật cụ thể đã đạt được bao gồm:

  • Phân tích và đặc tả hoàn chỉnh 13 ca sử dụng cốt lõi bao quát toàn bộ quy trình mua sắm của khách hàng và nghiệp vụ giám sát của quản trị viên.
  • Xây dựng thành công hệ thống phần mềm theo kiến trúc Client - Server hiện đại, tách biệt hoàn toàn giữa giao diện người dùng (Vue.js, Ant Design, Vuetify) và dịch vụ máy chủ xử lý dữ liệu (Node.js, NestJS, TypeScript) thông qua hệ thống RESTful API endpoints.
  • Tích hợp thành công cơ chế lưu trữ NoSQL trên MongoDB, xử lý linh hoạt các trường dữ liệu sách, thông tin tài khoản và đơn hàng.
  • Hiện thực hóa quy trình thanh toán đa dạng, tích hợp cổng thanh toán trực tuyến VNPay song song với phương thức thanh toán tiền mặt khi nhận hàng (COD).
  • Thiết lập đầy đủ các luồng kiểm tra dữ liệu hợp lệ (validation) trên giao diện và backend, ngăn chặn sai sót định dạng email, mật khẩu, trùng lặp tài khoản và kiểm soát số lượng mua hàng tối thiểu.

Về mặt nhân sự và tỷ lệ đóng góp trong nghiên cứu, văn bản khóa luận ghi nhận sự phân công công việc cụ thể giữa hai thành viên:

Sinh viên thực hiện Mã sinh viên Tỷ lệ đóng góp Nội dung công việc đảm nhiệm
Bùi Doãn Khải A35011 70% – 80% Thực hiện toàn bộ dự án kỹ thuật (project) và xây dựng báo cáo thuyết trình Powerpoint.
Nguyễn Thị Việt Anh A39437 20% – 30% Phụ trách phát triển chức năng Đăng ký, Đăng nhập, Quản lý thông tin cá nhân (Profile) và tham gia viết báo cáo khóa luận.

Về giá trị ứng dụng, giải pháp đề xuất của khóa luận đã mô hình hóa và số hóa thành công các khâu vận hành của một cửa hàng sách trực tuyến, hỗ trợ người tiêu dùng tiếp cận nguồn tài liệu học tập và văn hóa phẩm một cách thuận tiện, đồng thời giảm thiểu chi phí quản lý vận hành bán hàng truyền thống.

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

Khóa luận phản ánh một số hạn chế kỹ thuật cụ thể đã được nhóm tác giả tự ghi nhận trong văn bản:

  • Chức năng đánh giá và bình luận sản phẩm (UC#07) mới chỉ dừng lại ở việc xây dựng giao diện người dùng sử dụng dữ liệu mô phỏng giả lập (mockup data) để thể hiện cách hiển thị số sao và nhận xét của từng cuốn sách, chưa được kết nối hoàn chỉnh với cơ sở dữ liệu thực tế để lưu trữ và kiểm duyệt phản hồi từ người mua hàng thực tế.
  • Nhóm tác giả thừa nhận do kiến thức và kinh nghiệm còn hạn chế nên quá trình triển khai và thực hiện khóa luận không tránh khỏi những sai sót kỹ thuật và nghiệp vụ phát sinh chưa được bao quát triệt để.

Về hướng phát triển tiếp theo (được định vị tại mục 5.2.2 trong cấu trúc khóa luận), đề tài cần tập trung hoàn thiện module đánh giá sản phẩm thực tế, mở rộng hệ thống báo cáo thống kê chuyên sâu cho quản trị viên, tối ưu hóa hơn nữa hiệu năng xử lý truy vấn của cơ sở dữ liệu và nâng cấp trải nghiệm người dùng trên các thiết bị di động.

Giá trị tham khảo

Báo cáo khóa luận tốt nghiệp này là nguồn tài liệu tham khảo hữu ích cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Hệ thống thông tin và Kỹ thuật phần mềm đang chuẩn bị thực hiện đồ án tốt nghiệp hoặc các dự án môn học liên quan đến lĩnh vực phát triển ứng dụng thương mại điện tử.
  • Các lập trình viên hoặc nhóm nghiên cứu muốn tìm hiểu mô hình ứng dụng thực tế của kiến trúc Client - Server sử dụng hệ sinh thái JavaScript/TypeScript hiện đại, cụ thể là sự kết hợp giữa Vue.js (kết hợp Ant Design, Vuetify) ở tầng giao diện và NestJS (trên nền Node.js) ở tầng máy chủ dịch vụ.
  • Phần đáng tham khảo nhất của tài liệu là Chương 2 và Chương 3, nơi tác giả cung cấp bộ khung phân tích yêu cầu, phân rã ca sử dụng và các bảng đặc tả use case rất chặt chẽ, liệt kê đầy đủ các kịch bản sự kiện chính cùng các kịch bản ngoại lệ trong việc kiểm soát dữ liệu người dùng và giỏ hàng.

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

1. Khóa luận phân định quyền hạn cho những nhóm tác nhân nào trong hệ thống?
Hệ thống xác định hai nhóm tác nhân chính: Khách hàng (người mua hàng trực tuyến, có quyền đăng ký, đăng nhập, tìm kiếm sản phẩm, quản lý giỏ hàng, đặt hàng, thanh toán trực tuyến qua VNPay hoặc COD, theo dõi đơn hàng cá nhân và xem đánh giá) và Quản trị viên (người quản lý ứng dụng, có quyền quản lý người dùng, quản trị đơn hàng, cập nhật danh mục, thêm/sửa/xóa sản phẩm và quản lý các thông tin website như tác giả, nhà phát hành).

2. Công nghệ nào được lựa chọn để phát triển hai tầng Client và Server của website?
Tầng Client được xây dựng bằng framework Vue.js kết hợp thư viện giao diện Ant Design, Vuetify và scss. Tầng Server được phát triển trên nền tảng Node.js sử dụng framework NestJS với ngôn ngữ TypeScript, kết nối với hệ quản trị cơ sở dữ liệu NoSQL MongoDB và giao tiếp qua kiến trúc RESTful API.

3. Khách hàng có thể sử dụng những phương thức thanh toán nào khi mua sách trên hệ thống?
Khách hàng được cung cấp hai phương thức thanh toán linh hoạt tại giao diện đặt hàng: thanh toán khi nhận hàng (COD - được thiết lập làm mặc định) và thanh toán trực tuyến qua ví điện tử VNPay.

4. Chức năng bình luận và đánh giá sản phẩm (UC#07) đã được hiện thực hóa ở mức độ nào?
Theo ghi nhận chính thức trong văn bản khóa luận, chức năng UC#07 hiện tại mới chỉ là bản giao diện người dùng (UI) sử dụng dữ liệu giả lập (mockup data) để minh họa cơ chế hiển thị số sao đánh giá và nội dung bình luận của người dùng đối với từng cuốn sách, chưa liên kết luồng dữ liệu thật vào backend.

5. Mức độ phân công đóng góp giữa hai sinh viên thực hiện đề tài được ghi nhận như thế nào?
Trong bảng phân chia công việc ở đầu khóa luận, sinh viên Bùi Doãn Khải đảm nhận 70% – 80% khối lượng công việc (phụ trách toàn bộ project kỹ thuật và báo cáo Powerpoint), sinh viên Nguyễn Thị Việt Anh đảm nhận 20% – 30% khối lượng công việc (phụ trách các module đăng ký, đăng nhập, thông tin cá nhân và báo cáo).

Kết luận

Khóa luận tốt nghiệp "Xây dựng website bán sách" của sinh viên Bùi Doãn Khải và Nguyễn Thị Việt Anh, dưới sự hướng dẫn của TS Nguyễn Thị Huyền Châu tại Trường Đại học Thăng Long (2024), đã hoàn thành mục tiêu thiết kế và cài đặt một nền tảng thương mại điện tử chuyên ngành sách. Đề tài vận dụng hiệu quả mô hình kiến trúc phân tách Client - Server thông qua việc kết hợp các công nghệ hiện đại gồm Vue.js, NestJS, Node.js và MongoDB, đồng thời tích hợp cổng thanh toán VNPay và phương thức giao hàng COD. Khóa luận cung cấp một tài liệu đặc tả chức năng chi tiết, có giá trị tham khảo rõ ràng cho sinh viên khối ngành kỹ thuật phần mềm khi tiếp cận bài toán xây dựng hệ thống bán hàng trực tuyến.