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

Trong bối cảnh chuyển đổi số và sự phát triển mạnh mẽ của mạng Internet, thương mại điện tử đã trở thành một kênh phân phối thiết yếu đối với các tổ chức và cá nhân kinh doanh. Đặc biệt, thị trường các sản phẩm kỹ thuật số (digital assets) như bộ giao diện (UI kit), mẫu thiết kế đồ họa, thành phần mã nguồn, tài liệu và ấn phẩm điện tử đang có nhu cầu giao dịch trực tuyến ngày càng cao. Khác với hàng hóa vật lý thông thường, sản phẩm số không đòi hỏi quy trình vận chuyển kho bãi phức tạp nhưng lại đặt ra những yêu cầu khắt khe về nền tảng lưu trữ tệp tin dung lượng lớn, cơ chế phân phối tải nhanh, bảo mật bản quyền và gợi ý sản phẩm phù hợp với thị hiếu người dùng.

Khóa luận tốt nghiệp của sinh viên Lê Kiên Trung (MSSV: 20110587) và Trần Mai Tuệ (MSSV: 20110410) dưới sự hướng dẫn của ThS. Nguyễn Hữu Trung tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (Khoa Công nghệ Thông tin, chuyên ngành Công nghệ phần mềm) tập trung giải quyết bài toán thiết kế, xây dựng và triển khai một nền tảng thương mại điện tử chuyên biệt dành cho các sản phẩm số, ứng dụng ngăn xếp công nghệ MERN stack mở rộng kết hợp thuật toán gợi ý độ tương đồng.

Mục tiêu nghiên cứu của đề tài:

  1. Tạo ra trải nghiệm người dùng vượt trội: Thiết kế giao diện thân thiện, trực quan, tốc độ tải trang nhanh, cung cấp bộ lọc và công cụ tìm kiếm hiệu quả.
  2. Cung cấp nền tảng kỹ thuật vững chắc: Xây dựng hệ thống ổn định, hiệu năng cao và có khả năng mở rộng dựa trên Node.js, Express, MongoDB, Next.js và ReactJS.
  3. Tối ưu hóa quy trình kinh doanh và quản lý: Cung cấp công cụ cho phép người bán quản lý sản phẩm, đơn hàng, bộ sưu tập và tích hợp quy trình thanh toán trực tuyến an toàn.
  4. Đảm bảo bảo mật và tuân thủ quy định: Ứng dụng mã hóa JSON Web Token (JWT), xác thực hai yếu tố (2FA), mã hóa SSL và tuân thủ các quy định bảo vệ dữ liệu cá nhân như GDPR.
  5. Hỗ trợ và phát triển kinh doanh: Ứng dụng thuật toán Cosine Similarity để tự động gợi ý các sản phẩm số tương đồng dựa trên đặc trưng kỹ thuật, danh mục, giá thành và đánh giá.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Người tiêu dùng/khách hàng mua sản phẩm số, các nhà kinh doanh/tác giả sáng tạo nội dung số, và các công nghệ phát triển web full-stack hiện đại (Node.js, Express, MongoDB, ReactJS, Next.js, Tailwind CSS, Azure Blob Storage, JWT, Cosine Similarity).
  • Phạm vi kỹ thuật: Phát triển Backend API với Node.js và Express; xây dựng Frontend người dùng với Next.js và Tailwind CSS; xây dựng giao diện Admin với ReactJS; lưu trữ dữ liệu với MongoDB; lưu trữ tài nguyên số và hình ảnh trên Microsoft Azure Blob Storage; xác thực API qua JWT.
  • Phạm vi nghiệp vụ: Quản trị danh mục sản phẩm, gian hàng của nhà kinh doanh, giỏ hàng, đặt hàng, xử lý thanh toán trực tuyến qua thẻ (Visa), đánh giá sản phẩm, theo dõi người dùng và thống kê doanh thu.
  • Phạm vi thời gian và không gian: Đề tài được thực hiện từ ngày 04/03/2024 đến ngày 01/07/2024 tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.

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

Khóa luận kết hợp nghiên cứu lý thuyết nền tảng kỹ thuật phần mềm, khảo sát đối chuẩn các hệ thống thực tế và ứng dụng thuật toán toán học vào bài toán gợi ý sản phẩm.

Khung công nghệ và nền tảng lý thuyết

  • Node.js và Express Framework: Môi trường thực thi JavaScript phía máy chủ xây dựng trên V8 Engine của Google Chrome, sử dụng mô hình sự kiện bất đồng bộ và kiến trúc non-blocking I/O giúp xử lý đồng thời nhiều kết nối mạng. Express là framework web tối giản cung cấp hệ thống middleware và định tuyến (routing) mạnh mẽ để xây dựng các RESTful API.
  • MongoDB: Hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu (document-oriented), lưu trữ dữ liệu dưới cấu trúc BSON/JSON linh hoạt không ràng buộc lược đồ tĩnh, hỗ trợ kỹ thuật phân mảnh dữ liệu (sharding) để mở rộng theo chiều ngang.
  • Kiến trúc RESTful API: Chuẩn giao tiếp hệ thống dựa trên giao thức HTTP với các phương thức CRUD chuẩn (GET, POST, PUT, DELETE), đảm bảo tính chất không trạng thái (stateless) và trao đổi dữ liệu dạng JSON.
  • JSON Web Token (JWT - RFC 7519): Chuẩn mở phục vụ việc xác thực và phân quyền người dùng không trạng thái, cấu trúc gồm ba phần phân tách bằng dấu chấm: Header (thuật toán mã hóa), Payload (thông tin định danh và claims) và Signature (chữ ký số bảo đảm tính toàn vẹn).
  • ReactJS và Next.js: ReactJS cung cấp mô hình phát triển giao diện dựa trên thành phần (Component-based), Virtual DOM và luồng dữ liệu một chiều. Next.js mở rộng React bằng cơ chế kết xuất phía máy chủ (Server-Side Rendering - SSR), tạo trang tĩnh (Static Site Generation - SSG), tái tạo tĩnh tăng dần (Incremental Static Regeneration - ISR) và định tuyến dựa trên cấu trúc thư mục (File-based routing).
  • Tailwind CSS: Framework CSS theo phương pháp Utility-first, cho phép xây dựng giao diện responsive trực tiếp qua các lớp tiện ích được tối ưu hóa dung lượng khi build.
  • Microsoft Azure Storage Blob: Dịch vụ đám mây chuyên dụng để lưu trữ đối tượng phi cấu trúc, được sử dụng để quản lý hình ảnh xem trước và tệp nguồn (source code/assets) của sản phẩm số.
  • Mô hình gợi ý Cosine Similarity: Đo lường mức độ tương đồng giữa hai vector đặc trưng sản phẩm $\mathbf{A}$ và $\mathbf{B}$ trong không gian đa chiều thông qua cosin của góc tạo bởi hai vector theo công thức:

$$\text{Cosine Similarity} = \frac{\mathbf{A} \cdot \mathbf{B}}{|\mathbf{A}| \times |\mathbf{B}|} = \frac{\sum_{i=1}^{n} A_i B_i}{\sqrt{\sum_{i=1}^{n} A_i^2} \times \sqrt{\sum_{i=1}^{n} B_i^2}}$$

Vector đặc trưng sản phẩm được xây dựng dựa trên các thuộc tính nhị phân về danh mục (Category) kết hợp giá trị chuẩn hóa của mức giá (Price: $0 \rightarrow 1$) và điểm đánh giá trung bình (Rating: $0 \rightarrow 1$).

Phương pháp nghiên cứu và khảo sát thực tế

  • Phương pháp khảo sát đối chuẩn (Benchmarking): Phân tích ưu và nhược điểm của 4 nền tảng thương mại điện tử/chia sẻ thiết kế số hàng đầu gồm Dribbble, UI8, Tailwind Components và Etsy để định hình yêu cầu chức năng.
  • Phương pháp mô hình hóa phần mềm: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng biểu đồ ca sử dụng (Use Case Diagram), sơ đồ tuần tự (Sequence Diagram) và sơ đồ hoạt động (Activity Diagram) cho toàn bộ các chức năng.
  • Phương pháp kiểm thử và quản lý lỗi: Xây dựng bộ ca kiểm thử (testcase) chi tiết cho các module và sử dụng hệ thống Jira để theo dõi, quản lý vòng đời lỗi trong quá trình phát triển.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình kiến trúc phân tầng kết nối qua RESTful API, phân chia rõ ràng giữa tầng hiển thị (Client/Frontend), tầng logic xử lý nghiệp vụ (Server/Backend), dịch vụ lưu trữ ngoài (Azure) và cơ sở dữ liệu (MongoDB).

Khảo sát hiện trạng các nền tảng tham chiếu

Nền tảng Ưu điểm chính ghi nhận Hạn chế/Nhược điểm ghi nhận
Dribbble Giao diện đẹp, màu sắc đồng nhất, tìm kiếm và lưu lịch sử tốt, tải trang nhanh, bộ lọc đa dạng, cho phép nhận xét/đánh giá. Bố cục dễ rối mắt do quá nhiều thành phần trên một trang, nhiều danh mục và quảng cáo phụ.
UI8 Giao diện dễ nhìn, đa dạng hình thức thanh toán, hệ thống đánh giá theo số sao, tài khoản mặc định có gian hàng cá nhân. Khối lượng quảng cáo nhiều, tải ảnh/video đôi lúc không ổn định, nhiều tính năng bị hạn chế chỉ hỗ trợ trên ứng dụng di động.
Tailwind Components Giao diện dễ nhìn, hỗ trợ nhiều hình thức thanh toán, đánh giá phân loại rõ ràng, tích hợp tính năng Chat trực tiếp. Banner quảng cáo chiếm diện tích quá lớn so với khu vực hiển thị sản phẩm chính.
Etsy Giao diện mới lạ, hỗ trợ responsive hoàn chỉnh, danh mục phân cấp chi tiết, tốc độ tải trang nhanh, có chức năng Chat. Bố cục trình bày chưa thật sự thông thoáng do mật độ thông tin và thành phần quá dày đặc.

Phân quyền người dùng và mô hình hóa chức năng

Hệ thống phân chia 4 nhóm tác nhân (Actors) chính với các quyền hạn cụ thể:

  1. Khách (Guest): Đăng ký tài khoản mới, tra cứu và xem chi tiết sản phẩm, xem danh mục.
  2. Người dùng (User): Đăng nhập, đổi/lấy lại mật khẩu, quản lý hồ sơ cá nhân, tìm kiếm và lọc sản phẩm, quản lý giỏ hàng, thanh toán đơn hàng (Visa), xem lịch sử mua hàng, đánh giá và nhận xét sản phẩm, tạo và yêu thích bộ sưu tập, theo dõi người dùng khác, gửi yêu cầu đăng ký trở thành nhà kinh doanh.
  3. Nhà kinh doanh (Business/Seller): Đăng tải và quản lý sản phẩm số, tạo mới bộ sưu tập, quản lý danh sách sản phẩm cá nhân, theo dõi và thống kê doanh thu bán hàng.
  4. Quản trị viên (Admin): Đăng nhập bảo mật, quản lý và kiểm duyệt danh sách người dùng, quản lý và phê duyệt nhà kinh doanh, quản lý sản phẩm toàn hệ thống, theo dõi báo cáo thống kê tổng quan (Dashboard).

Thiết kế cơ sở dữ liệu MongoDB

Cơ sở dữ liệu được tổ chức thành 10 bộ sưu tập (Collections) chính phục vụ lưu trữ dữ liệu nghiệp vụ:

Tên Collection Chức năng lưu trữ dữ liệu Khóa ngoại / Tham chiếu liên kết
user Thông tin tài khoản, email, mật khẩu băm, phân quyền hệ thống. Liên kết tới profile, business register.
profile Thông tin cá nhân chi tiết, hình ảnh đại diện, tiểu sử người dùng. Tham chiếu user_id.
business register Đơn đăng ký và trạng thái xét duyệt trở thành nhà kinh doanh. Tham chiếu user_id.
work Thông tin sản phẩm số đăng bán (tên, mô tả, giá, link Azure, tags). Tham chiếu user_id, collection_id.
work proposal Đề xuất, bản thảo hoặc phiên bản công việc của sản phẩm. Tham chiếu work_id, user_id.
collection Nhóm/bộ sưu tập các sản phẩm số do người dùng tạo. Tham chiếu user_id.
card Thông tin giỏ hàng và danh sách sản phẩm chờ thanh toán. Tham chiếu user_id, work_id.
order Thông tin đơn hàng đã thực hiện, trạng thái thanh toán, tổng tiền. Tham chiếu user_id, work_id.
notification Nội dung các thông báo phát sinh từ hệ thống. Khóa chính của thông báo.
user notification Bảng liên kết ánh xạ thông báo tới từng người nhận cụ thể. Tham chiếu notification_id, user_id.

Kế hoạch và phân công triển khai đồ án

Quá trình xây dựng hệ thống kéo dài từ ngày 04/03/2024 đến 02/06/2024 (trước khi nghiệm thu vào tháng 07/2024) qua 7 giai đoạn:

  • Giai đoạn 1 (04/03 – 17/03/2024): Khảo sát hiện trạng, thiết kế ca sử dụng và cơ sở dữ liệu.
  • Giai đoạn 2 (18/03 – 24/03/2024): Xây dựng API và giao diện cơ bản cho người dùng.
  • Giai đoạn 3 (25/03 – 07/04/2024): Tạo collections trong MongoDB, xây dựng cấu trúc dự án và các component/widget dùng chung.
  • Giai đoạn 4 (08/04 – 21/04/2024): Mở rộng API và hoàn thiện giao diện người dùng.
  • Giai đoạn 5 (22/04 – 05/05/2024): Tích hợp Frontend, Backend và Database; xây dựng giao diện và tính năng cho Admin.
  • Giai đoạn 6 (06/05 – 12/05/2024): Tối ưu giao diện quản trị, hoàn thiện module thanh toán trực tuyến.
  • Giai đoạn 7 (13/05 – 02/06/2024): Triển khai hệ thống lên máy chủ (Backend/Frontend) và thực hiện kiểm thử.

Phân chia công việc giữa hai tác giả:

  • Lê Kiên Trung: Thiết kế kiến trúc hệ thống; phát triển API cho các module Đơn hàng (Order), Sản phẩm (Work), Đăng ký kinh doanh (Business), Email; lập trình Frontend; cấu hình triển khai ứng dụng; viết tài liệu hướng dẫn cài đặt, báo cáo phần kết luận và thực hiện kiểm thử tính năng.
  • Trần Mai Tuệ: Phân tích và xử lý các lỗi phát sinh; phát triển API cho module Người dùng (User), Đề xuất sản phẩm (WorkProposal), Bình luận (Comment); lập trình Frontend; vẽ sơ đồ Use Case, Sequence Diagram, Activity Diagram; viết báo cáo khảo sát, phân tích, thiết kế hệ thống và thiết kế giao diện.

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

Phần mở đầu

Trình bày tính cấp thiết của việc thương mại hóa sản phẩm số trên không gian mạng, định vị đối tượng và phạm vi nghiên cứu của đề tài. Xác định 5 mục tiêu cốt lõi liên quan đến xây dựng nền tảng MERN stack kết hợp Next.js, phân tích ý nghĩa khoa học trong việc làm phong phú tài liệu kỹ thuật phần mềm và ý nghĩa thực tiễn trong việc hỗ trợ các tác giả số kinh doanh trực tuyến.

Chương 1: Cơ sở lý thuyết và công nghệ

Tổng quan chi tiết các công nghệ sử dụng trong đề tài:

  • Trình bày cơ chế hoạt động, ưu và nhược điểm của Node.js, Express Framework, MongoDB, chuẩn RESTful API, JSON Web Token (JWT) và nền tảng điện toán đám mây Microsoft Azure.
  • Phân tích sâu kiến trúc thư viện ReactJS, framework Next.js (SSR, SSG, ISR) và Tailwind CSS.
  • Trình bày lý thuyết không gian vector và công thức tính độ tương đồng Cosine Similarity trong bài toán gợi ý sản phẩm số kèm ví dụ ma trận hóa dữ liệu (Category, Price, Rating).

Chương 2: Khảo sát hiện trạng và mô hình hóa yêu cầu

Khảo sát chuyên sâu 4 website thực tế (Dribbble, UI8, Tailwind Components, Etsy). Xác định danh mục yêu cầu chức năng cho từng nhóm đối tượng (Guest, User, Admin, Business) và các yêu cầu phi chức năng về tốc độ, bảo mật và khả năng bảo trì. Chương này mô hình hóa 17 ca sử dụng (Use Case) thông qua biểu đồ ca sử dụng tổng quan, đặc tả usecase chi tiết, sơ đồ tuần tự (Sequence Diagram) và sơ đồ hoạt động (Activity Diagram).

Chương 3: Thiết kế phần mềm

Hiện thực hóa thiết kế hệ thống thành hai phần chính:

  • Thiết kế cơ sở dữ liệu: Mô tả chi tiết cấu trúc trường dữ liệu, kiểu dữ liệu, ràng buộc khóa chính và khóa ngoại của 10 bảng/collections trong MongoDB (user, profile, business register, work, work proposal, collection, card, order, notification, user notification).
  • Thiết kế giao diện: Xây dựng layout và mô tả chi tiết 15 màn hình giao diện chính bao gồm: Đăng nhập, Đăng ký, Quên mật khẩu, Header, User menu, Cài đặt chung, Thông tin cá nhân, Thay đổi mật khẩu, Giỏ hàng, Checkout, Đăng ký kinh doanh, Chi tiết bộ sưu tập, Dashboard quản trị, Quản lý người dùng, và Quản lý sản phẩm.

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

Trình bày quy trình cài đặt môi trường, triển khai mã nguồn phía máy chủ và máy khách. Thiết lập bảng thống kê các ca kiểm thử (test case) cho các luồng nghiệp vụ chính nhằm xác nhận tính đúng đắn của chức năng. Sử dụng công cụ Jira để ghi nhận, phân loại và quản lý quy trình xử lý lỗi phần mềm (bug tracking) trước khi đóng gói sản phẩm.

Phần kết luận

Đánh giá tổng kết các mục tiêu đã hoàn thành, chỉ ra các mặt hạn chế về kỹ thuật và đề xuất các hướng nâng cấp, phát triển hệ thống trong tương lai.


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

Kết quả chính đạt được

  • Xây dựng hoàn chỉnh website thương mại điện tử sản phẩm số hoạt động ổn định trên nền tảng MERN stack kết hợp Next.js và Tailwind CSS.
  • Hiện thực hóa đầy đủ các luồng chức năng cho 4 phân quyền người dùng: từ duyệt sản phẩm, thanh toán trực tuyến qua thẻ, quản lý gian hàng cá nhân cho nhà kinh doanh, đến trang điều khiển (Dashboard) và quản trị tập trung cho Admin.
  • Tích hợp thành công dịch vụ Microsoft Azure Blob Storage vào quy trình lưu trữ, quản lý các tệp tin tài nguyên số và hình ảnh với độ an toàn cao.
  • Triển khai thành công module gợi ý sản phẩm tương tự bằng thuật toán Cosine Similarity, tối ưu hóa việc phân phối gợi ý dựa trên thuộc tính danh mục, giá tiền và điểm đánh giá.
  • Xây dựng tài liệu kỹ thuật đầy đủ gồm 17 usecase chi tiết có đặc tả, Sequence Diagram, Activity Diagram, mô hình 10 collections MongoDB và bảng test case quản lý qua Jira.

Giải pháp và đóng góp của đề tài

  • Cung cấp một mô hình kiến trúc hoàn chỉnh ứng dụng Next.js kết hợp Node.js/Express, giải quyết bài toán tối ưu hóa SEO và tốc độ tải trang cho nền tảng thương mại điện tử bán hàng kỹ thuật số.
  • Đề xuất quy trình đăng ký và kiểm duyệt nhà kinh doanh (Business Register) rõ ràng, giúp quản trị viên dễ dàng quản lý chất lượng người bán và sản phẩm số trên hệ thống.
  • Cung cấp phương pháp biểu diễn vector hóa sản phẩm và thuật toán gợi ý toán học gọn nhẹ, có thể triển khai trực tiếp phía backend mà không cần phụ thuộc vào các hệ thống máy học phức tạp.

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

Hạn chế ghi nhận trong văn bản

  • Đề tài được hoàn thành trong thời gian tương đối ngắn (từ tháng 3 đến tháng 7 năm 2024), kinh nghiệm thực tiễn của nhóm tác giả trong việc xây dựng và tối ưu các hệ thống website quy mô lớn còn có những giới hạn nhất định.
  • Một số tính năng mở rộng và cơ chế bảo mật nâng cao cần thêm thời gian để hoàn thiện và kiểm chứng dưới tải lượng người dùng lớn.

Hướng phát triển tiếp theo

  • Tiếp tục tối ưu hóa thuật toán gợi ý sản phẩm, bổ sung thêm nhiều trọng số hành vi người dùng (như lịch sử xem, thời gian dừng trên trang) để nâng cao độ chính xác của đề xuất.
  • Mở rộng tích hợp thêm các cổng thanh toán trực tuyến phổ biến khác bên cạnh thẻ thanh toán quốc tế.
  • Tăng cường các giải pháp bảo mật dữ liệu, cơ chế chống tấn công mạng và nâng cấp hệ thống xác thực phân quyền đa lớp.
  • Phát triển ứng dụng di động (Mobile App) đồng bộ với hệ thống web để gia tăng tính tiện ích cho người mua và nhà kinh doanh.

Giá trị tham khảo

Tài liệu khóa luận tốt nghiệp này mang lại giá trị tham khảo thực tế cho nhiều đối tượng:

  • Sinh viên ngành Công nghệ thông tin và Công nghệ phần mềm: Là tài liệu tham khảo chi tiết về quy trình thực hiện một đồ án tốt nghiệp chuẩn mực, từ khâu khảo sát hiện trạng, mô hình hóa UML (Use Case, Sequence, Activity Diagram), thiết kế CSDL NoSQL MongoDB đến cài đặt và kiểm thử phần mềm qua Jira.
  • Lập trình viên phát triển Web Full-stack: Cung cấp mẫu triển khai thực tế của việc kết hợp Next.js (SSR/SSG), ReactJS, Express Framework và Node.js; cách tích hợp dịch vụ lưu trữ đám mây Azure Storage Blob và xây dựng cơ chế xác thực an toàn bằng JSON Web Token.
  • Người nghiên cứu hệ thống gợi ý (Recommendation Systems): Cung cấp phương pháp tiếp cận thực tế, dễ hiểu về cách áp dụng độ tương đồng Cosine (Cosine Similarity) để gợi ý sản phẩm trong các ứng dụng thương mại điện tử vừa và nhỏ.

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

1. Đề tài ứng dụng thuật toán nào để gợi ý sản phẩm và cách thức biểu diễn dữ liệu ra sao?
Hệ thống sử dụng thuật toán Cosine Similarity để đo góc giữa hai vector trong không gian đặc trưng. Mỗi sản phẩm được vector hóa dựa trên: các trường danh mục (Category - nhận giá trị 0 hoặc 1), mức giá (Price - chuẩn hóa trong khoảng $0 \rightarrow 1$) và điểm đánh giá (Rating - chuẩn hóa trong khoảng $0 \rightarrow 1$). Giá trị độ tương đồng tính ra nằm trong khoảng từ -1 đến 1; giá trị càng gần 1 thể hiện hai sản phẩm có mức độ tương đồng càng cao để ưu tiên hiển thị gợi ý cho người dùng.

2. Cơ sở dữ liệu MongoDB của hệ thống bao gồm những collection chính nào?
Hệ thống thiết kế 10 collection chính gồm: user (tài khoản người dùng), profile (thông tin cá nhân), business register (đơn đăng ký kinh doanh), work (sản phẩm đăng bán), work proposal (đề xuất/bản thảo sản phẩm), collection (bộ sưu tập), card (giỏ hàng), order (đơn hàng), notification (thông báo hệ thống), và user notification (thông báo gửi tới từng người dùng).

3. Vai trò của dịch vụ Microsoft Azure trong đồ án là gì?
Microsoft Azure cung cấp dịch vụ Azure Storage Blob được nhóm tác giả tích hợp vào hệ thống để lưu trữ toàn bộ các tệp tin hình ảnh đại diện, ảnh xem trước và tệp mã nguồn/tài nguyên số (digital assets) dung lượng lớn của sản phẩm, giúp giảm tải dung lượng lưu trữ cho máy chủ backend và đảm bảo phân phối dữ liệu an toàn.

4. Hai thành viên thực hiện đồ án đã phân chia nhiệm vụ như thế nào?

  • Sinh viên Lê Kiên Trung phụ trách thiết kế hệ thống; viết API cho các module Order, Work, Business, Email; lập trình Frontend; triển khai ứng dụng; viết hướng dẫn cài đặt; viết báo cáo phần kết luận và kiểm thử tính năng.
  • Sinh viên Trần Mai Tuệ phụ trách sửa các lỗi phát sinh; viết API cho User, WorkProposal, Comment; lập trình Frontend; viết báo cáo khảo sát, phân tích, thiết kế; vẽ lược đồ Use Case, Sequence Diagram và viết báo cáo phần giao diện.

5. Cơ chế xác thực và bảo mật truy cập API của hệ thống hoạt động như thế nào?
Hệ thống sử dụng chuẩn JSON Web Token (JWT - RFC 7519). Khi người dùng đăng nhập thành công, máy chủ xác thực và cấp phát một chuỗi JWT gồm Header, Payload và Signature. Người dùng sẽ đính kèm token này trong tiêu đề (Header) của các yêu cầu HTTP tiếp theo để máy chủ xác thực tính hợp lệ và phân quyền trước khi cho phép truy cập tài nguyên bảo vệ.


Kết luận

Đồ án tốt nghiệp của sinh viên Lê Kiên Trung và Trần Mai Tuệ đã hoàn thành trọn vẹn mục tiêu thiết kế và xây dựng website thương mại điện tử chuyên biệt cho các sản phẩm kỹ thuật số. Bằng việc kết hợp hiệu quả ngăn xếp công nghệ MERN stack mở rộng (Next.js, ReactJS, Node.js, Express, MongoDB) cùng dịch vụ đám mây Azure Storage Blob và thuật toán Cosine Similarity, hệ thống đáp ứng tốt các yêu cầu nghiệp vụ từ mua bán, thanh toán, quản trị gian hàng đến gợi ý sản phẩm thông minh. Đây là một công trình tốt nghiệp hoàn chỉnh về mặt kỹ thuật, có tính ứng dụng thực tiễn cao và cung cấp nguồn tài liệu tham khảo giá trị cho các nghiên cứu, phát triển phần mềm thương mại điện tử tương tự.