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

Trong bối cảnh kinh doanh trực tuyến phát triển mạnh mẽ, các trang web thương mại điện tử (TMĐT) đã trở thành một kênh tiếp thị và phân phối hàng hóa thiết yếu bên cạnh mạng xã hội. Tuy nhiên, sự gia tăng nhanh chóng của các nền tảng bán hàng trực tuyến dẫn đến mức độ cạnh tranh gay gắt. Người tiêu dùng khi truy cập vào các hệ thống TMĐT thường có nhu cầu tìm kiếm sản phẩm nhanh chóng và thuận tiện, nhưng phần lớn họ mới chỉ dừng lại ở các ý tưởng mua sắm khái quát, chưa xác định rõ thương hiệu hay sản phẩm cụ thể. Thực trạng này dẫn đến thói quen người dùng tìm kiếm thông tin qua Google thay vì truy cập trực tiếp vào từng trang TMĐT. Do đó, mục tiêu cốt lõi của một hệ thống thương mại điện tử hiện đại là hỗ trợ khách hàng thu hẹp phạm vi lựa chọn và đưa ra quyết định mua hàng chính xác.

Đề tài "Xây dựng hệ thống thương mại điện tử ứng dụng máy học để gợi ý sản phẩm" (tên hệ thống: Pandore) do nhóm sinh viên Lê Viết Thắng (20IT526) và Lê Thị Hồng Quý (20IT468), lớp 20GIT thuộc Khoa Khoa học Máy tính – Trường Đại học Công nghệ Thông tin và Truyền thông Việt - Hàn (VKU) thực hiện dưới sự hướng dẫn của TS. Nguyễn Quang Vũ vào tháng 12 năm 2023.

Mục tiêu và nhiệm vụ của đề tài được xác định cụ thể:

  1. Xây dựng nền tảng thương mại điện tử Pandore hoàn chỉnh phục vụ hai nhóm đối tượng tác nhân:
    • Khách hàng (Customer): Cung cấp các chức năng duyệt danh mục, tìm kiếm, đặt hàng không giới hạn số lượng, thanh toán trực tuyến, theo dõi trạng thái đơn hàng và đánh giá sản phẩm.
    • Quản trị viên (Administrator): Quản lý toàn diện hệ thống từ dữ liệu tài khoản, danh mục sản phẩm, kho hàng, phiếu nhập, chương trình khuyến mãi đến thống kê doanh thu và đơn hàng.
  2. Tích hợp mô hình máy học với giải thuật gợi ý sản phẩm tự động nhằm cá nhân hóa trải nghiệm người dùng, giúp khách hàng nhanh chóng tiếp cận các sản phẩm phù hợp với sở thích.

Đối tượng và phạm vi nghiên cứu của đồ án bao gồm:

  • Đối tượng nghiên cứu: Quy trình phân tích, thiết kế và phát triển ứng dụng web thương mại điện tử; giải thuật lọc cộng tác (Collaborative Filtering Recommenders) và hệ số tương quan Pearson trong hệ thống gợi ý.
  • Phạm vi triển khai: Hệ thống web thương mại điện tử bán lẻ tích hợp thanh toán (COD, PayPal, VNPAY) và mô-đun gợi ý sản phẩm độc lập xây dựng bằng Python kết nối máy chủ Node.js và cơ sở dữ liệu MySQL.

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

Khung lý thuyết và mô hình giải thuật

Hệ thống gợi ý (Recommender System) là một ứng dụng tiêu biểu của khoa học dữ liệu nhằm dự đoán mức độ quan tâm hoặc điểm đánh giá (rating/preference) của người dùng đối với một sản phẩm/dịch vụ. Báo cáo phân loại hệ thống gợi ý thành bốn nhóm chính:

  • Simple Recommenders (Gợi ý đơn giản): Đưa ra các đề xuất chung cho tất cả người dùng dựa trên mức độ phổ biến hoặc thể loại (ví dụ: bảng xếp hạng Top 250 của IMDb).
  • Content-based Recommenders (Gợi ý dựa trên nội dung): Gợi ý các sản phẩm tương tự dựa trên siêu dữ liệu (metadata) của sản phẩm mà người dùng từng quan tâm (ví dụ: thể loại, mô tả, thuộc tính).
  • Collaborative Filtering Recommenders (Gợi ý lọc cộng tác): Dự đoán sở thích của người dùng dựa trên hành vi và lịch sử đánh giá trong quá khứ của những người dùng khác có nét tương đồng, không phụ thuộc vào siêu dữ liệu sản phẩm.
  • Hybrid Recommenders (Gợi ý lai): Kết hợp linh hoạt giữa lọc dựa trên nội dung và lọc cộng tác nhằm bù đắp hạn chế của từng phương pháp khi thiếu dữ liệu hành vi hoặc thiếu thuộc tính đánh giá.

Trong đồ án này, tác giả tập trung triển khai kỹ thuật Lọc cộng tác (Collaborative Filtering) thông qua hai hướng tiếp cận:

  • User-User Collaborative Filtering: Xác định mức độ quan tâm của một người dùng đối với sản phẩm dựa trên mức độ quan tâm của các người dùng tương đồng.
  • Item-Item Collaborative Filtering: Xác định độ tương đồng giữa các sản phẩm dựa trên lịch sử đánh giá để đề xuất các sản phẩm gần với sản phẩm người dùng yêu thích.

Độ tương đồng giữa các thực thể được tính toán bằng Hệ số tương quan Pearson (Pearson Correlation Coefficient - $r$), có giá trị nằm trong khoảng $[-1, 1]$:

  • $r = 1$: Tương quan tuyến tính thuận tuyệt đối.
  • $r = -1$: Tương quan tuyến tính nghịch tuyệt đối.
  • $r = 0$: Hai biến độc lập, không có tương quan tuyến tính.
  • $|r| \ge 0.50$: Mức độ tương quan mạnh (strongly correlated).
  • $0.30 \le |r| \le 0.49$: Mức độ tương quan trung bình (mean correlation).
  • $|r| \le 0.29$: Mức độ tương quan yếu (weak correlation).
                             ∑(X - X̄)(Y - Ȳ)
r = -----------------------------------------------------------------
     √[ ∑(X - X̄)² ] × √[ ∑(Y - Ȳ)² ]

Công nghệ và công cụ phát triển

Phân hệ / Vai trò Công nghệ / Công cụ Đặc tính kỹ thuật áp dụng
Giao diện (Frontend) ReactJS Sử dụng Virtual DOM tối ưu hóa hiệu năng render, cú pháp JSX, cơ chế luồng dữ liệu một chiều (One-way data binding) qua Props và State, đóng gói qua Babel/Webpack, kết hợp mô hình quản lý luồng dữ liệu (Redux/Flux).
Máy chủ ứng dụng (Backend) Node.js Xây dựng REST API trên môi trường runtime V8 của Chrome, xử lý I/O hướng sự kiện bất đồng bộ (asynchronous event-driven I/O).
Máy chủ gợi ý (Recommendation) Python & Flask Xây dựng API tính toán ma trận đánh giá, xử lý các giá trị khuyết thiếu (NaN), tính toán hệ số tương quan Pearson thông qua phương thức corr(method='pearson') và trả dữ liệu định dạng JSON.
Cơ sở dữ liệu & Môi trường MySQL, XAMPP Lưu trữ dữ liệu quan hệ của hệ thống; XAMPP cung cấp môi trường tích hợp Apache, MySQL và phpMyAdmin.
Môi trường lập trình Visual Studio Code Trình soạn thảo mã nguồn tích hợp Git, công cụ gỡ lỗi (debugging) và hỗ trợ mở rộng.

Thiết kế và triển khai

Hệ thống Pandore được thiết kế theo phương pháp hướng đối tượng sử dụng ngôn ngữ mô hình hóa UML (Unified Modeling Language), bao gồm phân tích biểu đồ ca sử dụng (Use Case), biểu đồ hoạt động (Activity Diagram), biểu đồ tuần tự (Sequence Diagram) và biểu đồ lớp (Class Diagram).

+-------------------------------------------------------------+
|                      ReactJS Client                         |
|  (Home, Search, Details, Cart, Checkout, Admin Dashboard)   |
+------------------------------+------------------------------+
                               | (HTTP / REST API)
                               v
+-------------------------------------------------------------+
|                    Node.js Application Server               |
|   (Auth, Cart/Order APIs, Email Service, Payment Gateway)   |
+--------------+-------------------------------+--------------+
               |                               ^
               | (Database Queries)            | (Internal API / JSON)
               v                               |
+------------------------------+ +-------------+--------------+
|         MySQL Database       |<|     Python Flask Server    |
| (Users, Products, Ratings,   | |  (Matrix Processing, NaN   |
|   Orders, Categories, Promos)| |   Handling, Pearson Corr)  |
+------------------------------+ +----------------------------+

Phân tích biểu đồ ca sử dụng (Use Case)

Hệ thống phân quyền cho hai tác nhân chính với danh mục 17 nhóm ca sử dụng chi tiết:

Nhóm tác nhân Ca sử dụng (Use Case) Mô tả chức năng chính
Customer (Khách hàng) Đăng ký, đăng nhập Tạo tài khoản, xác thực qua email và đăng nhập vào hệ thống.
Tìm kiếm sản phẩm Nhập từ khóa, hệ thống truy vấn cơ sở dữ liệu và trả về danh sách sản phẩm.
Xem chi tiết sản phẩm Hiển thị thông số kỹ thuật, hình ảnh, giá và các đánh giá liên quan.
Gợi ý sản phẩm Hiển thị danh sách sản phẩm gợi ý dựa trên mô hình lọc cộng tác khi người dùng đã đánh giá ít nhất 1 sản phẩm.
Thêm vào giỏ hàng & Quản lý giỏ hàng Lưu trữ thông tin sản phẩm đã chọn vào localStorage của trình duyệt.
Nhập mã khuyến mãi Kiểm tra tính hợp lệ của mã giảm giá và tính toán số tiền giảm trừ trực tiếp vào đơn hàng.
Đánh giá & xếp hạng sao Gửi bình luận và xếp hạng sao cho sản phẩm sau khi mua.
Quản lý thông tin cá nhân Xem, chỉnh sửa và cập nhật hồ sơ cá nhân.
Đặt hàng qua hệ thống Xác nhận thông tin đơn hàng, gửi email xác nhận và lưu trữ vào cơ sở dữ liệu.
Theo dõi đơn hàng Kiểm tra tiến trình đơn hàng theo các trạng thái: Processing, Delivering, Completed, Canceled, Return/Refund.
Phương thức thanh toán Hỗ trợ thanh toán khi nhận hàng (Cash on delivery - COD), cổng thanh toán PayPal và VNPAY.
Administrator (Quản trị viên) Thống kê tổng quan Báo cáo thống kê đơn hàng trong ngày, trong tháng, tổng doanh thu tháng qua biểu đồ cột và biểu đồ tròn.
Quản lý tài khoản người dùng Thêm mới, chỉnh sửa thông tin, thay đổi trạng thái tài khoản (Active, Lock, Not verified), xóa tài khoản.
Quản lý tài khoản Admin Thêm mới, phân quyền, cập nhật trạng thái (Active, Lock) và chỉnh sửa tài khoản quản trị.
Quản lý danh mục sản phẩm Thêm mới, sửa thông tin, xóa các danh mục hàng hóa.
Quản lý sản phẩm Thêm mới, cập nhật mô tả/hình ảnh/giá, xóa sản phẩm khỏi hệ thống.
Quản lý phiếu nhập (Receipt) Tạo phiếu nhập kho, xuất hóa đơn chứng từ, chỉnh sửa và xóa phiếu.
Quản lý kho hàng (Warehouse) Nhập hàng vào kho, cập nhật số lượng tồn kho của từng mặt hàng.
Quản lý sự kiện khuyến mãi Tạo sự kiện giảm giá, thiết lập khung thời gian áp dụng, chỉnh sửa mã ưu đãi.
Quản lý bình luận & đánh giá Duyệt, kiểm soát và xóa các đánh giá, bình luận không phù hợp.

Quy trình nghiệp vụ và sơ đồ thiết kế

  1. Biểu đồ hoạt động (Activity Diagrams):
    • Chức năng Đăng ký: Khách hàng nhập thông tin $\rightarrow$ Hệ thống kiểm tra dữ liệu $\rightarrow$ Gửi mã/email xác thực $\rightarrow$ Kích hoạt tài khoản khi xác nhận thành công.
    • Chức năng Đăng nhập: Người dùng nhập email và mật khẩu $\rightarrow$ Hệ thống xác thực với cơ sở dữ liệu $\rightarrow$ Trả về phiên đăng nhập hoặc thông báo lỗi.
    • Chức năng Đặt hàng: Chọn giỏ hàng $\rightarrow$ Nhập thông tin giao hàng & mã khuyến mãi (nếu có) $\rightarrow$ Lựa chọn phương thức thanh toán (COD / PayPal / VNPAY) $\rightarrow$ Ghi nhận đơn hàng và gửi email xác nhận.
  2. Biểu đồ tuần tự (Sequence Diagrams):
    • Mô tả chi tiết chuỗi thông điệp tương tác giữa tác nhân người dùng, giao diện ReactJS, máy chủ ứng dụng Node.js, máy chủ gợi ý Python/Flask và cơ sở dữ liệu MySQL cho các luồng: Đăng ký, Đăng nhập, Xem chi tiết sản phẩm, Đặt hàng, Thêm sản phẩm yêu thích.

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

Chương 1: Tổng quan nghiên cứu (Research Overview)

Chương này tập trung giới thiệu cơ sở lý luận, công nghệ và các công cụ phát triển phần mềm:

  • Phân tích chi tiết thư viện ReactJS: cơ chế Virtual DOM giúp tối ưu hóa việc cập nhật giao diện, cú pháp JSX kết hợp HTML trong JavaScript, cấu trúc Component có thể tái sử dụng, phân biệt giữa Props (bất biến, truyền từ cha xuống con) và State (quản lý trạng thái nội bộ). Đồng thời, nêu rõ ưu điểm về hiệu năng, khả năng hỗ trợ SEO khi kết hợp kết xuất phía máy chủ (server-side rendering) và hạn chế khi ReactJS chỉ đóng vai trò tầng View trong kiến trúc ứng dụng.
  • Khảo sát nền tảng Node.js: đặc trưng đơn luồng (single-threaded), mô hình I/O bất đồng bộ hướng sự kiện, ưu điểm trong xử lý ứng dụng mạng thời gian thực, khả năng mở rộng và nhược điểm khi xử lý các tác vụ tiêu tốn nhiều tài nguyên CPU hoặc tương tác với cơ sở dữ liệu quan hệ phức tạp.
  • Khảo sát ngôn ngữ Python: tính năng thông dịch, cú pháp dễ đọc, hệ thống thư viện phong phú cho phân tích dữ liệu và học máy.
  • Trình bày tổng quan về Hệ thống gợi ý (Recommender Systems): các bước xây dựng (khám phá dữ liệu, lựa chọn thuật toán, huấn luyện mô hình), bốn mô hình gợi ý chính và cơ sở toán học của hệ số tương quan Pearson.
  • Giới thiệu các công cụ hỗ trợ: Visual Studio Code, phần mềm tạo máy chủ cục bộ XAMPP và hệ quản trị cơ sở dữ liệu quan hệ MySQL.

Chương 2: Phân tích và thiết kế hệ thống (System Analysis and Design)

Chương 2 trình bày chi tiết kiến trúc nghiệp vụ và mô hình hóa hệ thống:

  • Phân tích cơ chế hoạt động của thuật toán lọc cộng tác (Collaborative Filtering) thông qua ví dụ trực quan về việc xác định mức độ tương đồng đánh giá giữa các người dùng (User A, User B) đối với các sản phẩm công nghệ (máy tính xách tay Acer, tivi LG).
  • Định nghĩa chi tiết danh mục 17 Use Case với bảng đặc tả thuộc tính cho từng chức năng: Tên chức năng (Function name), Tác nhân (Agent), Điều kiện tiên quyết (Pre-conditions), Kết quả đầu ra (The following conditions), Mô tả hành vi (Description) và Các bước hành động tương ứng giữa tác nhân và hệ thống (Agent action - System action).
  • Xây dựng hệ thống các biểu đồ UML: Sơ đồ Use Case tổng quát, các sơ đồ Use Case chi tiết, sơ đồ hoạt động (Activity Diagram), sơ đồ tuần tự (Sequence Diagram) và sơ đồ lớp (Class Diagram) thể hiện cấu trúc các thực thể dữ liệu trong hệ thống.

Chương 3: Hiện thực hóa và xây dựng hệ thống (Implementation and Building System)

Chương 3 mô tả quy trình lập trình và kết quả xây dựng hệ thống:

  • Cài đặt và cấu hình các thư viện phụ thuộc cho ReactJS, Python (Flask, thư viện JSON) và Node.js.
  • Xây dựng mô-đun gợi ý sản phẩm bằng Python: thiết lập kết nối cơ sở dữ liệu MySQL, trích xuất dữ liệu xếp hạng sao của người dùng, tạo lập ma trận đánh giá người dùng - sản phẩm, xử lý dữ liệu khuyết (NaN), áp dụng hàm corr(method='pearson') để tính toán ma trận hệ số tương quan và xuất kết quả dạng JSON.
  • Xây dựng hệ thống máy chủ Node.js kết nối cơ sở dữ liệu, quản lý phiên làm việc và định tuyến API.
  • Triển khai hoàn chỉnh giao diện người dùng và bảng điều khiển quản trị của hệ thống Pandore:
    • Giao diện khách hàng: Trang chủ, phân loại sản phẩm theo danh mục, trang đăng nhập/đăng ký, giao diện xác thực email, trang danh sách yêu thích, trang tìm kiếm, trang chi tiết sản phẩm, giao diện gợi ý sản phẩm liên quan, giỏ hàng, trang thanh toán tích hợp PayPal và VNPAY, trang quản lý hồ sơ cá nhân và xem hóa đơn đơn hàng.
    • Giao diện quản trị (Admin Dashboard): Quản lý danh sách tài khoản người dùng và tài khoản quản trị (thêm, sửa, khóa trạng thái), quản lý danh mục sản phẩm (thêm/sửa/xóa), quản lý danh sách sản phẩm, quản lý chương trình khuyến mãi, quản lý bình luận và đánh giá sao.

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

Kết quả chính

  • Xây dựng hoàn chỉnh hệ thống TMĐT Pandore: Triển khai thành công ứng dụng web với đầy đủ các phân hệ chức năng dành cho khách hàng và ban quản trị, đáp ứng quy trình mua sắm trực tuyến khép kín.
  • Tích hợp mô hình học máy gợi ý sản phẩm: Xây dựng mô-đun Python/Flask tính toán tương quan Pearson dựa trên giải thuật lọc cộng tác, tự động đưa ra các đề xuất sản phẩm phù hợp trên trang chi tiết sản phẩm khi người dùng đã có lịch sử tương tác đánh giá.
  • Đa dạng hóa cổng thanh toán: Tích hợp thành công ba hình thức thanh toán gồm COD, cổng thanh toán quốc tế PayPal và cổng thanh toán nội địa VNPAY.
  • Hệ thống quản trị trực quan: Cung cấp cho quản trị viên công cụ theo dõi hoạt động kinh doanh thông qua biểu đồ thống kê đơn hàng và doanh thu theo ngày/tháng, quản lý kho hàng và phiếu nhập.

Đóng góp thực tiễn

  • Đề tài đưa ra một mô hình kiến trúc kết hợp hiệu quả giữa frontend hiện đại (ReactJS), backend xử lý nghiệp vụ mạng nhanh (Node.js) và dịch vụ xử lý học máy chuyên biệt (Python/Flask), giải quyết được bài toán hạn chế về khả năng tính toán nặng (CPU-intensive) của môi trường Node.js đơn luồng.
  • Cung cấp tài liệu phân tích thiết kế hệ thống chi tiết với 17 bảng đặc tả ca sử dụng và đầy đủ các sơ đồ UML, tạo tiền đề chuẩn hóa cho việc phát triển các ứng dụng TMĐT có tính năng gợi ý thông minh.

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

  • Hạn chế kỹ thuật:
    • Giải thuật lọc cộng tác dựa trên hệ số tương quan Pearson yêu cầu điều kiện người dùng phải đăng nhập và đã đánh giá ít nhất một sản phẩm trên hệ thống (Pre-conditions: rated at least one product). Đối với người dùng mới hoàn toàn chưa có tương tác (vấn đề Cold-Start), hệ thống chưa thể đưa ra gợi ý cá nhân hóa chính xác.
    • Việc xử lý ma trận và tính toán tương quan trực tiếp trên cơ sở dữ liệu quan hệ có thể gặp thách thức về độ trễ khi khối lượng người dùng và sản phẩm tăng trưởng đột biến.
  • Hướng mở rộng:
    • Nghiên cứu và triển khai mô hình gợi ý lai (Hybrid Recommenders), kết hợp lọc dựa trên nội dung (Content-based Filtering) dựa trên siêu dữ liệu sản phẩm khi hệ thống thiếu dữ liệu đánh giá của người dùng.
    • Tối ưu hóa hiệu năng mô hình gợi ý, áp dụng các kỹ thuật phân rã ma trận hoặc học sâu (Deep Learning) để nâng cao tốc độ phản hồi và độ chính xác của các đề xuất.

Giá trị tham khảo

Báo cáo đồ án là tài liệu tham khảo có giá trị chuyên môn cao cho:

  • Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Khoa học Máy tính: Học hỏi phương pháp phân tích thiết kế hệ thống hướng đối tượng theo chuẩn UML; cách viết tài liệu đặc tả ca sử dụng (Use Case specifications) rõ ràng và mạch lạc.
  • Người phát triển ứng dụng Web & AI: Tham khảo kiến trúc tích hợp giữa ReactJS, Node.js và dịch vụ học máy Python/Flask; quy trình xây dựng tính năng gợi ý sản phẩm bằng thuật toán lọc cộng tác ma trận tương quan Pearson; phương thức kết nối các cổng thanh toán phổ biến (PayPal, VNPAY).

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

1. Hệ thống thương mại điện tử trong đồ án có tên là gì và phục vụ những nhóm đối tượng nào?

Hệ thống có tên là Pandore, được thiết kế để phục vụ hai nhóm đối tượng chính: Khách hàng (Customer) với nhu cầu tìm kiếm, đặt hàng không giới hạn số lượng, thanh toán và nhận gợi ý sản phẩm; Quản trị viên (Administrator) thực hiện quản lý toàn bộ hệ thống từ người dùng, sản phẩm, đơn hàng, kho hàng đến báo cáo doanh thu.

2. Đồ án sử dụng giải thuật nào để thực hiện tính năng gợi ý sản phẩm?

Đồ án ứng dụng giải thuật Lọc cộng tác (Collaborative Filtering) thông qua việc tính toán Hệ số tương quan Pearson (Pearson Correlation Coefficient) giữa các vector đánh giá của người dùng. Mô-đun sử dụng hàm corr(method='pearson') trong Python để xác định độ tương đồng và trích xuất danh sách sản phẩm gợi ý.

3. Kiến trúc hệ thống phân chia vai trò giữa các công nghệ như thế nào?

  • ReactJS: Xây dựng giao diện tương tác người dùng (Frontend), quản lý giỏ hàng qua localStorage và gửi yêu cầu API.
  • Node.js: Đóng vai trò máy chủ ứng dụng (Backend Server), xử lý xác thực, quản lý đơn hàng, điều hướng thanh toán và gửi email.
  • Python (Flask): Đóng vai trò máy chủ tính toán học máy riêng biệt, kết nối MySQL để lập ma trận đánh giá, xử lý giá trị NaN, tính hệ số Pearson và trả kết quả gợi ý dạng JSON.
  • MySQL (XAMPP): Lưu trữ toàn bộ dữ liệu quan hệ của hệ thống.

4. Điều kiện tiên quyết để khách hàng nhận được gợi ý sản phẩm trên hệ thống là gì?

Theo bảng đặc tả ca sử dụng (Table 2.6 - Use case product recommend), điều kiện tiên quyết là khách hàng phải đăng nhập thành công vào hệ thống và đã đánh giá (rated) ít nhất một sản phẩm.

5. Hệ thống Pandore hỗ trợ những phương thức thanh toán nào?

Hệ thống hỗ trợ 3 hình thức thanh toán chính: Thanh toán tiền mặt khi nhận hàng (Cash on delivery - COD), thanh toán trực tuyến qua cổng quốc tế PayPal và cổng thanh toán VNPAY.


Kết luận

Đồ án chuyên ngành "Xây dựng hệ thống thương mại điện tử ứng dụng máy học để gợi ý sản phẩm" của sinh viên Lê Viết Thắng và Lê Thị Hồng Quý (Trường Đại học Công nghệ Thông tin và Truyền thông Việt - Hàn) đã xây dựng thành công nền tảng TMĐT Pandore hoàn chỉnh về cả mặt nghiệp vụ bán hàng lẫn tính năng thông minh. Bằng cách kết hợp linh hoạt giữa ReactJS, Node.js và mô-đun học máy Python sử dụng giải thuật lọc cộng tác qua hệ số tương quan Pearson, hệ thống giải quyết hiệu quả nhu cầu cá nhân hóa trải nghiệm mua sắm của người dùng. Tài liệu đồ án thể hiện quy trình phát triển phần mềm chặt chẽ từ khảo sát lý thuyết, mô hình hóa UML đến triển khai thực tế, đóng vai trò là một nguồn tham khảo hữu ích cho các dự án kỹ thuật phần mềm ứng dụng trí tuệ nhân tạo.