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à ứng dụng sâu rộng vào hoạt động quản trị doanh nghiệp, mạng Internet cùng các nền tảng số đã làm thay đổi căn bản hành vi tiêu dùng và phương thức kinh doanh thương mại. Theo số liệu thống kê được tác giả trích dẫn trong văn bản, doanh số bán lẻ trên Internet tại Việt Nam có sự tăng trưởng rõ rệt: năm 2020 đạt mức 13 tỷ đồng và đến năm 2022 đã tăng lên 35 tỷ đồng. Đồng thời, Việt Nam ghi nhận tỷ lệ dân số mua sắm trực tuyến thuộc nhóm cao nhất khu vực Đông Nam Á với khoảng 49,3 triệu người tham gia, tương đương 41% dân số. Thực tế này biến các kênh thương mại điện tử trở thành một phương thức phân phối quan trọng bên cạnh mô hình bán lẻ truyền thống.

Cửa hàng The 2000 Unisex Store được thành lập vào tháng 12 năm 2020 tại địa chỉ 86 Phạm Văn Đồng, phường Phú Thượng, tỉnh Thừa Thiên Huế. Đơn vị này chuyên kinh doanh các mặt hàng quần áo phong cách unisex dành cho cả nam lẫn nữ, hướng đến nhóm khách hàng trẻ tuổi. Trước thời điểm nghiên cứu, hoạt động bán hàng của đơn vị chủ yếu diễn ra trực tiếp tại cửa hàng và thông qua trang mạng xã hội Facebook (Fanpage). Mô hình này bộc lộ nhiều điểm nghẽn nghiệp vụ thực tế:

  • Quá tải tin nhắn tư vấn và đặt hàng trên Fanpage, khiến người quản lý tiêu tốn nhiều thời gian phản hồi thủ công cho từng khách hàng.
  • Quy trình mua hàng trực tuyến qua tin nhắn còn phức tạp, làm giảm trải nghiệm của người tiêu dùng và gây khó khăn cho việc quản lý trạng thái xử lý đơn hàng.
  • Khâu tổng hợp số liệu kinh doanh và thống kê doanh thu theo từng mặt hàng, từng chu kỳ thời gian bị gián đoạn, thiếu công cụ hỗ trợ trực quan.
  • Tỷ lệ khách hàng hoàn tất đặt hàng nhưng từ chối nhận hàng (hủy đơn khi giao) làm phát sinh chi phí vận chuyển phải chi trả cho bên thứ ba, ảnh hưởng trực tiếp đến hiệu quả kinh doanh.

Từ những hạn chế trên, đề tài khóa luận "Xây dựng website thương mại điện tử cho cửa hàng The 2000 Unisex Store sử dụng Framework Laravel" được thực hiện nhằm giải quyết bài toán tự động hóa quy trình đặt hàng, thanh toán và quản trị bán hàng của đơn vị.

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

  1. Mục tiêu tổng quát: Xây dựng thành công website thương mại điện tử cho cửa hàng The 2000 Unisex Store sử dụng Framework Laravel nhằm hỗ trợ khách hàng tiếp cận sản phẩm thuận tiện và cung cấp giao diện quản trị trực quan.
  2. Mục tiêu cụ thể:
    • Khảo sát được quy trình quản lý bán hàng thực tế tại cửa hàng The 2000 Unisex Store.
    • Vận dụng phương pháp phân tích và thiết kế hệ thống theo hướng đối tượng vào việc mô hình hóa và thiết kế website thương mại điện tử cho cửa hàng.
    • Nghiên cứu và vận dụng các công cụ, ngôn ngữ lập trình gồm PHP, HTML, CSS, JavaScript, jQuery, Bootstrap, MySQL, PHPMyAdmin, kiến trúc MVC và Framework Laravel để hoàn thiện hệ thống website.

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

  • Đối tượng nghiên cứu: Quy trình quản lý bán hàng tại cửa hàng The 2000 Unisex Store; phương pháp phân tích, thiết kế và phát triển hệ thống thông tin theo hướng đối tượng; nền tảng Laravel cùng các công cụ hỗ trợ xây dựng website.
  • Phạm vi không gian: Nghiên cứu được triển khai gắn liền với hoạt động kinh doanh của cửa hàng The 2000 Unisex Store tại số 86 Phạm Văn Đồng, phường Phú Thượng, tỉnh Thừa Thiên Huế.
  • Phạm vi thời gian: Đề tài được thực hiện trong khoảng thời gian từ ngày 25/12/2023 đến ngày 14/04/2024.

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

Khung lý thuyết của đề tài dựa trên các khái niệm nền tảng về thương mại điện tử và các văn bản quy phạm pháp luật hiện hành tại Việt Nam:

  • Định nghĩa thương mại điện tử: Tác giả dẫn chiếu khái niệm của Tổ chức Thương mại Thế giới (WTO), theo đó thương mại điện tử bao gồm các khâu sản xuất, quảng cáo, bán hàng và phân phối sản phẩm được mua bán, thanh toán thông qua mạng Internet, còn việc giao nhận có thể diễn ra dưới hình thức hữu hình hoặc số hóa.
  • Khung pháp lý: Khóa luận căn cứ vào Điều 25 Nghị định số 52/2013/NĐ-CP của Chính phủ về thương mại điện tử để phân loại hệ thống thành hai nhóm: "Website thương mại điện tử bán hàng" (do cá nhân/tổ chức thiết lập để phục vụ xúc tiến thương mại, bán hàng hóa của chính mình) và "Website cung cấp dịch vụ thương mại điện tử" (môi trường cho các bên khác tiến hành hoạt động thương mại). Ứng dụng của đề tài thuộc nhóm Website thương mại điện tử bán hàng.
  • Kiến trúc phần mềm: Đề tài áp dụng mẫu kiến trúc MVC (Model - View - Controller). Trong đó, Model đảm nhiệm logic dữ liệu và tương tác cơ sở dữ liệu; View chịu trách nhiệm hiển thị giao diện người dùng; Controller tiếp nhận yêu cầu (Request), điều phối xử lý giữa Model và View trước khi trả kết quả về cho trình duyệt.

Phương pháp nghiên cứu được triển khai qua hai nhóm hoạt động chính:

  • Nhóm phương pháp thu thập thông tin:
    • Phương pháp nghiên cứu tài liệu: Khảo sát các website bán hàng trực tuyến tương tự trên thị trường, phân tích ưu và nhược điểm của các giải pháp hiện hữu; tổng hợp tài liệu chuyên ngành về thiết kế web và lập trình framework.
    • Phương pháp quan sát: Khảo sát thực tế phương thức vận hành kinh doanh và cách thức triển khai website của các cửa hàng bán lẻ trên địa bàn tỉnh Thừa Thiên Huế.
    • Phương pháp phỏng vấn: Phỏng vấn trực tiếp người quản lý cửa hàng The 2000 Unisex Store để ghi nhận quy trình bán lẻ tại quầy, quy trình chốt đơn qua mạng xã hội, các khó khăn phát sinh và yêu cầu đối với hệ thống mới.
  • Nhóm phương pháp phát triển hệ thống thông tin:
    • Phân tích và thiết kế theo hướng đối tượng: Sử dụng công cụ Diagram.net để xây dựng biểu đồ ca sử dụng (Use Case Diagram), biểu đồ tuần tự (Sequence Diagram) và mô hình dữ liệu quan hệ.
    • Xây dựng phần mềm: Lập trình mã nguồn phía máy chủ bằng ngôn ngữ PHP trên nền tảng Laravel Framework, xây dựng cơ sở dữ liệu trên MySQL, phát triển giao diện phía máy khách với HTML, CSS, JavaScript, thư viện jQuery và CSS framework Bootstrap.

Thiết kế và triển khai hệ thống

Hệ thống website thương mại điện tử The 2000 Unisex Store được thiết kế theo cấu trúc ứng dụng web hướng đối tượng nhiều lớp, kết hợp các công nghệ và giải pháp kỹ thuật cụ thể:

1. Kiến trúc ngăn xếp công nghệ (Technology Stack)

  • Tầng giao diện người dùng (Client-Side): Sử dụng HTML5 định hình cấu trúc trang; CSS3 và thư viện Bootstrap hỗ trợ thiết kế giao diện thích ứng (Responsive); JavaScript và jQuery xử lý các tương tác động, biểu mẫu và xác thực phía người dùng.
  • Tầng máy chủ ứng dụng (Server-Side): Ngôn ngữ lập trình PHP chạy trên nền tảng Laravel Framework. Hệ thống sử dụng các thành phần cốt lõi của Laravel bao gồm: hệ thống định tuyến (Routing), cơ chế ánh xạ quan hệ đối tượng Eloquent ORM, bộ lọc kiểm soát Middleware, hệ thống chứng thực và phân quyền (Authentication & Authorization).
  • Cơ chế bảo mật tích hợp: Sử dụng giao diện dữ liệu PHP Data Objects (PDO) bên trong Laravel để ngăn chặn lỗi tấn công SQL Injection; sử dụng trường mã thông báo ẩn (CSRF Token) trong toàn bộ các biểu mẫu nhằm phòng chống tấn công giả mạo yêu cầu chéo trang (Cross-Site Request Forgery).
  • Tầng lưu trữ cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu MySQL, được quản trị trực tiếp thông qua công cụ PHPMyAdmin. Dữ liệu được tổ chức thành các bảng quan hệ đại diện cho tài khoản, sản phẩm, danh mục thể loại, thương hiệu, bài viết, đơn đặt hàng và chi tiết đơn hàng.

2. Tích hợp cổng thanh toán trực tuyến VNPay

Website thiết lập quy trình kết nối với cổng thanh toán VNPay theo chu trình xử lý 6 bước tiêu chuẩn:

  • Bước 1: Khách hàng chọn phương thức thanh toán trực tuyến tại màn hình giỏ hàng/thanh toán của website.
  • Bước 2: Hệ thống website tổng hợp thông tin đơn hàng, tạo chuỗi URL thanh toán chứa các tham số mã hóa và điều hướng trình duyệt sang cổng thanh toán VNPay.
  • Bước 3 và Bước 4: Khách hàng lựa chọn phương thức ngân hàng liên kết, nhập thông tin tài khoản và thực hiện xác thực bảo mật (mật khẩu/mã xác thực giao dịch).
  • Bước 5: Sau khi ngân hàng xử lý giao dịch thành công, cổng thanh toán VNPay thực hiện hai tác vụ: điều hướng người dùng quay trở lại website qua địa chỉ phản hồi hiển thị (vnp_ReturnUrl) và gửi thông báo kết quả giao dịch ngầm giữa hai máy chủ qua địa chỉ thông báo trạng thái (vnp_IpnURL).
  • Bước 6: Website tiếp nhận dữ liệu trả về, cập nhật trạng thái đơn hàng trong cơ sở dữ liệu và hiển thị màn hình thông báo kết quả giao dịch thành công cho khách hàng.

3. Đóng gói và môi trường triển khai

  • Hệ thống sử dụng trình soạn thảo mã nguồn Visual Studio Code cho toàn bộ quá trình phát triển mã nguồn.
  • Môi trường chạy ứng dụng được đóng gói bằng nền tảng container Docker thông qua tệp cấu hình Dockerfile và tệp thiết lập cấu hình cổng dịch vụ của máy chủ dịch vụ web Nginx. Việc đóng gói này giúp tiêu chuẩn hóa các thư viện phụ thuộc, môi trường PHP, máy chủ web và phiên bản cơ sở dữ liệu, đảm bảo ứng dụng có thể chạy đồng nhất trên các môi trường máy chủ khác nhau.

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

Chương 1: Cơ sở lý luận về việc xây dựng website thương mại điện tử

Chương này tổng kết toàn diện cơ sở lý thuyết về thương mại điện tử, cấu trúc một website bán hàng và các công cụ kỹ thuật liên quan:

  • Bản chất và đặc điểm thương mại điện tử: Phân tích các lợi ích kinh tế (tiết kiệm chi phí vận hành, mở rộng phạm vi tiếp cận khách hàng, tăng trưởng doanh số) và các rào cản đặc thù (hạn chế về tương tác trực tiếp mặt đối mặt, áp lực cạnh tranh gay gắt, thách thức trong khâu vận chuyển và phụ thuộc lớn vào sự ổn định kỹ thuật của máy chủ).
  • Đặc điểm của website thương mại điện tử bán hàng: Nhấn mạnh 4 yếu tố cấu thành trải nghiệm người dùng gồm chất lượng hình ảnh/video sản phẩm trực quan, khả năng cung cấp thông tin kịp thời - chính xác, thao tác đặt hàng thuận tiện và tính năng lưu trữ giỏ hàng.
  • Nền tảng công nghệ xây dựng website: Giới thiệu cú pháp, vai trò của PHP, HTML, CSS, JavaScript và Bootstrap. Phân tích chi tiết kiến trúc Laravel Framework, ưu điểm về tốc độ xử lý, khả năng di chuyển lược đồ cơ sở dữ liệu bằng các tệp Migration được sinh bởi công cụ Artisan, và cơ chế ánh xạ Eloquent ORM.
  • Khóa luận lập bảng tổng hợp cấu trúc thư mục tiêu chuẩn của một dự án Laravel:
Thư mục / Tệp tin Vai trò và chức năng chính
/app Chứa mã nguồn chính của ứng dụng gồm Controllers, Models, Views và Assets
/public Chứa tệp khởi động index.php, các tệp tĩnh như CSS, JavaScript, hình ảnh
/vendor Lưu trữ toàn bộ các thư viện và gói mở rộng của bên thứ ba được cài đặt
/app/config/ Chứa các tệp cấu hình tham số hệ thống (app.php, auth.php, cache.php...)
/app/database/migrations/ Chứa các lớp PHP định nghĩa cấu trúc bảng CSDL, quản lý phiên bản qua Artisan
/app/database/seeds/ Chứa các tệp dữ liệu mẫu để đưa vào cơ sở dữ liệu
/app/models/ Chứa các lớp mô hình đại diện cho các bảng dữ liệu
/app/views/ Chứa các tệp giao diện HTML/Blade template do Controller hoặc Route gọi
/app/lang/ Lưu trữ các chuỗi ngôn ngữ phục vụ phân trang, thông báo lỗi xác thực
/app/storage/ Lưu trữ tệp tạm, phiên làm việc (session), bộ nhớ cache và khuôn mẫu biên dịch
/app/routes.php Định nghĩa các tuyến đường dẫn (Route) điều hướng luồng xử lý ứng dụng
  • Quy trình xử lý theo mô hình MVC: Trình bày luồng dữ liệu 3 bước từ khi máy chủ nhận Request, Controller yêu cầu Model truy xuất cơ sở dữ liệu, đến khi Controller chuyển tiếp dữ liệu ra View để tạo giao diện hiển thị cho người dùng.
  • Quy trình tích hợp thanh toán trực tuyến: Trình bày sơ đồ và 6 bước kết nối trao đổi dữ liệu với hệ thống cổng thanh toán VNPay.

Chương 2: Khảo sát và phân tích bài toán xây dựng website thương mại điện tử cho The 2000 Unisex Store

Chương này tập trung khảo sát hiện trạng hoạt động của cửa hàng và thực hiện phân tích nghiệp vụ hệ thống thông tin:

  • Thông tin doanh nghiệp: Giới thiệu cửa hàng The 2000 Unisex Store (thành lập 12/2020 tại Thừa Thiên Huế, số điện thoại liên hệ 077 557 7852, email: nguyenkhacdat226@gmail.com).
  • Thực trạng quy trình bán hàng: Khảo sát quy trình mua hàng trực tiếp tại quầy và bán hàng qua mạng xã hội Facebook; chỉ rõ những khó khăn trong việc tư vấn đơn lẻ qua tin nhắn, tỷ lệ hủy đơn hàng cao và sự bất tiện khi kiểm kê, thống kê doanh thu thủ công.
  • Xác định yêu cầu hệ thống:
    • Yêu cầu phi chức năng: Hệ thống phải đảm bảo giao diện đơn giản, dễ thao tác; tốc độ tải trang nhanh; bảo mật thông tin cá nhân và giao dịch thanh toán của khách hàng; kiến trúc mã nguồn cho phép dễ dàng bảo trì và mở rộng trong tương lai.
    • Phân tích tác nhân hệ thống (Actors): Xác định 3 tác nhân tham gia tương tác với website:
STT Tác nhân (Actor) Quyền hạn và chức năng chính trên hệ thống
1 Quản trị viên (Admin) Quản lý toàn diện hệ thống: quản lý người dùng, sản phẩm, danh mục thể loại, thương hiệu, bài viết, đơn đặt hàng và xem báo cáo thống kê doanh thu theo tháng/năm.
2 Khách hàng thành viên (User) Đăng nhập, đăng xuất, thay đổi mật khẩu; quản lý giỏ hàng; đặt hàng và thanh toán; theo dõi danh sách và trạng thái chi tiết đơn hàng; gửi bình luận đánh giá sản phẩm và bài viết.
3 Khách hàng vãng lai (Guest) Tìm kiếm sản phẩm; lọc và sắp xếp sản phẩm theo các tiêu chí (mới nhất, cũ nhất, tên A-Z, tên Z-A, giá tăng, giá giảm); xem bài viết và bình luận; thực hiện đăng ký tài khoản.
  • Phân tích thiết kế hệ thống bằng ngôn ngữ mô hình hóa:
    • Xây dựng Biểu đồ Use Case tổng quát và 7 biểu đồ Use Case phân rã chức năng: Quản lý hệ thống, Quản lý tài khoản, Quản lý sản phẩm, Quản lý bài viết, Quản lý đặt hàng, Quản lý đơn đặt hàng, Quản lý thống kê doanh thu.
    • Xây dựng bảng đặc tả Use Case chi tiết: Tác giả lập bảng đặc tả cho từng chức năng với đầy đủ các luồng sự kiện chính và sự kiện phụ (tiêu biểu như bảng đặc tả Use Case Quản lý tài khoản và Use Case Quản lý sản phẩm).
    • Xây dựng Biểu đồ tuần tự (Sequence Diagram) cho 6 kịch bản tương tác quan trọng: Đăng nhập hệ thống, Xem danh sách tài khoản, Xem thông tin chi tiết tài khoản, Thêm sản phẩm vào giỏ hàng, Thanh toán sản phẩm và Xem chi tiết đơn đặt hàng.

Chương 3: Thiết kế, xây dựng và triển khai website thương mại điện tử cho cửa hàng The 2000 Unisex Store

Chương 3 trình bày chi tiết kết quả hiện thực hóa thiết kế hệ thống thành sản phẩm phần mềm:

  • Thiết kế cơ sở dữ liệu: Xây dựng mô hình quan hệ dữ liệu liên kết giữa các thực thể; thiết kế cấu trúc chi tiết các bảng trong MySQL bao gồm các trường dữ liệu, kiểu dữ liệu, khóa chính và khóa ngoại để lưu trữ thông tin sản phẩm, loại hàng, nhãn hiệu, khách hàng, đơn hàng, hóa đơn và bài viết.
  • Thiết kế giao diện:
    • Phân hệ khách hàng: Thiết kế hoàn chỉnh các màn hình chức năng bao gồm Trang chủ, Trang danh mục sản phẩm, Trang chi tiết sản phẩm, Màn hình đăng nhập/đăng ký, Trang giỏ hàng, Giao diện thanh toán đơn hàng, Màn hình liên hệ, Trang danh sách đơn hàng đã đặt và Trang xem chi tiết trạng thái đơn hàng. Tích hợp tính năng gửi email tự động trả về hộp thư của khách hàng để thông báo thông tin xác nhận khi đơn hàng được tạo thành công.
    • Phân hệ quản trị (Admin Dashboard): Xây dựng các trang quản trị trực quan phục vụ người quản lý cửa hàng gồm Trang quản lý tài khoản người dùng, Trang quản lý sản phẩm (thêm, sửa, xóa, gắn nhãn), Trang quản lý đơn đặt hàng (duyệt đơn, chuyển trạng thái), Trang quản lý thể loại, Trang quản lý thương hiệu và Trang thống kê doanh số bán hàng.
  • Xây dựng và triển khai: Mô tả cấu trúc tệp Dockerfile và các thông số thiết lập cổng dịch vụ của Nginx phục vụ chạy container ứng dụng, hoàn tất việc đóng gói hệ thống phục vụ vận hành thực tế.

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

1. Kết quả kỹ thuật và chức năng đạt được

  • Xây dựng hoàn chỉnh website thương mại điện tử cho The 2000 Unisex Store đáp ứng đầy đủ các yêu cầu chức năng đặt ra cho cả 3 nhóm đối tượng (Admin, User, Guest).
  • Thiết kế giao diện người dùng trực quan, có tính năng lọc và sắp xếp sản phẩm đa dạng (giá cả, thứ tự chữ cái, thời gian đăng tải), hỗ trợ chức năng giỏ hàng và đặt hàng trực tuyến thuận tiện.
  • Thiết lập thành công tính năng tự động gửi email thông báo xác nhận đơn hàng tới khách hàng ngay khi hoàn tất giao dịch.
  • Tích hợp thành công cổng thanh toán trực tuyến VNPay với luồng xác thực dữ liệu qua vnp_ReturnUrl và vnp_IpnURL, giải quyết được bài toán thanh toán không dùng tiền mặt.
  • Phân hệ quản trị hỗ trợ đầy đủ các thao tác nghiệp vụ CRUD (Thêm, Đọc, Sửa, Xóa) cho danh mục sản phẩm, nhãn hiệu, thể loại, tài khoản người dùng và cung cấp màn hình báo cáo thống kê doanh thu theo tháng và năm.
  • Ứng dụng thành công công nghệ container hóa với Docker và máy chủ web Nginx, chuẩn hóa quy trình triển khai phần mềm.

2. Đóng góp so với các nghiên cứu liên quan trước đó

Trong phần tổng quan nghiên cứu, tác giả đã tiến hành rà soát các khóa luận tốt nghiệp thuộc chuyên ngành Tin học Kinh tế tại Trường Đại học Kinh tế - Đại học Huế. Bảng so sánh dưới đây làm rõ những đóng góp cải tiến của đề tài:

Tiêu chí so sánh Đề tài Happy.herb (Nguyễn Thị Bảo Trâm, 2023) Đề tài Nhà sách Lạc Việt (Trần Thị Thanh, 2022) Đề tài Thức ăn & Phụ kiện thú cưng (Trần Thị Tuyết Nhi, 2022) Đề tài The 2000 Unisex Store (Nguyễn Văn Rôn, 2024)
Công nghệ nền tảng Laravel, PHP, MySQL, Bootstrap, jQuery Laravel, MySQL Laravel, PHP, mô hình MVC Laravel, PHP, MySQL, Bootstrap, Docker
Tích hợp cổng thanh toán Chưa có thanh toán online và chưa liên kết ngân hàng Đã có nhưng chưa tối ưu Chưa liên kết được với tài khoản ngân hàng Tích hợp thành công cổng thanh toán VNPay qua quy trình chuẩn 6 bước
Tính năng tìm kiếm & bộ lọc Một số trang quản lý chưa có chức năng tìm kiếm Giao diện và chức năng chưa hoàn thiện Giao diện đơn giản, chưa thu hút Hỗ trợ tìm kiếm, lọc theo thể loại/thương hiệu, sắp xếp đa tiêu chí
Đóng gói triển khai Chưa đề cập triển khai container Triển khai thông thường Triển khai thông thường Sử dụng Docker (Dockerfile) và Nginx chuẩn hóa môi trường vận hành

Qua bảng đối chiếu, công trình của tác giả Nguyễn Văn Rôn đã giải quyết được các điểm hạn chế điển hình của các khóa luận tiền nhiệm tại đơn vị đào tạo, đặc biệt ở khâu tích hợp thanh toán trực tuyến qua bên thứ ba và đóng gói triển khai ứng dụng bằng Docker.


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

Khóa luận ghi nhận các hạn chế và hướng phát triển trong tương lai dựa trên phạm vi nghiên cứu:

  • Hạn chế:
    • Bản thân nền tảng Laravel có dung lượng các gói phụ thuộc tương đối lớn, nếu không có các giải pháp tối ưu bộ nhớ đệm (cache) chuyên sâu thì có thể ảnh hưởng đến tốc độ tải trang khi lượng dữ liệu và người dùng truy cập tăng cao.
    • Hệ thống chưa tích hợp trực tiếp giao diện lập trình ứng dụng (API) của các đơn vị dịch vụ vận chuyển chuyên nghiệp (như Giao hàng nhanh, Giao hàng tiết kiệm, Viettel Post) để tự động tính phí vận chuyển theo khoảng cách địa lý và cập nhật mã vận đơn thời gian thực.
  • Hướng phát triển đề tài:
    • Tích hợp thêm các API dịch vụ vận chuyển nhằm tự động hóa hoàn toàn quy trình xử lý đơn hàng từ khâu thanh toán đến khâu giao nhận vật lý.
    • Bổ sung các phương thức thanh toán trực tuyến đa dạng khác ngoài VNPay (như thẻ quốc tế, ví điện tử MoMo, ZaloPay).
    • Tối ưu hóa hiệu năng hệ thống, tăng cường bộ nhớ đệm và nghiên cứu xây dựng ứng dụng di động (Mobile App) đồng bộ với hệ thống cơ sở dữ liệu hiện tại để tối ưu trải nghiệm khách hàng.

Giá trị tham khảo

Báo cáo khóa luận mang lại giá trị tham khảo thiết thực cho các đối tượng chuyên môn cụ thể:

  • Sinh viên chuyên ngành Hệ thống thông tin quản lý, Tin học kinh tế, Công nghệ phần mềm: Tài liệu là mẫu tham khảo hoàn chỉnh về quy trình xây dựng đồ án ứng dụng web từ khâu khảo sát thực tế, phân tích yêu cầu, mô hình hóa hướng đối tượng bằng UML (với đầy đủ Use Case, bảng đặc tả chi tiết và biểu đồ tuần tự) đến khâu hiện thực hóa mã nguồn.
  • Lập trình viên mới tiếp cận Laravel Framework: Cung cấp tài liệu tham khảo thực tế về cấu trúc phân cấp thư mục của một dự án Laravel, cách phân quyền người dùng (Admin, User, Guest), phương pháp tương tác cơ sở dữ liệu qua Eloquent ORM và quy trình 6 bước tích hợp cổng thanh toán trực tuyến VNPay.
  • Các cửa hàng bán lẻ thời trang quy mô nhỏ và vừa: Cung cấp bức tranh thực tế về các hạn chế khi phụ thuộc hoàn toàn vào kênh mạng xã hội, đồng thời phác thảo mô hình chuyển đổi số quy trình quản lý bán hàng kết hợp giữa kênh tại quầy và website trực tuyến.

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

1. Tại sao cửa hàng The 2000 Unisex Store phải xây dựng website thương mại điện tử riêng dù đã có kênh bán hàng qua Fanpage Facebook?

Trước khi xây dựng website, cửa hàng kinh doanh chủ yếu qua Fanpage dẫn đến tình trạng quá tải tin nhắn, chủ cửa hàng mất nhiều thời gian trả lời tư vấn từng người, quy trình mua hàng qua chat phức tạp và khâu thống kê doanh thu, đơn hàng thủ công gặp nhiều khó khăn. Ngoài ra, việc khách đặt đơn qua Facebook rồi từ chối nhận hàng khiến cửa hàng phải chịu chi phí vận chuyển phát sinh cho bên thứ ba. Website thương mại điện tử giúp tự động hóa khâu đặt hàng, cung cấp kênh thanh toán trực tuyến và số hóa việc quản lý dữ liệu bán hàng.

2. Hệ thống website được phân quyền cho những đối tượng người dùng nào và quyền hạn cụ thể ra sao?

Website phân chia thành 3 tác nhân:

  • Quản trị viên (Admin): Sử dụng tài khoản quản trị duy nhất để quản lý toàn bộ hệ thống gồm sản phẩm, thể loại, thương hiệu, tài khoản khách hàng, bài viết, duyệt đơn hàng và theo dõi thống kê doanh thu theo tháng/năm.
  • Khách hàng có tài khoản (User): Đăng nhập, thay đổi thông tin cá nhân/mật khẩu, quản lý giỏ hàng, tạo đơn hàng, thanh toán trực tuyến, xem danh sách và chi tiết đơn hàng đã đặt, bình luận đánh giá sản phẩm và bài viết.
  • Khách hàng vãng lai (Guest): Xem thông tin sản phẩm, bài viết và bình luận; tìm kiếm và sắp xếp sản phẩm theo các tiêu chí (mới/cũ, tên A-Z, giá cả); nếu muốn đặt hàng thì bắt buộc phải thực hiện đăng ký tài khoản.

3. Khóa luận sử dụng các kỹ thuật nào để đảm bảo tính an toàn và bảo mật cho hệ thống website?

Để bảo mật hệ thống, tác giả tận dụng các cơ chế sẵn có của Laravel:

  • Sử dụng giao diện đối tượng dữ liệu PHP Data Objects (PDO) giúp chống lại các cuộc tấn công tiêm mã độc SQL Injection.
  • Sử dụng trường mã xác thực ẩn (CSRF Token) trên các biểu mẫu dữ liệu để chống lại hình thức tấn công giả mạo yêu cầu chéo trang (Cross-Site Request Forgery).
  • Tích hợp hệ thống phân quyền Authentication và Authorization để kiểm soát chặt chẽ quyền truy cập vào các trang chức năng quản trị, ngăn chặn truy cập trái phép từ phía người dùng thông thường.

4. Quy trình tích hợp cổng thanh toán VNPay trên website diễn ra qua những bước nào?

Quy trình thanh toán VNPay gồm 6 bước: (1) Khách hàng chọn thanh toán trực tuyến trên website; (2) Website tạo URL chứa dữ liệu thanh toán và chuyển hướng khách sang VNPay; (3 & 4) Khách hàng nhập thông tin tài khoản ngân hàng và tiến hành xác thực giao dịch; (5) Sau khi trừ tiền thành công, VNPay chuyển hướng khách hàng về vnp_ReturnUrl để hiển thị trên trình duyệt, đồng thời gửi thông báo trạng thái giao dịch ngầm đến máy chủ website qua vnp_IpnURL; (6) Website cập nhật trạng thái đơn hàng và hiển thị kết quả cho khách hàng.

5. Khóa luận này đã khắc phục được những nhược điểm nào từ các đề tài tốt nghiệp khóa trước tại Trường Đại học Kinh tế - Đại học Huế?

Khóa luận đã khắc phục được các hạn chế lớn từ các đề tài của sinh viên khóa trước: tích hợp thành công cổng thanh toán trực tuyến VNPay kết nối với ngân hàng (các đề tài của Nguyễn Thị Bảo Trâm, Trần Thị Thanh, Trần Thị Tuyết Nhi đều chưa hoàn thiện hoặc chưa có tính năng này); hoàn thiện hệ thống tìm kiếm và lọc sản phẩm đa tiêu chí; tích hợp thông báo đặt hàng qua email; và sử dụng nền tảng Docker kết hợp máy chủ Nginx để chuẩn hóa môi trường đóng gói, triển khai ứng dụng.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Văn Rôn đã giải quyết trọn vẹn bài toán xây dựng website thương mại điện tử cho cửa hàng The 2000 Unisex Store dựa trên nền tảng Laravel và cơ sở dữ liệu MySQL. Công trình hoàn thành đầy đủ các mục tiêu nghiên cứu từ khảo sát nghiệp vụ bán lẻ thực tế, phân tích thiết kế hướng đối tượng qua hệ thống biểu đồ chuẩn mực, đến việc hiện thực hóa các chức năng bán hàng, quản trị và thanh toán trực tuyến VNPay. Với việc đóng gói triển khai qua môi trường container Docker, sản phẩm phần mềm có tính ứng dụng thực tiễn cao, đồng thời là tài liệu tham khảo chuyên môn giá trị cho sinh viên ngành Hệ thống thông tin quản lý và các chuyên ngành kỹ thuật liên quan.