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 của thương mại điện tử, việc mua sắm trực tuyến đã trở thành xu hướng phổ biến đối với người tiêu dùng. Tuy nhiên, theo ghi nhận thực tế của nhóm tác giả, nhiều cửa hàng kinh doanh đồ thể thao truyền thống vẫn gặp lúng túng trong quá trình triển khai kênh bán hàng qua Internet. Xuất phát từ thực trạng đó, khóa luận tốt nghiệp ngành Công nghệ thông tin với đề tài "Xây dựng website thương mại điện tử kinh doanh đồ thể thao" của sinh viên Nguyễn Lâm Gia Khang và Nguyễn Thành Công (Khoa Đào tạo Chất lượng cao, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, thực hiện dưới sự hướng dẫn của Th.S Mai Anh Thơ) đã được triển khai nhằm giải quyết bài toán số hóa cho các đơn vị kinh doanh đồ thể thao.

Mục tiêu nghiên cứu và xây dựng của đề tài được xác định cụ thể như sau:

  1. Cung cấp một ứng dụng web thương mại điện tử đơn giản, giao diện thân thiện, dễ sử dụng cho nhiều lứa tuổi.
  2. Hỗ trợ mô hình đa người dùng: cho phép khách hàng dễ dàng tìm kiếm, mua sắm sản phẩm thể thao; đồng thời cho phép các cửa hàng đăng ký tài khoản để tự tạo gian hàng, đăng tải sản phẩm và quản lý hoạt động kinh doanh trực tiếp trên cùng một nền tảng.
  3. Tích hợp trực tiếp hệ thống phân phối và giao nhận đơn hàng (shipper), kết nối luồng xử lý từ người bán đến người giao hàng và người mua cuối.
  4. Đảm bảo khả năng mở rộng chức năng liên tục qua các chu kỳ cập nhật hệ thống.

Đối tượng nghiên cứu của đề tài là quy trình nghiệp vụ thương mại điện tử chuyên ngành đồ thể thao, bao gồm quản trị gian hàng, danh mục sản phẩm, đơn hàng, thanh toán và vận chuyển. Phạm vi nghiên cứu tập trung vào việc khảo sát các website kinh doanh đồ thể thao hiện hành tại Việt Nam, xây dựng nền tảng thử nghiệm phiên bản 1.0 với sức chứa thiết kế khoảng 100 người dùng truy cập đồng thời, triển khai trên môi trường máy chủ song song và tích hợp cổng thanh toán trực tuyến. Thời gian hoàn thành khóa luận là tháng 06 năm 2022.

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

Để xây dựng hệ thống, nhóm nghiên cứu đã kết hợp phương pháp nghiên cứu tài liệu, phương pháp khảo sát thực tế và phương pháp phân tích thiết kế hệ thống phần mềm.

Về phương pháp khảo sát thực trạng, nhóm đã tiến hành khảo sát và đánh giá 4 website kinh doanh đồ thể thao đang hoạt động trên thị trường Việt Nam nhằm đúc kết kinh nghiệm thiết kế:

Website khảo sát Đơn vị / Đặc điểm chính Ưu điểm ghi nhận Nhược điểm ghi nhận
Sporter.vn Hệ thống bán lẻ đồ thể thao (áo bóng đá, giày, phụ kiện thể thao...) Bố cục rõ ràng, đặt mua nhanh không cần đăng ký tài khoản, tốc độ tải nhanh, thông tin sản phẩm đầy đủ. Sản phẩm chưa bán vẫn bấm đặt hàng được; chưa tích hợp ví điện tử; không chọn được kích cỡ; hàng hết và hàng chưa bán nằm xen kẽ gây rối mắt; chưa phân biệt rõ đồ nam/nữ; chưa hỗ trợ đặt số lượng lớn.
Sport1.vn Công ty TNHH Thể thao Đức Trung (Tập đoàn Đức Trung, hoạt động từ 2007) Bố cục rõ ràng; danh mục chi tiết; hỗ trợ chọn kích thước; tốc độ tải trang nhanh; chức năng tìm kiếm tốt. Chưa tích hợp ví điện tử thanh toán; chưa có tùy chọn màu sắc sản phẩm; còn một số sản phẩm thiếu thông tin chi tiết.
Thethaokimthanh.vn Website bán đồ thể thao Kim Thành ("Nâng cao tầm vóc Việt") Bộ lọc 2 tiêu chí (thương hiệu, mức giá); sắp xếp theo thứ tự giá; phân loại danh mục rõ ràng; giao diện đơn giản. Không có chức năng tạo tài khoản người dùng; thanh toán chưa hoàn thiện (chỉ nhập thông tin cơ bản để shop gọi điện); không hỗ trợ thẻ tín dụng/thẻ ngân hàng.
Draha.vn Chuyên bán quần áo thể thao mẫu mã mới Nhiều mẫu mã và màu sắc cho từng mẫu; hỗ trợ thanh toán online; bộ lọc theo màu, cỡ, giá. Số lượng sản phẩm còn ít; không có chức năng tạo tài khoản người dùng.

Về cơ sở lý thuyết và mô hình kiến trúc phần mềm, khóa luận áp dụng:

  • Kiến trúc phân lớp: Kết hợp mô hình MVC (Model-View-Controller) và mô hình 3 tầng (3-tier architecture) phân tách rõ ràng giữa tầng giao diện, tầng xử lý nghiệp vụ (Business Logic Layer) và tầng truy xuất dữ liệu (Data Access Layer).
  • Kiến trúc xử lý đa máy chủ: Vận hành song song 2 server cho backend nhằm phân tách tác vụ và tối ưu hóa hiệu năng phục vụ.
  • Quản trị dữ liệu lai (Polyglot Persistence): Sử dụng song song hệ quản trị cơ sở dữ liệu quan hệ MySQL (xử lý dữ liệu định danh, người dùng, giao dịch có tính ràng buộc cao) và cơ sở dữ liệu NoSQL MongoDB (lưu trữ linh hoạt các lược đồ chi tiết sản phẩm theo từng danh mục).

Thiết kế và triển khai

Hệ thống được thiết kế hướng tới việc phục vụ 5 nhóm tác tử (actors) với các vai trò và quyền hạn phân định rõ rệt:

  1. Khách vãng lai (Guest): Xem danh sách sản phẩm, xem chi tiết sản phẩm, so sánh thông tin sản phẩm, đăng ký tài khoản mới.
  2. Khách hàng (User): Đăng nhập qua tài khoản hoặc số điện thoại, quản lý thông tin cá nhân, đổi mật khẩu, quên mật khẩu, thêm sản phẩm vào giỏ hàng, đặt hàng, chia sẻ đơn hàng (chia đơn/group order), bình luận đánh giá sau khi mua, theo dõi lịch sử đơn hàng và chi tiết đơn hàng; thanh toán qua hai hình thức: tiền mặt khi nhận hàng (COD) hoặc thẻ trực tuyến qua PayPal.
  3. Người bán hàng (Seller): Đăng ký tài khoản người bán, tạo mới và chỉnh sửa thông tin cửa hàng, khôi phục cửa hàng, tạo mới và cập nhật sản phẩm (bao gồm thông tin cơ bản và thông tin riêng theo từng ngành hàng như đồ may mặc), khôi phục sản phẩm, quản lý mã giảm giá, tiếp nhận và xử lý đơn hàng, xem thống kê doanh thu theo mốc thời gian (ngày, tháng, quý, năm hoặc khoảng tùy chọn).
  4. Người giao hàng (Shipper): Đăng ký tài khoản shipper, theo dõi danh sách các đơn hàng đã được người bán chuẩn bị xong, nhận đơn giao, cập nhật trạng thái đơn hàng đã giao và xem lịch sử các đơn hàng đã hoàn tất.
  5. Người quản trị (Admin): Quản lý toàn bộ danh sách người dùng, danh sách người bán hàng, danh sách người giao hàng, danh sách sản phẩm, danh sách cửa hàng và giám sát các đơn hàng trên toàn hệ thống.

Công nghệ sử dụng trong triển khai hệ sinh thái:

  • Frontend: Xây dựng bằng ReactJS, hỗ trợ giao diện người dùng tương tác dạng SPA (Single Page Application).
  • Backend: Sử dụng Spring Framework (Java) với Spring Data JPA làm tầng trung gian kết nối cơ sở dữ liệu và Spring Security để phân quyền người dùng, cấu hình bảo mật API và phiên làm việc; kết hợp cùng NodeJS và ExpressJS.
  • Hệ thống cơ sở dữ liệu: MySQL và MongoDB.
  • Tích hợp thanh toán: API cổng thanh toán quốc tế PayPal.

Hệ thống giao tiếp thông qua các RESTful API định chuẩn, một số endpoint chính được ghi nhận trong sơ đồ tuần tự (sequence diagrams) của đồ án gồm:

  • Khách hàng và xác thực: https://tlcngroup2be.com/signup, https://tlcngroup2be.com/user/:id, https://tlcngroup2be.com/user/order, https://tlcngroup2be.com/user/orderhistory/:id, https://tlcngroup2be.com/user/comment.
  • Sản phẩm và danh mục: https://tlcngroup2be.com/products, https://tlcngroup2be.com/product/category.
  • Nghiệp vụ người bán: https://tlcngroup2be.com/store, https://tlcngroup2be.com/seller/product, https://tlcngroup2be.com/seller/product/categoryclothes, https://tlcngroup2be.com/seller/order/:id/statusfinished, https://cnpmmbe.com/seller/order/4.
  • Nghiệp vụ giao hàng: https://tlcngroup2be.com/shipper/order/0, https://cnpmmbe.com/.

Yêu cầu phi chức năng được đáp ứng bao gồm: đảm bảo tính toàn vẹn dữ liệu, khả năng mã hóa dữ liệu nhạy cảm (thông tin mật khẩu, định danh), cơ chế sao lưu (backup) hỗ trợ phục hồi dữ liệu cửa hàng/sản phẩm đã xóa, và năng lực chịu tải đồng thời khoảng 100 người dùng trong phiên bản v1.0.

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

Chương 1: Tổng quan

Chương này trình bày lý do chọn đề tài xuất phát từ việc nhiều đơn vị kinh doanh thể thao chưa có giải pháp chuyển đổi số hiệu quả. Tác giả đặt ra mục tiêu xây dựng một ứng dụng web đơn giản, cho phép mở rộng kinh doanh đa cửa hàng, tích hợp đội ngũ vận chuyển và xác định phương pháp tiếp cận thông qua khảo sát thực tiễn để lựa chọn công nghệ gồm ReactJS, Spring Framework, NodeJS, MySQL và MongoDB.

Chương 2: Khảo sát thực trạng

Chương 2 đi sâu phân tích hiện trạng của 4 website bán đồ thể thao điển hình gồm Sporter.vn, Sport1.vn, Thethaokimthanh.vn và Draha.vn. Tác giả chỉ ra những thiếu sót phổ biến của các trang hiện hành: thiếu cơ chế tạo tài khoản thành viên, chưa tích hợp ví điện tử thanh toán tự động, thiếu bộ lọc kích cỡ/màu sắc, hoặc hiển thị sản phẩm hết hàng lẫn lộn. Từ đó, chương đưa ra danh sách các bài học cần rút kinh nghiệm (tránh giao diện phức tạp, tối ưu tải ảnh, hạn chế quảng cáo rườm rà) và các tính năng bắt buộc phải bổ sung: hỗ trợ nhiều cửa hàng tham gia buôn bán, tích hợp thanh toán trực tuyến và cung cấp bộ chọn phân loại chi tiết.

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

Nội dung chương này bao gồm tài liệu đặc tả yêu cầu phiên bản 1.0, lược đồ use case tổng thể và chi tiết đặc tả từng luồng nghiệp vụ thông qua sơ đồ tuần tự (Sequence Diagram). Các chức năng được chi tiết hóa theo luồng sự kiện chính, luồng phụ và điểm ngoại lệ cho từng tác tử: từ xem sản phẩm, đăng ký, đăng nhập (bằng tài khoản hoặc số điện thoại), đặt hàng, bình luận, đến các nghiệp vụ nâng cao như so sánh giá sản phẩm, chia sẻ đơn hàng (chia đơn), quản lý mã giảm giá, xử lý đơn hàng và thống kê doanh thu. Chương cũng phác thảo lược đồ cơ sở dữ liệu quan hệ trên MySQL và các bộ dữ liệu lưu trữ trên MongoDB.

Chương 4: Các công nghệ sử dụng

Chương 4 thuyết minh nền tảng lý thuyết và kiến trúc kỹ thuật của hệ thống. Tác giả trình bày tổng quan về ReactJS ở tầng giao diện; Spring Framework, Spring Data JPA và kiến trúc bảo mật của Spring Security (các lớp User Details Service, cấu hình đăng nhập) ở tầng nghiệp vụ; NodeJS và ExpressJS; cùng nguyên lý hoạt động của hai hệ quản trị cơ sở dữ liệu MySQL và MongoDB. Chương phân tích cách tổ chức phân tầng ứng dụng gồm tầng xử lý nghiệp vụ (Business Logic Layer) và tầng truy cập dữ liệu (Data Access Layer) trên mô hình chạy song song 2 server.

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

Chương này minh chứng kết quả hiện thực hóa giao diện và luồng xử lý thực tế qua ảnh chụp màn hình kiểm thử. Các màn hình chức năng được cài đặt đầy đủ gồm:

  • Phân hệ người dùng: Form đăng nhập, đăng nhập qua số điện thoại, quên mật khẩu, trang thông tin tài khoản, đổi mật khẩu, trang đơn hàng đã đặt, thông tin chi tiết đơn hàng, form nhận xét, trang thông tin sản phẩm, tích hợp thanh toán qua PayPal, so sánh giá, chia sẻ giỏ hàng.
  • Phân hệ người bán: Trang quản lý cửa hàng, form tạo cửa hàng mới, cập nhật cửa hàng, khôi phục cửa hàng, danh sách sản phẩm chờ duyệt, thống kê doanh thu, form tạo và cập nhật sản phẩm (thông tin cơ bản và thông tin riêng), khôi phục sản phẩm.
  • Phân hệ người giao hàng: Trang quản lý đơn hàng của shipper, danh sách đơn hàng đã nhận, danh sách đơn hàng đã giao thành công.
  • Phân hệ quản trị viên: Các bảng quản trị toàn diện về người dùng, cửa hàng, sản phẩm và đơn hàng.

Chương 6: Kết quả đạt được và hướng phát triển

Chương tổng kết phân định rõ hai kết quả:

  • Về mặt lý thuyết: Nhóm nắm bắt và làm chủ các công nghệ mới gồm ReactJS, Spring Framework, Spring Data JPA, Spring Security, NodeJS và kỹ thuật kết hợp hai cơ sở dữ liệu quan hệ - phi quan hệ.
  • Về mặt hiện thực: Xây dựng thành công phiên bản website 1.0 hoạt động hoàn chỉnh với đầy đủ các phân hệ chức năng cho khách hàng, người bán, shipper và quản trị viên; hiện thực hóa luồng thanh toán trực tuyến qua PayPal. Về hướng phát triển, tác giả xác định tiếp tục cập nhật, hoàn thiện tính năng và nâng cao hiệu năng hệ thống trong các phiên bản kế tiếp.

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

Khóa luận đã hoàn thành các mục tiêu đề ra cho phiên bản phần mềm v1.0 với các kết quả cụ thể:

  • Cài đặt hoàn chỉnh một nền tảng thương mại điện tử đa người bán chuyên ngành đồ thể thao, phân quyền chặt chẽ cho 5 nhóm tác tử (Guest, User, Seller, Shipper, Admin).
  • Thiết lập quy trình vận hành khép kín: Khách hàng đặt mua -> Cửa hàng tiếp nhận và xử lý đơn -> Shipper nhận đơn và giao hàng -> Khách hàng thanh toán và nhận xét sản phẩm.
  • Tích hợp thành công cổng thanh toán điện tử quốc tế PayPal song song với hình thức thanh toán khi nhận hàng (COD).
  • Hiện thực hóa các tính năng tiện ích chuyên biệt được đúc kết từ khảo sát: so sánh giá sản phẩm thể thao, tính năng chia sẻ đơn hàng (chia đơn giữa các người dùng), đăng nhập bằng số điện thoại, phân loại thuộc tính quần áo/dụng cụ thể thao chi tiết, và cơ chế khôi phục dữ liệu cửa hàng/sản phẩm sau khi xóa.
  • Vận hành thử nghiệm hệ thống kiến trúc phân tầng kết hợp Spring Framework và NodeJS với hai cơ sở dữ liệu MySQL và MongoDB, đạt mức chịu tải khoảng 100 người dùng truy cập cùng lúc.

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

Khóa luận tồn tại một số hạn chế theo phạm vi công bố của tài liệu:

  • Mức độ kiểm thử chịu tải dừng lại ở quy mô nhỏ (sức chứa thiết kế khoảng 100 người truy cập đồng thời).
  • Hệ thống thanh toán trực tuyến hiện tại mới tích hợp cổng PayPal, chưa mở rộng sang các ví điện tử nội địa phổ biến tại Việt Nam.
  • Các thuộc tính sản phẩm chuyên sâu mới chỉ tập trung chi tiết vào nhóm đồ may mặc thể thao (categoryclothes), cần hoàn thiện tiếp cho các phân loại dụng cụ chuyên dụng khác.

Hướng phát triển tiếp theo được tác giả nêu ra bao gồm việc tiếp tục cập nhật và bổ sung các tính năng nâng cao trong các phiên bản cập nhật kế tiếp, tối ưu hóa tốc độ xử lý tác vụ nặng (như tải hình ảnh sản phẩm) và nâng cao độ ổn định lâu dài cho hệ sinh thái.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin khi thực hiện đồ án tốt nghiệp hoặc các dự án phát triển phần mềm thương mại điện tử.

Những nội dung có giá trị tham khảo nổi bật bao gồm:

  • Phương pháp khảo sát, lập bảng so sánh và phân tích ưu - nhược điểm của các website thương mại điện tử thực tế trên thị trường.
  • Mẫu tài liệu đặc tả use case chuẩn mực, kèm theo hệ thống sơ đồ tuần tự (Sequence Diagram) chi tiết mô tả rõ luồng tương tác giữa giao diện người dùng, Controller, Service, Model/Entity và Cơ sở dữ liệu.
  • Kỹ thuật xây dựng kiến trúc đa công nghệ, kết hợp Spring Framework (Spring Boot/JPA/Security) và NodeJS, phối hợp đồng thời cơ sở dữ liệu MySQL và MongoDB trên mô hình máy chủ kép.

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

Khóa luận giải quyết nhược điểm nào phổ biến nhất ở các website kinh doanh đồ thể thao đã khảo sát?
Qua việc khảo sát Sporter.vn, Sport1.vn, Thethaokimthanh.vn và Draha.vn, khóa luận đã giải quyết các nhược điểm lớn gồm: bổ sung cơ chế quản lý tài khoản người dùng, tích hợp cổng thanh toán trực tuyến (PayPal), hỗ trợ bộ lọc và tùy chọn màu sắc - kích cỡ sản phẩm, đồng thời cho phép nhiều cửa hàng khác nhau cùng tham gia tạo gian hàng kinh doanh thay vì chỉ là website đơn lẻ của một cửa hàng.

Hệ thống phân quyền cho những đối tượng (actor) nào và sự khác biệt chính giữa họ là gì?
Hệ thống phân chia thành 5 nhóm tác tử: Khách vãng lai (Guest - chỉ xem và tìm kiếm), Khách hàng (User - mua hàng, thanh toán, bình luận, chia sẻ đơn), Người bán (Seller - quản lý gian hàng, đăng bán sản phẩm, theo dõi doanh thu), Người giao hàng (Shipper - tiếp nhận và xác nhận giao đơn hàng), và Người quản trị (Admin - kiểm soát toàn bộ người dùng, cửa hàng, sản phẩm và giao dịch).

Kiến trúc cơ sở dữ liệu của đồ án được tổ chức như thế nào?
Đồ án áp dụng mô hình cơ sở dữ liệu lai, kết hợp giữa MySQL và MongoDB. MySQL chịu trách nhiệm lưu trữ các dữ liệu có cấu trúc, quan hệ chặt chẽ như tài khoản người dùng, phân quyền, giao dịch đơn hàng và thông tin cơ bản; trong khi MongoDB được dùng để lưu trữ linh hoạt các lược đồ thuộc tính chi tiết sản phẩm theo từng nhóm ngành hàng thể thao.

Chức năng thanh toán của website được hiện thực hóa qua các phương thức nào?
Website hỗ trợ 2 phương thức thanh toán: thanh toán bằng 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 PayPal.

Các tính năng nổi bật nào được bổ sung nhằm gia tăng trải nghiệm người dùng ngoài nghiệp vụ mua bán thông thường?
Đồ án cài đặt thêm tính năng so sánh giá giữa các sản phẩm, chức năng chia sẻ đơn hàng (group order / chia đơn với bạn bè), đăng nhập bằng số điện thoại, quản lý mã giảm giá (sale off), cùng tính năng khôi phục cửa hàng và khôi phục sản phẩm cho người bán.

Kết luận

Khóa luận tốt nghiệp "Xây dựng website thương mại điện tử kinh doanh đồ thể thao" của sinh viên Nguyễn Lâm Gia Khang và Nguyễn Thành Công đã giải quyết thành công bài toán số hóa kênh phân phối đồ thể thao thông qua mô hình sàn đa cửa hàng tích hợp khâu vận chuyển. Đề tài kết hợp hiệu quả các công nghệ ReactJS, Spring Framework, NodeJS cùng hệ quản trị dữ liệu MySQL và MongoDB, đáp ứng tốt các yêu cầu chức năng từ đặt hàng, thanh toán PayPal đến phân quyền quản trị 5 nhóm tác tử. Đây là công trình thực nghiệm kỹ thuật phần mềm hoàn chỉnh, có giá trị học thuật và ứng dụng cao cho việc nghiên cứu, phát triển các hệ thống thương mại điện tử chuyên ngành.