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

Trong bối cảnh công nghệ thông tin phát triển và quá trình chuyển đổi số diễn ra mạnh mẽ, việc chuyển dịch từ mô hình bán hàng truyền thống sang kinh doanh trực tuyến đã trở thành xu hướng tất yếu trong lĩnh vực bán lẻ. Kênh thương mại điện tử cho phép người tiêu dùng tiếp cận, lựa chọn và mua sắm thiết bị công nghệ mọi lúc, mọi nơi, đồng thời hỗ trợ các đơn vị kinh doanh tối ưu hóa quy trình quản lý đơn hàng và giao dịch thanh toán. Nhằm đáp ứng nhu cầu thực tế về một nền tảng giao dịch trực tuyến chuyên biệt cho các thiết bị điện tử, đề tài "Xây dựng website bán laptop và điện thoại" được thực hiện bởi sinh viên Trần Mạnh Cường và Vy Minh Khánh Hoa dưới sự hướng dẫn của PGS. Hoàng Văn Dũng tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (tháng 7/2024).

Mục tiêu và nhiệm vụ nghiên cứu của khóa luận được xác định cụ thể như sau:

  1. Nhiệm vụ lý thuyết: Nghiên cứu tổng quan và làm chủ các công nghệ nền tảng bao gồm ASP.NET Core, Entity Framework Core, hệ quản trị cơ sở dữ liệu PostgreSQL, ReactJS, Redux Toolkit, Material UI, dịch vụ tìm kiếm Algolia, dịch vụ thanh toán Stripe và mô hình kiến trúc Clean Architecture.
  2. Nhiệm vụ thực hành:
    • Xây dựng hệ thống giao diện lập trình ứng dụng (RESTful API) phía Back-end bằng ASP.NET Core và Entity Framework Core theo mô hình Clean Architecture.
    • Thiết kế và chuẩn hóa cơ sở dữ liệu quan hệ trên PostgreSQL để lưu trữ toàn bộ dữ liệu nghiệp vụ của hệ thống.
    • Xây dựng giao diện người dùng phía Front-end bằng ReactJS, Redux Toolkit và Material UI.
    • Tích hợp dịch vụ Algolia nhằm tối ưu hóa chức năng tìm kiếm và lọc dữ liệu sản phẩm nâng cao theo thời gian thực.
    • Tích hợp cổng thanh toán trực tuyến Stripe và cơ chế gửi thông báo thời gian thực thông qua thư viện SignalR.
    • Triển khai phân quyền người dùng, bảo mật thông tin tài khoản bằng công nghệ JWT (JSON Web Token) và mã hóa mật khẩu.

Đối tượng nghiên cứu của đề tài bao gồm quy trình nghiệp vụ mua bán trực tuyến các sản phẩm laptop, điện thoại; các mô hình sàn thương mại điện tử hiện hành; cùng hệ thống công nghệ phát triển phần mềm hiện đại. Phạm vi nghiên cứu tập trung vào các nghiệp vụ thương mại điện tử cốt lõi: quản lý danh mục, quản lý sản phẩm với các thuộc tính và biến thể động, quản lý giỏ hàng cá nhân, quy trình đặt hàng và thanh toán (tiền mặt COD và thẻ tín dụng qua Stripe), theo dõi trạng thái đơn hàng, đánh giá sản phẩm đã mua, và quản trị hệ thống. Thời gian thực hiện đề tài kéo dài từ ngày 04/03/2024 đến ngày 15/06/2024.


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

Khóa luận kết hợp giữa nghiên cứu lý thuyết kiến trúc phần mềm, khảo sát đối chuẩn thực tế và quy trình thiết kế, triển khai hệ thống phần mềm theo các tiêu chuẩn kỹ thuật chuyên ngành.

Khung lý thuyết và công nghệ sử dụng

  • Kiến trúc Clean Architecture: Mô hình thiết kế phần mềm do Robert C. Martin đề xuất, tổ chức hệ thống thành các vòng tròn đồng tâm với nguyên tắc phụ thuộc hướng vào trong (Dependency Inversion). Nghiệp vụ cốt lõi (Domain/Application) hoàn toàn độc lập với cơ sở dữ liệu, framework và giao diện người dùng.
  • Công nghệ phía Back-end:
    • ASP.NET Core: Framework mã nguồn mở đa nền tảng của Microsoft, hỗ trợ Dependency Injection và kiến trúc mô-đun hóa cao.
    • Entity Framework Core (EF Core): Framework ORM (Object-Relational Mapping) ánh xạ giữa các đối tượng lập trình .NET và cơ sở dữ liệu quan hệ.
    • PostgreSQL: Hệ quản trị cơ sở dữ liệu quan hệ đối tượng (ORDBMS) mã nguồn mở, hỗ trợ giao dịch ACID và mở rộng linh hoạt.
    • SignalR: Thư viện hỗ trợ truyền thông tin hai chiều thời gian thực (Real-time Web) giữa máy chủ và trình duyệt.
    • Docker: Nền tảng ảo hóa mức hệ điều hành (containerization) giúp đóng gói môi trường và cô lập ứng dụng.
    • Algolia Search: Nền tảng tìm kiếm cung cấp khả năng tìm kiếm văn bản và phân loại khía cạnh (faceting) thời gian thực.
    • Stripe: Dịch vụ cổng thanh toán trực tuyến hỗ trợ giao dịch thẻ tín dụng an toàn theo các tiêu chuẩn bảo mật tài chính.
  • Công nghệ phía Front-end:
    • ReactJS: Thư viện JavaScript xây dựng giao diện người dùng theo mô hình thành phần (Component-based) và cây DOM ảo (Virtual DOM).
    • Redux Toolkit: Bộ công cụ quản lý trạng thái tập trung (State Management) cho các luồng dữ liệu đơn hướng và bất đồng bộ.
    • Material UI (MUI): Thư viện giao diện xây dựng trên ngôn ngữ thiết kế Google Material Design.

Phương pháp nghiên cứu và nguồn dữ liệu

  • Phương pháp khảo sát hiện trạng (Benchmarking): Khảo sát cấu trúc giao diện, luồng mua hàng, ưu điểm và hạn chế của hai website thương mại điện tử chuyên ngành thiết bị công nghệ lớn tại Việt Nam là FPT Shop (fptshop.vn) và Phong Vũ (phongvu.vn).
  • Phương pháp mô hình hóa hướng đối tượng: Sử dụng chuẩn UML để xây dựng lược đồ Use Case cho từng nhóm tác nhân, lược đồ lớp (Class Diagram) và các lược đồ tuần tự (Sequence Diagram) tương ứng với từng luồng API.
  • Phương pháp kiểm thử phần mềm: Kiểm thử đơn vị và tích hợp các API bằng công cụ Postman; kiểm thử chức năng (Functional Black-box Testing) trên toàn bộ các ca sử dụng của hệ thống giao diện.
  • Nguồn dữ liệu: Dữ liệu mẫu về danh mục, thông số kỹ thuật, thuộc tính sản phẩm laptop, điện thoại, hình ảnh và dữ liệu giao dịch đơn hàng thực nghiệm.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc phân tầng rõ ràng, đảm bảo khả năng mở rộng và bảo trì độc lập giữa giao diện người dùng và hệ thống API xử lý nghiệp vụ.

Thành phần kiến trúc Công nghệ sử dụng Chức năng chính
Front-end Client & Admin ReactJS, Redux Toolkit, Material UI Hiển thị giao diện tương thích đa thiết bị, quản lý trạng thái giao diện và gọi API
Back-end Web API ASP.NET Core, Clean Architecture Tiếp nhận yêu cầu HTTP, xử lý logic nghiệp vụ, phân quyền JWT và điều hướng dữ liệu
Data Access & ORM Entity Framework Core Ánh xạ đối tượng, thực thi truy vấn và quản lý giao dịch cơ sở dữ liệu
Cơ sở dữ liệu PostgreSQL Lưu trữ dữ liệu quan hệ, thông tin người dùng, sản phẩm, biến thể và đơn hàng
Dịch vụ tìm kiếm Algolia Search Lập chỉ mục dữ liệu sản phẩm, xử lý tìm kiếm full-text và lọc thuộc tính nâng cao
Dịch vụ thanh toán Stripe SDK & API Xử lý thanh toán trực tuyến qua thẻ tín dụng quốc tế an toàn
Thông báo thời gian thực SignalR Đẩy thông báo trạng thái đơn hàng tức thì cho khách hàng và quản trị viên
Môi trường vận hành Docker Đóng gói và chạy các dịch vụ trong môi trường container độc lập

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

Cơ sở dữ liệu hệ thống được chuẩn hóa bao gồm 17 bảng dữ liệu chính phục vụ toàn bộ chu trình hoạt động của website:

Tên bảng Khóa chính Khóa ngoại Mục đích lưu trữ
Customer Id (Guid) Không Thông tin hồ sơ khách hàng (họ tên, email, số điện thoại, ảnh đại diện)
Account Id (Guid) CustomerId Tài khoản đăng nhập, mật khẩu mã hóa, vai trò (Admin, Customer), trạng thái xác thực email
Address Id (Guid) CustomerId Danh sách địa chỉ nhận hàng của người dùng (tên đường, thành phố, tỉnh, quốc gia, zip code)
Category Id (Guid) PrarentId Danh mục sản phẩm đa cấp, đường dẫn slug
Brand Id (Guid) Không Thương hiệu sản phẩm và đường dẫn hình ảnh đại diện
Product Id (Guid) BrandId, CategoryId, DiscountId Thông tin sản phẩm chung, giá bán, số lượng tồn kho, điểm đánh giá trung bình
Attribute Id (Guid) ProductId Các thuộc tính động của sản phẩm (màu sắc, dung lượng, RAM...), khả năng kết hợp tạo biến thể
AttributeValue Id (Guid) AttributeId Giá trị cụ thể của thuộc tính (mã màu, tên giá trị, mức giá điều chỉnh chênh lệch)
Variant Id (Guid) ProductId Biến thể sản phẩm cụ thể từ tổ hợp thuộc tính, giá bán riêng, hình ảnh và đánh giá riêng
Discount Id (Guid) Không Thông tin chương trình giảm giá (theo phần trăm hoặc số tiền cố định), thời hạn hiệu lực
Cart Id (Guid) CustomerId Giỏ hàng của từng khách hàng
CartItem Id (Guid) ProductId, VariantId, CartId Chi tiết từng mặt hàng và biến thể trong giỏ, đơn giá, số lượng
Order Id (Guid) Không Đơn hàng tổng thể, số đơn hàng, ngày tạo, tổng tiền, mã giao dịch, phương thức thanh toán, địa chỉ
OrderItem Id (Guid) ProductId, VariantId, OrderId Chi tiết sản phẩm trong đơn hàng tại thời điểm mua (giá, tên, thuộc tính, hình ảnh)
OrderStatusHistoryTracking Id (Guid) OrderId Lịch sử thay đổi và mốc thời gian chuyển trạng thái của đơn hàng
Review Id (Guid) Không Nội dung đánh giá và số sao xếp hạng của khách hàng đã mua sản phẩm
Notification Id (Guid) To, From Nội dung và loại thông báo gửi đến người dùng cụ thể, trạng thái đã đọc

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

Mở đầu

Phần mở đầu nêu rõ tính cấp thiết của đề tài trong kỷ nguyên chuyển đổi số ngành bán lẻ. Tác giả phân tích các ưu điểm của hình thức mua sắm trực tuyến so với phương thức truyền thống về mặt tiện lợi, tiết kiệm thời gian và tối ưu hóa quản lý giao dịch. Chương này xác định đối tượng, phạm vi nghiên cứu, kế hoạch thực hiện 8 giai đoạn từ tháng 3 đến tháng 6 năm 2024, đồng thời phân định chi tiết mục tiêu chức năng cho 3 nhóm đối tượng: Khách vãng lai, Khách hàng thành viên và Quản trị viên.

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

Chương 1 hệ thống hóa cơ sở lý luận về các công nghệ được sử dụng trong đồ án:

  • Công nghệ Back-end: Phân tích nguyên lý hoạt động, ưu điểm của PostgreSQL (hỗ trợ ORDBMS, giao dịch ACID), ASP.NET Core (mã nguồn mở, đa nền tảng, cơ chế Dependency Injection, dễ kiểm thử), Entity Framework Core (ORM linh hoạt), SignalR (giao tiếp thời gian thực), Docker (cô lập container), Algolia Search (tìm kiếm thời gian thực tối ưu) và Stripe (thanh toán trực tuyến bảo mật).
  • Công nghệ Front-end: Trình bày chi tiết về ReactJS (luồng dữ liệu một chiều, Virtual DOM), Redux Toolkit (quản lý state tập trung, hỗ trợ tác vụ bất đồng bộ) và Material UI (hệ thống giao diện đồng nhất).
  • Mô hình kiến trúc Clean Architecture: Phân tích cấu trúc các tầng nghiệp vụ độc lập với framework bên ngoài; chỉ rõ ưu điểm về khả năng bảo trì, khả năng mở rộng, khả năng kiểm thử, cũng như nhược điểm về độ phức tạp khi thiết kế ban đầu.

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

Chương 2 tiến hành đánh giá thực tế hai website thương mại điện tử lớn:

  • FPT Shop (fptshop.vn): Đầy đủ chức năng giỏ hàng, chi tiết sản phẩm, lọc và thanh toán; tuy nhiên phương thức đăng nhập chỉ giới hạn qua số điện thoại, hiển thị nhiều quảng cáo lấn át sản phẩm và chưa có giao diện tối.
  • Phong Vũ (phongvu.vn): Bố cục rõ ràng, hỗ trợ đa dạng phương thức đăng nhập và thanh toán; tuy nhiên chưa có phần đánh giá/nhận xét sản phẩm, chưa có chức năng so sánh và thiếu chế độ giao diện tối.

Trên cơ sở đó, chương xác định 3 tác nhân hệ thống và chuẩn hóa danh mục yêu cầu:

  • Yêu cầu chức năng (24 yêu cầu): Bao gồm đăng ký 2 bước, đăng nhập, xác thực tài khoản qua email, quên mật khẩu, xem và lọc sản phẩm, quản lý giỏ hàng, đặt hàng (COD và thẻ tín dụng qua Stripe), quản lý hồ sơ, hủy đơn hàng (trạng thái Pending), đánh giá sản phẩm đã mua, thông báo trạng thái đơn hàng thời gian thực, quản lý người dùng, quản lý danh mục/thương hiệu, quản lý cấu hình thuộc tính động và biến thể sản phẩm, quản lý biểu ngữ và thống kê báo cáo.
  • Yêu cầu phi chức năng (4 yêu cầu): Đảm bảo thao tác nhanh chóng và mượt mà (tính hiệu quả), giao diện đơn giản dễ sử dụng và màu sắc hài hòa (tính tiện dụng), cùng khả năng bảo mật thông tin người dùng (tính bảo mật).
  • Mô hình hóa: Xây dựng hệ thống lược đồ Use Case tổng thể và chi tiết cho Khách vãng lai, Khách hàng và Quản trị viên.

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

Chương 3 là phần trọng tâm về mặt kỹ thuật của khóa luận:

  • Thiết kế cơ sở dữ liệu: Trình bày lược đồ lớp (Class Diagram) và đặc tả chi tiết 17 bảng dữ liệu quan hệ với các kiểu dữ liệu, ràng buộc khóa chính, khóa ngoại.
  • Thiết kế chức năng: Xây dựng bảng đặc tả Use Case chi tiết (tiền điều kiện, hậu điều kiện, luồng sự kiện chính và luồng ngoại lệ) kèm theo lược đồ tuần tự (Sequence Diagram) và luồng xử lý API tương ứng cho các ca sử dụng chính: Đăng nhập (Login API), Đăng ký (Register API), Tìm kiếm, Lọc sản phẩm, Thêm vào giỏ hàng (AddToCart API), Đặt hàng (CreateOrder API, CheckoutWithStripe API), Hủy đơn hàng (CancelOrder API), Xác nhận đã nhận hàng (ConfirmReceivedOrder API), Thêm sản phẩm (CreateProduct API), Đánh giá (ReviewProduct API), Quản lý thuộc tính và giá trị thuộc tính (AddProductAttribute API, AddProductAttributeValue API), Tạo biến thể sản phẩm (CreateProductVariant API), và Xác nhận đơn hàng (ConfirmOrder API).
  • Thiết kế giao diện: Thiết kế chi tiết cấu trúc 23 màn hình giao diện từ luồng người dùng (đăng ký 2 bước, đăng nhập, trang chủ, chi tiết sản phẩm, giỏ hàng, thanh toán, quản lý đơn cá nhân, kết quả tìm kiếm) đến luồng quản trị viên (điều hướng, quản lý thông tin sản phẩm, quản lý thuộc tính/biến thể/khuyến mãi/hình ảnh, và quản lý đơn hàng).

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

Chương 4 mô tả cấu trúc triển khai thực tế của dự án:

  • Cấu trúc thư mục dự án Back-end theo Clean Architecture, tích hợp Swagger UI để kiểm thử và tài liệu hóa toàn bộ hệ thống RESTful API.
  • Cấu trúc mã nguồn Front-end xây dựng trên nền tảng ReactJS.
  • Thiết lập kế hoạch, phạm vi kiểm thử (Bảng 52) và phân tích rủi ro kiểm thử (Bảng 53).
  • Thực hiện kiểm thử hộp đen chi tiết qua 12 bảng kết quả kiểm thử chức năng (từ Bảng 54 đến Bảng 65): Tìm kiếm, Lọc, Thêm giỏ hàng, Chỉnh sửa giỏ hàng, Đặt hàng, Đánh giá, Thêm sản phẩm, Thêm thuộc tính, Thêm giá trị thuộc tính, Thêm hình ảnh, Tạo biến thể, và Xác nhận đơn hàng. Toàn bộ các ca kiểm thử đều đạt kết quả mong đợi.
  • Tổng kết các kết quả đạt được về mặt lý thuyết, mặt ứng dụng, chỉ ra các nhược điểm còn tồn tại và đề xuất hướng phát triển tiếp theo.

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

Kết quả kỹ thuật và ứng dụng thực tế

  • Xây dựng hoàn chỉnh hệ thống website thương mại điện tử bán laptop và điện thoại hoạt động ổn định trên môi trường web.
  • Phía Back-end xây dựng đầy đủ các RESTful API dựa trên ASP.NET Core, kết nối cơ sở dữ liệu PostgreSQL qua Entity Framework Core, tuân thủ mô hình Clean Architecture giúp tách biệt hoàn toàn nghiệp vụ với các tầng phụ thuộc.
  • Phía Front-end xây dựng giao diện người dùng bằng ReactJS và Material UI, đảm bảo hiển thị thích ứng (responsive) trên nhiều kích thước màn hình.
  • Tích hợp thành công dịch vụ tìm kiếm Algolia cho phép tìm kiếm và lọc dữ liệu sản phẩm theo nhiều tiêu chí với tốc độ phản hồi thời gian thực.
  • Tích hợp cổng thanh toán trực tuyến quốc tế Stripe và phương thức thanh toán tiền mặt khi nhận hàng (COD).
  • Tích hợp cơ chế đẩy thông báo hai chiều thời gian thực bằng SignalR, giúp người dùng và quản trị viên cập nhật trạng thái đơn hàng tức thì.

Đóng góp về giải pháp thiết kế

  • Cơ chế quản lý thuộc tính và biến thể sản phẩm động: Thiết kế cấu trúc bảng dữ liệu cho phép quản trị viên tự do định nghĩa các nhóm thuộc tính (như màu sắc, phiên bản bộ nhớ, cấu hình phần cứng) và tự động tạo lập các biến thể sản phẩm (Variant) với mức giá chênh lệch riêng biệt, giải quyết bài toán đa dạng mẫu mã của ngành hàng thiết bị điện tử.
  • Quy trình quản lý trạng thái đơn hàng chuẩn mực: Mô hình hóa luồng trạng thái đơn hàng rõ ràng từ lúc khởi tạo (Pending), xử lý (Processing), hoàn thành (Completed), hủy (Cancelled) đến hoàn tiền (Refunded), có bảng lưu trữ lịch sử theo dõi trạng thái (OrderStatusHistoryTracking).

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

Dựa trên nội dung tự đánh giá của tác giả trong chương kết luận của khóa luận:

Hạn chế còn tồn tại

  • Hệ thống chưa hỗ trợ chức năng so sánh trực tiếp thông số kỹ thuật giữa các sản phẩm điện tử.
  • Chưa tích hợp chế độ giao diện tối (Dark mode) cho người dùng.
  • Các phương thức thanh toán trực tuyến mới chỉ hỗ trợ qua thẻ tín dụng quốc tế thông qua Stripe, chưa tích hợp các cổng thanh toán ví điện tử nội địa phổ biến tại Việt Nam.

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

  • Mở rộng tích hợp các cổng thanh toán điện tử nội địa tại Việt Nam (như MoMo, VNPay, ZaloPay).
  • Xây dựng phân hệ gợi ý sản phẩm thông minh (Recommendation System) dựa trên lịch sử tìm kiếm và hành vi mua hàng của người dùng.
  • Hoàn thiện tính năng so sánh chi tiết cấu hình và giá cả giữa các dòng laptop, điện thoại.
  • Phát triển ứng dụng di động (Mobile App) trên nền tảng iOS và Android kết nối đồng bộ với hệ thống Back-end API hiện tại.

Giá trị tham khảo

Tài liệu khóa luận tốt nghiệp này có giá trị tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin: Tham khảo mô hình phân tích, thiết kế hệ thống thương mại điện tử hoàn chỉnh từ khảo sát hiện trạng, mô hình hóa Use Case, thiết kế cơ sở dữ liệu quan hệ đến xây dựng ca kiểm thử.
  • Lập trình viên và người nghiên cứu phát triển ứng dụng Web: Tham khảo phương pháp áp dụng kiến trúc Clean Architecture trên nền tảng ASP.NET Core và Entity Framework Core; cách thức kết hợp ReactJS, Redux Toolkit và Material UI ở phía giao diện; cũng như giải pháp tích hợp các dịch vụ bên thứ ba như Algolia Search, cổng thanh toán Stripe và SignalR.

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

1. Đồ án áp dụng kiến trúc phần mềm nào và tại sao lại lựa chọn kiến trúc đó?
Hệ thống được xây dựng theo mô hình Clean Architecture do Robert C. Martin đề xuất. Kiến trúc này phân tách hệ thống thành các vòng tròn đồng tâm với nguyên tắc phụ thuộc hướng vào trong, giúp logic nghiệp vụ hoàn toàn độc lập với cơ sở dữ liệu, framework và giao diện người dùng. Điều này mang lại ưu điểm lớn về khả năng bảo trì mã nguồn, khả năng mở rộng hệ thống và tạo thuận lợi cho việc kiểm thử đơn vị.

2. Cơ sở dữ liệu của hệ thống giải quyết bài toán biến thể sản phẩm (màu sắc, cấu hình RAM/ổ cứng) như thế nào?
Hệ thống sử dụng mô hình bảng quan hệ linh hoạt gồm: Product (thông tin sản phẩm gốc), Attribute (tên thuộc tính như Màu sắc, Bộ nhớ), AttributeValue (giá trị cụ thể của thuộc tính và mức giá điều chỉnh PriceAdjustment), và Variant (tổ hợp các thuộc tính cụ thể với mức giá bán và hình ảnh riêng). Mô hình này cho phép quản trị viên thêm thuộc tính động và tạo biến thể linh hoạt mà không cần thay đổi cấu trúc bảng cơ sở dữ liệu.

3. Khách hàng trên website có thể lựa chọn những phương thức thanh toán nào và quản lý đơn hàng ra sao?
Hệ thống hỗ trợ 2 phương thức thanh toán: thanh toán tiền mặt khi nhận hàng (Cash On Delivery - COD) và thanh toán trực tuyến qua thẻ tín dụng thông qua cổng thanh toán quốc tế Stripe. Khách hàng có thể theo dõi tiến trình đơn hàng qua các trạng thái (Pending, Processing, Completed, Cancelled, Refunded) và chỉ được phép hủy đơn hàng khi đơn hàng đang ở trạng thái Pending (Đang chờ xử lý).

4. Dịch vụ nào được sử dụng để tối ưu hóa tính năng tìm kiếm và gửi thông báo trên hệ thống?
Hệ thống tích hợp dịch vụ tìm kiếm đám mây Algolia Search để lập chỉ mục và xử lý tìm kiếm toàn văn, lọc theo thuộc tính/danh mục/thương hiệu theo thời gian thực. Đối với cơ chế thông báo, hệ thống sử dụng thư viện SignalR của ASP.NET Core để đẩy dữ liệu thời gian thực hai chiều giữa máy chủ và giao diện người dùng, đồng thời gửi hóa đơn xác nhận về địa chỉ email của khách hàng.

5. Nhóm tác giả đã tiến hành khảo sát những hệ thống thực tế nào trước khi xây dựng yêu cầu phần mềm?
Nhóm tác giả đã tiến hành khảo sát và phân tích đối chuẩn trực tiếp giao diện, chức năng và trải nghiệm người dùng của hai website thương mại điện tử chuyên kinh doanh thiết bị công nghệ lớn tại Việt Nam là FPT Shop (fptshop.vn) và Phong Vũ (phongvu.vn), từ đó đúc kết ưu/nhược điểm để xây dựng bảng yêu cầu chức năng cho đồ án.


Kết luận

Khóa luận tốt nghiệp "Xây dựng website bán laptop và điện thoại" của sinh viên Trần Mạnh Cường và Vy Minh Khánh Hoa đã hoàn thành toàn diện các mục tiêu nghiên cứu và phát triển phần mềm đề ra. Đề tài ứng dụng thành công kiến trúc Clean Architecture kết hợp các công nghệ hiện đại gồm ASP.NET Core, ReactJS, PostgreSQL, Algolia, Stripe và SignalR để tạo nên một hệ thống thương mại điện tử hoàn chỉnh, vận hành ổn định. Hệ thống đáp ứng tốt các yêu cầu nghiệp vụ thực tế từ khâu quản lý biến thể sản phẩm linh hoạt đến thanh toán và theo dõi đơn hàng, đồng thời vạch ra định hướng nâng cấp rõ ràng cho các giai đoạn phát triển tiếp theo.