Bối cảnh và vấn đề nghiên cứu
Sự phát triển của Internet đã biến mạng toàn cầu thành một công cụ trao đổi thông tin và nền tảng kinh doanh thiết yếu, giúp tối ưu hóa tốc độ vận hành và giảm thiểu chi phí đáng kể so với các phương thức truyền thống. Trong bối cảnh đó, các website thương mại điện tử (TMĐT) ra đời như một giải pháp thay đổi mô hình kinh doanh cũ, cho phép các doanh nghiệp vận hành trực tiếp ở quy mô toàn cầu, từ tiếp thị sản phẩm, đàm phán, cung cấp dịch vụ đặt hàng, đa dạng hóa phương thức thanh toán cho đến hỗ trợ khách hàng nhanh chóng.
Xuất phát từ thực tế nhu cầu mua sắm trực tuyến tại nhà ngày càng gia tăng, đặc biệt là nhu cầu đối với các sản phẩm may mặc và phụ kiện thời trang, nhóm tác giả đã lựa chọn đề tài "Xây dựng website thương mại điện tử bán phụ kiện thời trang" (Building an e-commerce website for selling fashion accessories). Đề tài hướng tới việc xây dựng một nền tảng bán hàng trực quan, cung cấp đầy đủ thông tin, hình ảnh giúp khách hàng dễ dàng đưa ra quyết định mua sắm, đồng thời cung cấp công cụ quản lý bán hàng hiệu quả cho chủ cửa hàng.
Mục tiêu và nhiệm vụ cụ thể của đề tài bao gồm:
- Nghiên cứu và tìm hiểu các công nghệ phát triển ứng dụng web hiện đại.
- Nắm vững mô hình kiến trúc website được ứng dụng trong đề tài.
- Nâng cao kỹ năng thao tác, xử lý dữ liệu với hệ cơ sở dữ liệu và hiểu rõ luồng luân chuyển dữ liệu trong hệ thống.
- Xây dựng website thương mại điện tử hoàn chỉnh đáp ứng nhu cầu của hai nhóm đối tượng:
- Về phía cửa hàng (Shop): Hỗ trợ quản lý hoạt động kinh doanh dễ dàng hơn; nắm bắt kịp thời xu hướng thị trường; mở rộng quy mô bán hàng với tốc độ nhanh và cắt giảm tối đa chi phí so với bán hàng truyền thống.
- Về phía khách hàng (Client): Mua sắm thuận tiện, dễ dàng và nhanh chóng; hỗ trợ các phương thức thanh toán an toàn, tiện lợi; mở rộng sự lựa chọn theo nhu cầu và thị hiếu; tiếp cận sản phẩm trực tiếp từ nhà sản xuất không qua trung gian.
Đề tài là đồ án tốt nghiệp (Capstone Project / Graduation Thesis, mã số tài liệu: SKL012469) ngành Công nghệ Thông tin tại Khoa Đào tạo Quốc tế, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh. Thời gian thực hiện đồ án kéo dài trong 15 tuần (từ tháng 07/2023 đến tháng 12/2023) do hai sinh viên Trần Văn Thiên (MSSV: 19110136) và Lê Công Thương (MSSV: 19110058) thực hiện dưới sự hướng dẫn của ThS. Nguyễn Trần Thị Vân và phản biện bởi ThS. Lê Văn Vinh.
Cơ sở lý thuyết và phương pháp
Đề tài áp dụng các nền tảng lý thuyết và công nghệ phát triển phần mềm chuẩn mực trong ngành Công nghệ Thông tin:
- Khung công nghệ: Sử dụng ngôn ngữ lập trình Java kết hợp framework Spring Boot cho tầng xử lý nghiệp vụ phía máy chủ (Backend); thư viện ReactJS và framework CSS Bootstrap cho tầng giao diện người dùng (Frontend); hệ quản trị cơ sở dữ liệu quan hệ PostgreSQL; tiêu chuẩn JSON Web Token (JWT) phục vụ cơ chế xác thực và phân quyền; công cụ Swagger để tài liệu hóa và kiểm thử giao diện lập trình ứng dụng (API).
- Kiến trúc phần mềm: Áp dụng mô hình kiến trúc nguyên khối (Monolithic Architecture).
- Phương pháp nghiên cứu:
- Phương pháp khảo sát, phân tích hiện trạng: Nghiên cứu, đánh giá thực tế trải nghiệm người dùng (UI/UX) và các tính năng giao dịch trên 4 website thời trang nổi tiếng trong nước và quốc tế bao gồm The Blue, Ninomaxx, Gucci và Chanel.
- Phương pháp phân tích và thiết kế hệ thống: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng biểu đồ trường hợp sử dụng (Use Case Diagram), biểu đồ tuần tự (Sequence Diagram) và biểu đồ quan hệ thực thể cơ sở dữ liệu (Database Diagram).
- Phương pháp cài đặt và kiểm thử: Thiết lập cơ sở dữ liệu qua công cụ pgAdmin, cấu hình thư viện xác thực bảo mật và thực hiện kiểm thử chức năng mã nguồn.
Nguồn dữ liệu của đề tài bao gồm dữ liệu khảo sát từ các nền tảng thương mại điện tử thực tế và mô hình cơ sở dữ liệu quan hệ được thiết kế chuẩn hóa cho ngành hàng phụ kiện thời trang.
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình kiến trúc nguyên khối (Monolithic Architecture), tích hợp các thành phần công nghệ:
| Thành phần hệ thống |
Công nghệ / Nền tảng sử dụng |
Vai trò và chức năng chính |
| Giao diện người dùng (Frontend) |
ReactJS, Bootstrap |
Xây dựng giao diện tương tác động, đáp ứng hiển thị trên nhiều thiết bị và tối ưu trải nghiệm mua sắm. |
| Hệ thống xử lý (Backend) |
Java, Spring Boot |
Xử lý toàn bộ logic nghiệp vụ, quản lý phiên làm việc, điều hướng dữ liệu và cung cấp RESTful API. |
| Cơ sở dữ liệu (Database) |
PostgreSQL (quản trị qua pgAdmin) |
Lưu trữ có cấu trúc toàn bộ dữ liệu người dùng, phân quyền, sản phẩm, giỏ hàng, hóa đơn, sự kiện. |
| Xác thực & Bảo mật |
JSON Web Token (JWT), Social Auth |
Cấp phát token bảo mật cho các phiên đăng nhập, hỗ trợ đăng nhập qua mạng xã hội (Google, Facebook). |
| Tài liệu hóa API |
Swagger |
Khởi tạo tài liệu mô tả đặc tả API và hỗ trợ kiểm thử các điểm cuối (endpoints). |
| Cổng thanh toán |
PayPal, VNPay |
Tích hợp cổng thanh toán trực tuyến trong nước và quốc tế. |
Cơ sở dữ liệu của hệ thống được tổ chức thành các bảng chuyên biệt:
- Nhóm bảng người dùng:
User, User role, User Profile, User method payment, User address, Social account.
- Nhóm bảng sản phẩm:
Product, Product visual, Product rating, Product rating visual, Product categories, Product description, Product description visual, Product detail, Product item detail, Product item, Product option detail, Product option.
- Nhóm bảng giao dịch và tiện ích:
Order, Order detail, Notification, Cart item, Cart item detail address.
Quy trình triển khai bao gồm cài đặt môi trường PostgreSQL qua pgAdmin, tích hợp thư viện JSON Web Token vào dự án Spring Boot, thiết lập cấu hình bảo mật và thực thi kiểm thử mã nguồn theo các kịch bản sử dụng.
Nội dung chính theo từng chương
Chương 1: Giới thiệu (Introduction)
Chương 1 trình bày tổng quan về sự phát triển của Internet và vai trò của website thương mại điện tử trong việc hiện đại hóa hoạt động kinh doanh, xúc tiến thương mại toàn cầu. Tác giả nêu rõ lý do lựa chọn đề tài xuất phát từ nhu cầu thực tế của thị trường đối với mặt hàng thời trang và phụ kiện. Chương này xác định mục tiêu dự án đối với hai đối tượng thụ hưởng là chủ cửa hàng và người mua hàng, đồng thời định hình kế hoạch thực hiện trong thời gian 15 tuần.
Chương 2: Khảo sát hiện trạng và mô hình hóa yêu cầu (Current Status Survey and Requirements Modeling)
Nội dung chương tập trung khảo sát hiện trạng 4 website thời trang tiêu biểu nhằm rút ra các bài học thiết kế giao diện (UI/UX) và chức năng:
| Website khảo sát |
Ưu điểm ghi nhận |
Nhược điểm ghi nhận |
| The Blue (theblues.com.vn) |
Giao diện đẹp, dễ dùng; có voucher, khuyến mãi; tích điểm khi mua; cho phép thêm giỏ hàng không cần đăng nhập; chọn lọc sản phẩm trong giỏ để thanh toán; hỗ trợ thanh toán online và đăng nhập đa phương thức. |
Chỉ hỗ trợ thanh toán qua thẻ ngân hàng và tiền mặt online. |
| Ninomaxx (ninomaxxconcept.com) |
Giao diện bắt mắt, dễ nhìn; thông tin sản phẩm đầy đủ; cho phép mua/thêm giỏ hàng không cần đăng nhập; có khuyến mãi, voucher. |
Phải liên kết qua trang mua hàng khác; người nước ngoài khó tiếp cận mua sắm; thanh toán khó thao tác. |
| Gucci (gucci.com) |
Giao diện ấn tượng, thông tin chi tiết đầy đủ, cho phép mua hàng không cần đăng nhập, có chương trình khuyến mãi. |
Phải kết hợp trang mua hàng trung gian; khó khăn cho người mua quốc tế; triển khai thanh toán phức tạp. |
| Chanel (chanel.com) |
Phân loại sản phẩm rõ ràng; có thanh tìm kiếm đăng nhập; đầy đủ chức năng bán hàng cơ bản; cho phép thêm giỏ hàng tự do. |
Khi bấm "Mua ngay" hệ thống tự động đưa toàn bộ sản phẩm trong giỏ vào đơn hàng; đăng nhập khó; bất tiện cho khách nước ngoài. |
Từ kết quả khảo sát, nhóm tác giả mô hình hóa các yêu cầu chức năng cốt lõi cho hệ thống:
- Chức năng phía khách hàng: Đăng ký/đăng nhập đa hình thức (Số điện thoại, Facebook, Google); xem thông tin và quản lý tài khoản; tìm kiếm sản phẩm; quản lý giỏ hàng và tính giá khuyến mãi; thanh toán trực tuyến (VNPay, PayPal, MoMo); theo dõi trạng thái đơn hàng; hỗ trợ trực tuyến.
- Chức năng phía cửa hàng: Quản lý thông tin sản phẩm và kho hàng; lưu trữ và quản lý thông tin khách hàng; quản lý doanh thu; tích hợp quản lý đơn hàng và giao hàng.
Chương 3: Phân tích và thiết kế hệ thống (System Analysis and Design)
Chương 3 chi tiết hóa 2 tác nhân chính trong hệ thống và danh mục 52 trường hợp sử dụng (Use Cases):
- Khách hàng (Customer): Thực hiện các use case liên quan đến xác thực (Đăng nhập thường, đăng nhập mạng xã hội, đăng ký, đăng xuất, quên mật khẩu, đổi mật khẩu), quản lý hồ sơ cá nhân (cập nhật thông tin, xóa tài khoản, xem địa chỉ), tương tác sản phẩm (tìm kiếm, lọc theo đặc tính, sắp xếp theo giá, đánh giá/bình luận, báo cáo sản phẩm, chia sẻ sản phẩm, thêm/xóa danh sách yêu thích), mua hàng và thanh toán (thêm vào giỏ, tăng/giảm số lượng, xóa sản phẩm khỏi giỏ, xóa toàn bộ giỏ hàng, áp dụng mã giảm giá, tạo đơn hàng mới, chọn phương thức thanh toán, hủy đơn hàng, xem lịch sử mua sắm, theo dõi vận chuyển), tương tác hỗ trợ (nhận thông báo hệ thống và khuyến mãi, chat với nhân viên, tương tác với trợ lý ảo/AI box, xem trang giới thiệu/chính sách, xem vị trí cửa hàng qua bản đồ GPS).
- Chủ cửa hàng / Nhân viên (Shop Owner / Staff): Thực hiện các use case quản lý tài khoản nhân viên (thêm, sửa, xóa tài khoản), quản lý sản phẩm (thêm, sửa, xóa thông tin chi tiết sản phẩm, tìm kiếm sản phẩm), quản lý đơn hàng và hóa đơn (thêm, sửa, xóa hóa đơn, xác nhận bán và xuất đơn hàng cho bộ phận vận chuyển), quản lý khách hàng (thêm, xóa, tra cứu thông tin khách hàng), quản lý sự kiện - khuyến mãi (tạo mới, chỉnh sửa, xóa sự kiện ưu đãi, cấu hình giảm giá), theo dõi báo cáo thống kê (thống kê doanh thu, theo dõi số lượng thiết bị/sản phẩm đã bán và tồn kho).
Chương này cũng trình bày chi tiết các biểu đồ tuần tự (Sequence Diagram) cho các luồng nghiệp vụ quan trọng: Đăng ký tài khoản, thay đổi thông tin tài khoản, quản lý đơn hàng, quản lý tài khoản người dùng, quản lý sản phẩm, quản lý giỏ hàng, xem sản phẩm, tìm kiếm sản phẩm, thực hiện thanh toán; cùng sơ đồ cấu trúc cơ sở dữ liệu tổng thể.
Chương 4: Kiến trúc hệ thống và công nghệ sử dụng (System Architecture and Technologies Used)
Chương 4 phân tích cơ sở lý thuyết và lý do lựa chọn các công nghệ triển khai: mô hình Monolithic Architecture, thư viện ReactJS cho giao diện máy khách, nền tảng Spring Boot cho máy chủ, hệ thống cơ sở dữ liệu PostgreSQL, cơ chế mã hóa và truyền nhận token an toàn qua JSON Web Token (JWT), và tích hợp Swagger phục vụ việc chuẩn hóa API.
Chương 5: Thiết kế giao diện người dùng (Design UI)
Chương 5 mô tả chi tiết thiết kế trực quan của toàn bộ các trang giao diện trong hệ thống, bao gồm:
- Màn hình Đăng nhập (Sign In) và Đăng ký (Sign Up).
- Phần Đầu trang (Header), Chân trang (Footer), Trang chủ (Home Page) hiển thị danh mục và sản phẩm nổi bật.
- Trang Danh mục sản phẩm (Product Category Page 1 & 2).
- Trang Chi tiết sản phẩm (Product Detail Page) kèm phần mô tả, khối đánh giá/bình luận (Rating & Comment) và danh sách sản phẩm liên quan.
- Trang Giỏ hàng (Cart Page) và danh sách sản phẩm gợi ý.
- Trang Thanh toán (Payment Page).
- Trang Hồ sơ cá nhân (User Profile), Sổ địa chỉ (User Address), Trang quản lý đơn mua (Purchase Page).
- Luồng đổi mật khẩu và bảo mật: Trang đổi mật khẩu, trang gửi mã xác thực (Send verification code) và trang nhập mã xác thực (Verification code page).
- Trang Quản trị dành cho cửa hàng (Admin Page).
Chương 6: Cài đặt và kiểm thử mã nguồn (Installation and Testing Code)
Chương 6 hướng dẫn chi tiết quy trình thiết lập môi trường hệ thống: cài đặt PostgreSQL thông qua công cụ pgAdmin, cấu hình và tải các gói thư viện JSON Web Token, đồng thời trình bày các phương pháp, kỹ thuật kiểm thử được áp dụng để xác thực tính đúng đắn của các chức năng trên website.
Kết quả và đóng góp
Đồ án đã đạt được các kết quả cụ thể:
- Xây dựng hoàn chỉnh một website thương mại điện tử chuyên ngành phụ kiện thời trang với đầy đủ chức năng cho cả hai nhóm người dùng (khách hàng và người quản trị) sau 15 tuần thực hiện.
- Triển khai thành công hệ thống chức năng nghiệp vụ toàn diện: từ đăng ký, đăng nhập đa kênh, tìm kiếm, lọc, xem chi tiết, giỏ hàng, đặt hàng, thanh toán qua cổng VNPay và PayPal, đến hệ thống quản lý sản phẩm, danh mục, sự kiện khuyến mãi, hóa đơn và thống kê doanh thu cho chủ cửa hàng.
- Đóng góp quy trình phân tích và thiết kế hệ thống chi tiết với 52 ca sử dụng (Use Cases), hệ thống biểu đồ tuần tự và mô hình cơ sở dữ liệu quan hệ gồm 19 bảng chuẩn hóa, làm tài liệu tham khảo cho việc xây dựng ứng dụng web bằng Java Spring Boot và ReactJS.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Nhóm tác giả tự nhận định hệ thống vẫn còn một số thiếu sót trong thiết kế do kinh nghiệm thực tế của các thành viên còn ở mức khởi đầu, thời gian triển khai giới hạn trong khuôn khổ 15 tuần của học phần đồ án tốt nghiệp.
- Hướng phát triển: Nhóm tiếp thu các ý kiến đóng góp từ hội đồng giảng viên hướng dẫn (ThS. Nguyễn Trần Thị Vân) và giảng viên phản biện (ThS. Lê Văn Vinh) để tiếp tục tối ưu hóa trải nghiệm giao diện, hoàn thiện các tính năng nâng cao và mở rộng khả năng mở rộng của hệ thống trong tương lai.
Giá trị tham khảo
Đồ án là tài liệu tham khảo phù hợp cho:
- Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm đang thực hiện đồ án tốt nghiệp, khóa luận tốt nghiệp hoặc các đồ án môn học về phát triển ứng dụng web thương mại điện tử.
- Các nhà phát triển muốn tham khảo mô hình phân tích thiết kế hệ thống bán lẻ (đặc tả use case, biểu đồ tuần tự UML, thiết kế CSDL quan hệ).
- Người học cần tài liệu tham khảo thực tế về việc kết hợp kiến trúc nguyên khối với ngăn xếp công nghệ Java Spring Boot, ReactJS, PostgreSQL, xác thực JWT và tích hợp thanh toán trực tuyến PayPal, VNPay.
Câu hỏi thường gặp
1. Đề tài sử dụng những công nghệ và ngôn ngữ lập trình nào để xây dựng website?
Hệ thống sử dụng ngôn ngữ lập trình Java với Spring Boot ở phía Backend, ReactJS và Bootstrap ở phía Frontend, hệ quản trị cơ sở dữ liệu PostgreSQL (quản trị bằng pgAdmin), xác thực phiên bằng JSON Web Token (JWT), tài liệu hóa API bằng Swagger và áp dụng kiến trúc nguyên khối (Monolithic Architecture).
2. Hệ thống hỗ trợ những phương thức thanh toán trực tuyến nào?
Hệ thống được thiết kế tích hợp hai cổng thanh toán trực tuyến chính thức là PayPal và VNPay (trong phần khảo sát nhu cầu ban đầu có định hướng thêm ví MoMo).
3. Nhóm tác giả đã tiến hành khảo sát những website thương mại điện tử nào để mô hình hóa yêu cầu?
Nhóm đã khảo sát và phân tích ưu, nhược điểm thực tế của 4 website thời trang gồm: The Blue (theblues.com.vn), Ninomaxx (ninomaxxconcept.com), Gucci (gucci.com) và Chanel (chanel.com).
4. Hệ thống phân chia bao nhiêu tác nhân và tổng cộng bao nhiêu trường hợp sử dụng (use case)?
Hệ thống xác định 2 tác nhân chính là Khách hàng (Customer) và Chủ cửa hàng/Nhân viên (Shop Owner / Staff), với tổng cộng 52 trường hợp sử dụng (Use Cases) được đặc tả chi tiết trong bảng phân tích hệ thống.
5. Thời gian thực hiện và cơ quan đào tạo của đồ án là gì?
Đồ án được thực hiện trong thời gian 15 tuần (từ tháng 07/2023 đến tháng 12/2023) tại Khoa Đào tạo Quốc tế, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.
Kết luận
Khóa luận tốt nghiệp của sinh viên Lê Công Thương và Trần Văn Thiên đã hoàn thành mục tiêu xây dựng website thương mại điện tử bán phụ kiện thời trang hoàn chỉnh dựa trên ngăn xếp công nghệ Java Spring Boot, ReactJS và PostgreSQL. Đồ án cung cấp hệ thống tài liệu phân tích thiết kế chi tiết với 52 use cases, biểu đồ tuần tự và thiết kế cơ sở dữ liệu chuẩn hóa đáp ứng yêu cầu quản lý bán hàng và trải nghiệm mua sắm trực tuyến. Đây là tài liệu tham khảo thực tế có giá trị cho sinh viên và lập trình viên trong việc phát triển các ứng dụng thương mại điện tử nguyên khối hiện đại.