Bối cảnh và vấn đề nghiên cứu
Đề tài "Xây dựng website tư vấn chọn giày bóng đá" được sinh viên Phan Hữu Tường (Mã sinh viên: 1911505310160, Lớp 19T1) thực hiện dưới sự hướng dẫn của ThS. Nguyễn Thị Hà Quyên tại Khoa Công nghệ Số, Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵng (năm học 2022–2023, nộp tháng 06/2023).
Lý do chọn đề tài xuất phát từ sự phát triển của môn thể thao bóng đá cùng sự bùng nổ của thương mại điện tử, kéo theo nhu cầu tìm kiếm và mua sắm giày bóng đá qua mạng ngày càng tăng cao. Tuy nhiên, đặc thù kỹ thuật của giày bóng đá đòi hỏi độ ôm sát và mức độ tương thích cao với từng dạng khuôn chân (form chân). Trở ngại lớn nhất của người mua sắm trực tuyến là khó xác định kích cỡ (size) và kiểu dáng giày tương thích với bàn chân nếu chỉ nhìn qua hình ảnh, màu sắc và mô tả chất liệu. Hệ quả là tỷ lệ chọn sai kích cỡ cao, phát sinh chi phí và thời gian đổi trả hàng cho cả người mua lẫn người bán. Việc xây dựng một hệ thống website bán hàng tích hợp thuật toán tư vấn chọn size và form giày trực tuyến là giải pháp kỹ thuật cần thiết để giải quyết vướng mắc thực tiễn này.
Mục tiêu của đề tài tập trung vào việc phục vụ hai nhóm đối tượng chính gồm Khách hàng và Quản trị viên hệ thống, cụ thể:
- Giúp khách hàng xem sản phẩm của website và mua món hàng phù hợp với sở thích cá nhân.
- Cung cấp công cụ tìm kiếm, lựa chọn sản phẩm theo nhu cầu và tra cứu thông tin chi tiết.
- Tư vấn trực tiếp cho khách hàng về size chân và form giày để đưa ra quyết định mua chính xác, giảm thiểu tỷ lệ đổi trả hàng.
- Đa dạng hóa phương thức thanh toán cho khách hàng, bao gồm trả tiền mặt khi nhận hàng và thanh toán trực tuyến.
- Cung cấp hệ thống quản trị cho phép theo dõi, quản lý người dùng và danh mục sản phẩm của website.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình kinh doanh của các chủ cửa hàng thể thao, cá nhân bán giày online và hành vi của người dùng có nhu cầu mua giày bóng đá.
- Phạm vi nghiên cứu: Áp dụng cho các cửa hàng hoặc cá nhân kinh doanh mặt hàng giày bóng đá có quy mô vừa và nhỏ.
Cơ sở lý thuyết và phương pháp
Đồ án ứng dụng mô hình kiến trúc phần mềm Model-View-Controller (MVC) để tổ chức mã nguồn, phân tách độc lập giữa ba tầng: xử lý nghiệp vụ/dữ liệu (Model), giao diện hiển thị (View) và điều phối luồng xử lý (Controller).
Các công nghệ nền tảng và thư viện được tác giả lựa chọn sử dụng gồm:
- Ngôn ngữ lập trình phía máy chủ (Back-end): PHP (phiên bản PHP 7.0, phát triển bởi The PHP Group), kết hợp cùng Laravel Framework – khung làm việc hỗ trợ Eloquent ORM, hệ thống định tuyến (Routing), công cụ tạo mẫu Blade và quản lý gói phụ thuộc Composer.
- Hệ quản trị cơ sở dữ liệu: MySQL, hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở phục vụ lưu trữ, thiết lập quan hệ ràng buộc và truy vấn dữ liệu thông qua ngôn ngữ SQL.
- Ngôn ngữ và thư viện phía máy khách (Front-end): HTML, CSS, JavaScript; Thư viện Bootstrap hỗ trợ thiết kế giao diện tương thích đa thiết bị (Responsive Design) qua hệ thống lưới (Grid System); Thư viện jQuery hỗ trợ tương tác Document Object Model (DOM), xử lý sự kiện và thực hiện các yêu cầu AJAX bất đồng bộ; Thư viện Chart.js phục vụ trực quan hóa dữ liệu thống kê quản trị thành biểu đồ.
Phương pháp nghiên cứu thực tế được triển khai trong đồ án bao gồm:
- Phương pháp phân tích và tổng hợp: Thu thập, tổng hợp tài liệu chuyên ngành về các tiêu chí chọn giày thể thao (thương hiệu, size, form chân, chất liệu, trải nghiệm khách hàng).
- Phương pháp khảo sát thực tế: Trải nghiệm và đánh giá quy trình vận hành trên các website bán giày trực tuyến hiện hành (tiêu biểu như Nike.com).
- Phương pháp khảo sát nghiệp vụ: Thu thập thông tin quy trình quản lý bán lẻ, nhập kho và chăm sóc khách hàng tại các cửa hàng giày.
- Phương pháp phân tích và thiết kế hệ thống phần mềm: Xây dựng sơ đồ Use Case, mô hình thực thể liên kết (ERD) và viết kịch bản chi tiết cho từng luồng nghiệp vụ.
Nguồn dữ liệu của đề tài bao gồm tài liệu kỹ thuật của Laravel Framework, thông số bảng quy đổi kích cỡ chuẩn theo thương hiệu và dữ liệu nghiệp vụ bán lẻ thực tế.
Thiết kế và triển khai
Hệ thống được thiết kế hướng tới môi trường ứng dụng web hoàn chỉnh, phát triển trên môi trường máy chủ cục bộ XAMPP với các trình soạn thảo mã nguồn Visual Studio Code và Sublime Text.
Hệ thống phân quyền cho 04 nhóm tác nhân (Actors) tham gia tương tác:
| Tác nhân |
Quyền hạn và phạm vi chức năng |
| Khách vãng lai |
Đăng ký tài khoản, tìm kiếm sản phẩm theo từ khóa/danh mục, nhận tư vấn size giày theo kích thước bàn chân, xem chi tiết sản phẩm, thêm/cập nhật giỏ hàng, gửi câu hỏi qua live chat trực tuyến. |
| Khách hàng |
Đăng nhập hệ thống, cập nhật thông tin cá nhân (địa chỉ, số điện thoại, ảnh đại diện), đặt hàng, chọn phương thức thanh toán (COD hoặc VNPAY), theo dõi trạng thái đơn hàng, hủy đơn hàng, gửi đánh giá (số sao) và bình luận. |
| Nhân viên |
Đăng nhập, cập nhật thông tin tài khoản, quản trị bài viết tin tức (blog), quản trị hình ảnh banner quảng cáo, tra cứu và xem thông tin đơn hàng. |
| Quản trị viên |
Toàn quyền cấu hình: quản lý danh mục, quản lý sản phẩm (thêm/sửa/xóa/thùng rác), duyệt và thay đổi trạng thái đơn hàng, quản lý nhập kho (tạo đơn, in/tải file PDF), quản lý tài khoản người dùng, xem báo cáo doanh thu qua biểu đồ Chart.js. |
Cơ sở dữ liệu của hệ thống được chuẩn hóa thành 20 bảng quan hệ trong MySQL:
| STT |
Tên bảng dữ liệu |
Chức năng nghiệp vụ |
| 1 |
roles |
Lưu trữ định danh và tên các vai trò phân quyền người dùng. |
| 2–5 |
city, district, ward, address |
Chuẩn hóa cấu trúc địa chỉ giao hàng 4 cấp (Tỉnh/Thành phố, Quận/Huyện, Xã/Phường, Địa chỉ chi tiết). |
| 6 |
users |
Quản lý tài khoản (họ tên, email, mật khẩu, điện thoại, ảnh đại diện, vai trò, trạng thái khóa/mở). |
| 7–8 |
order, order_details |
Lưu trữ thông tin đơn hàng, trạng thái xử lý (0: Mới, 1: Đã duyệt, 2: Đã giao, 3: Đã hủy), hình thức thanh toán và danh sách mặt hàng kèm đơn giá. |
| 9–10 |
category, brand |
Quản lý cấu trúc danh mục và các thương hiệu sản phẩm (có cơ chế xóa mềm deleted_at). |
| 11 |
banner |
Quản lý hình ảnh biểu ngữ hiển thị theo thương hiệu sản phẩm. |
| 12 |
size |
Lưu trữ bảng kích thước giày theo từng hãng (chiều dài chân length, quy đổi số đo size). |
| 13–14 |
products, product_details |
Quản lý thông tin chung của sản phẩm (tên, giá, giảm giá, mô tả) và biến thể kích cỡ chi tiết kèm số lượng tồn kho từng cỡ (size_qty). |
| 15–17 |
vendor, purchase, purchase_details |
Quản lý nhà cung cấp, thông tin đơn nhập hàng và danh sách chi tiết các mặt hàng nhập kho. |
| 18–19 |
rating, comment |
Lưu trữ phản hồi của khách hàng sau khi nhận hàng (số sao đánh giá từ 1-5 và nội dung bình luận). |
| 20 |
blog |
Lưu trữ các bài viết tin tức, nội dung và hình ảnh bài đăng hỗ trợ truyền thông. |
Các quy trình xử lý cốt lõi của website bao gồm:
- Quy trình tư vấn kích cỡ: Khách hàng nhập thông số chiều dài và chiều rộng bàn chân (đơn vị cm). Thuật toán của hệ thống sẽ đối chiếu với dữ liệu bảng
size theo thương hiệu tương ứng, tính toán độ chênh lệch để đưa ra phân loại form chân (chân thon, chân bè) và đề xuất số size giày phù hợp.
- Quy trình kiểm tra tồn kho: Khi khách hàng tiến hành thanh toán, hệ thống sẽ thực hiện truy vấn đối chiếu số lượng trong giỏ hàng với trường
size_qty trong bảng product_details. Trường hợp số lượng yêu cầu vượt quá số lượng thực tế trong kho, hệ thống tự động điều hướng sang trang cảnh báo vượt tồn kho và yêu cầu người dùng cập nhật lại giỏ hàng trước khi cho phép đặt hàng.
- Quy trình thanh toán trực tuyến: Tích hợp cổng trung gian VNPAY. Sau khi xác nhận đơn, hệ thống chuyển hướng người dùng sang giao diện VNPAY để nhập thông tin thẻ, xác thực mã OTP; khi nhận phản hồi giao dịch thành công, trường
payment_status trong bảng order được cập nhật thành 1 (đã thanh toán).
Nội dung chính theo từng chương
Mở đầu
Tiểu mục Mở đầu xác định tính cấp thiết của bài toán chọn size giày bóng đá trong thương mại điện tử, công bố 05 mục tiêu cụ thể, xác định đối tượng phục vụ là các chủ shop thể thao và người mua giày, cùng phạm vi áp dụng cho các mô hình bán lẻ quy mô vừa và nhỏ. Tác giả cũng tóm lược 04 phương pháp nghiên cứu và tổng quan giải pháp công nghệ sử dụng trong toàn bộ đồ án.
Chương 1: Cơ sở lý thuyết
Chương 1 hệ thống hóa toàn bộ nền tảng lý thuyết và công nghệ được triển khai trong ứng dụng:
- Ngôn ngữ đánh dấu và kịch bản: Giới thiệu cấu trúc thẻ của HTML, cơ chế định dạng giao diện của CSS (màu sắc, font chữ, bố cục responsive), và vai trò xử lý tương tác bất đồng bộ của JavaScript phía trình duyệt.
- Ngôn ngữ kịch bản máy chủ PHP 7.0: Phân tích các đặc tính kỹ thuật như khả năng tối ưu hóa ứng dụng web, tốc độ thực thi, khả năng kết nối cơ sở dữ liệu quan hệ, cơ chế xử lý form và quản lý tệp tin.
- Hệ quản trị CSDL MySQL: Trình bày cơ chế truy vấn SQL, ràng buộc toàn vẹn dữ liệu (khóa chính, khóa ngoại, unique), khả năng tối ưu hóa truy vấn và tính an toàn bảo mật.
- Framework và thư viện phụ trợ: Giới thiệu Laravel Framework cùng các thành phần cốt lõi (Eloquent ORM, Blade Template, Routing, Middleware xác thực CSRF/Session); thư viện jQuery hỗ trợ thao tác DOM; thư viện giao diện Bootstrap với hệ thống lưới 12 cột; thư viện biểu đồ Chart.js phục vụ thống kê trực quan.
- Mô hình kiến trúc MVC: Phân tích nguyên lý phân tách ba thành phần Model, View, Controller và luồng truyền dữ liệu giữa các khối trong vòng đời một request web.
Chương 2: Phân tích thiết kế hệ thống
Chương 2 tập trung giải quyết bài toán thiết kế kỹ thuật phần mềm:
- Khảo sát yêu cầu và hoạt động nghiệp vụ: Xây dựng sơ đồ quy trình nghiệp vụ tổng thể của hệ thống bán hàng và tư vấn trực tuyến.
- Phân tích tác nhân và sơ đồ Use Case: Mô hình hóa chi tiết quyền hạn của 04 nhóm tác nhân (Khách vãng lai, Khách hàng, Nhân viên, Quản trị viên).
- Thiết kế mô hình dữ liệu: Trình bày sơ đồ quan hệ thực thể (ERD) và đặc tả cấu trúc chi tiết của 20 bảng cơ sở dữ liệu vật lý với đầy đủ kiểu dữ liệu, khóa chính, khóa ngoại và các ràng buộc toàn vẹn.
- Đặc tả kịch bản hoạt động: Xây dựng 21 bảng kịch bản Use Case (từ Bảng 2-21 đến Bảng 2-33 và các bảng liên quan), chi tiết hóa luồng sự kiện chính (Basic flow), luồng rẽ nhánh (Alternative flow) và luồng ngoại lệ (Exception flow) cho các tác vụ then chốt: tư vấn size, tìm kiếm, giỏ hàng, cảnh báo vượt tồn kho, thanh toán COD/VNPAY, đánh giá đơn hàng, quản lý kho và xuất phiếu nhập.
Chương 3: Xây dựng chương trình
Chương 3 trình bày các công cụ phát triển phần mềm (Visual Studio Code, Sublime Text, XAMPP) và hiện thực hóa giao diện hệ thống:
- Phân hệ người dùng: Triển khai thành công các giao diện Trang chủ, Đăng ký tài khoản, Đăng nhập, Giao diện tư vấn chọn size giày theo số đo, Giao diện chi tiết sản phẩm, Thêm vào giỏ hàng, Cập nhật số lượng giỏ hàng, Giao diện thông báo vượt tồn kho, Giao diện thanh toán đơn hàng (COD), Giao diện thanh toán trực tuyến qua cổng VNPAY, Giao diện theo dõi danh sách và chi tiết đơn hàng, Giao diện gửi đánh giá số sao và bình luận sản phẩm.
- Phân hệ quản trị: Xây dựng bảng điều khiển Dashboard Admin tích hợp biểu đồ thống kê Chart.js; các phân hệ quản lý danh mục sản phẩm, quản lý thông tin sản phẩm (thêm mới, chỉnh sửa, xóa và đưa vào thùng rác); phân hệ quản lý nhập kho (tạo đơn nhập hàng, hiển thị chi tiết và hỗ trợ xuất/in file PDF đơn nhập); phân hệ quản lý đơn hàng (thay đổi trạng thái giao hàng); và phân hệ quản lý, vô hiệu hóa tài khoản người dùng.
Kết luận và hướng phát triển
Tóm lược các sản phẩm hoàn thành theo đề cương dự kiến (bao gồm website vận hành hoàn chỉnh và báo cáo đồ án tốt nghiệp); đồng thời nêu các định hướng kỹ thuật cần nghiên cứu nâng cấp trong tương lai.
Kết quả và đóng góp
Đồ án đã đạt được các kết quả cụ thể theo đúng mục tiêu đặt ra:
- Xây dựng hoàn chỉnh hệ thống website thương mại điện tử chuyên biệt cho ngành hàng giày bóng đá, hoạt động ổn định trên nền tảng PHP 7.0/Laravel và hệ quản trị CSDL MySQL.
- Tích hợp thành công mô-đun tư vấn size giày tự động: Hệ thống tiếp nhận số đo chiều dài và chiều rộng bàn chân từ người dùng, đối chiếu với bảng quy chuẩn kích thước của các thương hiệu để đưa ra kết quả gợi ý size và form chân tương ứng.
- Hoàn thiện luồng kiểm soát giao dịch thương mại: Đa dạng hóa hình thức thanh toán qua việc kết hợp giữa phương thức trả sau (tiền mặt khi giao hàng) và thanh toán điện tử thông qua cổng VNPAY; tích hợp cơ chế tự động kiểm tra số lượng tồn kho theo từng kích cỡ (
size_qty) để ngăn chặn việc đặt hàng vượt quá số lượng hiện có.
- Xây dựng phân hệ quản trị toàn diện: Cung cấp đầy đủ các chức năng quản lý danh mục, sản phẩm, đơn hàng, tài khoản, quản lý nhập kho từ nhà cung cấp kèm tính năng xuất phiếu nhập ra định dạng PDF, và tích hợp biểu đồ Chart.js hỗ trợ theo dõi số liệu kinh doanh.
- Đóng góp so với các hệ sinh thái thương mại điện tử thông thường: Giải quyết trực tiếp rào cản chọn nhầm kích thước trong mua sắm giày đá bóng trực tuyến, cung cấp giải pháp chuyển đổi số đồng bộ từ khâu tư vấn, bán hàng, thanh toán đến quản lý nhập - xuất kho cho các cửa hàng thể thao có quy mô vừa và nhỏ.
Hạn chế và hướng nghiên cứu tiếp
Về mặt hạn chế:
- Phạm vi ứng dụng của hệ thống mới dừng lại ở quy mô phục vụ các cửa hàng hoặc cá nhân kinh doanh vừa và nhỏ.
- Thuật toán tư vấn kích cỡ hiện tại phụ thuộc hoàn toàn vào độ chính xác của thông số chiều dài và chiều rộng do người dùng tự đo và nhập thủ công, chưa có cơ chế kiểm chứng sai số đo đạc thực tế.
Về hướng nghiên cứu và phát triển tiếp:
- Tác giả định hướng tiếp tục hoàn thiện và bổ sung các tính năng nâng cao cho website.
- Nâng cấp thuật toán tư vấn chọn size giày chính xác hơn theo từng dòng giày chuyên biệt.
- Tối ưu hóa hệ thống để mở rộng phạm vi ứng dụng cho các doanh nghiệp bán lẻ thể thao có quy mô lớn hơn.
Giá trị tham khảo
Tài liệu đồ án tốt nghiệp này mang lại giá trị tham khảo học thuật và ứng dụng thực tiễn cho các nhóm đối tượng:
- Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Tài liệu là mẫu tham khảo chuẩn mực cho đồ án tốt nghiệp phát triển ứng dụng web thương mại điện tử dựa trên kiến trúc MVC, ngôn ngữ PHP và Laravel Framework.
- Người làm đề tài nghiên cứu về hệ thống thương mại điện tử: Đáng tham khảo ở mô hình chuẩn hóa cơ sở dữ liệu 20 bảng (đặc biệt là bảng quản lý địa chỉ hành chính 4 cấp
city - district - ward - address và cơ chế phân tách biến thể kích thước - số lượng tồn kho products - product_details - size).
- Lập trình viên phát triển ứng dụng web: Cung cấp 21 bảng kịch bản Use Case chi tiết với đầy đủ các luồng xử lý ngoại lệ (Exception flows) cho các tác vụ quan trọng như xử lý giỏ hàng vượt tồn kho, tích hợp xác thực thanh toán qua VNPAY và chức năng kết xuất hóa đơn nhập kho sang định dạng PDF.
- Các chủ cửa hàng kinh doanh giày thể thao: Cung cấp mô hình tham khảo về việc tự động hóa khâu tư vấn kích cỡ trực tuyến kết hợp quản lý kho hàng chi tiết theo từng biến thể size.
Câu hỏi thường gặp
1. Hệ thống thực hiện việc tư vấn chọn size giày cho khách hàng dựa trên những dữ liệu đầu vào nào?
Hệ thống yêu cầu khách hàng nhập hai thông số đo đạc thực tế của bàn chân gồm: chiều dài bàn chân và chiều rộng bàn chân. Dữ liệu này được đối chiếu trực tiếp với bảng dữ liệu kích thước (size) theo từng thương hiệu (brand), từ đó đưa ra kết quả phân tích về form chân (chân thon hay chân bè) cùng kích thước giày phù hợp nhất để hạn chế việc đổi trả.
2. Cơ chế xử lý trường hợp số lượng sản phẩm đặt mua vượt quá lượng tồn kho diễn ra như thế nào?
Trong quy trình thanh toán giỏ hàng (Kịch bản 2-26), nếu số lượng sản phẩm khách hàng chọn mua vượt quá số lượng thực tế được lưu trữ trong trường size_qty của bảng product_details, hệ thống sẽ kích hoạt luồng ngoại lệ (Exception flow 2'), chuyển hướng người dùng sang giao diện chuyên biệt thông báo vượt tồn kho và yêu cầu người dùng điều chỉnh lại số lượng trước khi tiếp tục thanh toán.
3. Đồ án tích hợp những phương thức thanh toán nào cho khách hàng?
Hệ thống hỗ trợ 02 phương thức thanh toán: thanh toán sau khi nhận hàng (tiền mặt/COD) và thanh toán trực tuyến qua cổng trung gian VNPAY. Khi chọn thanh toán trực tuyến, khách hàng được điều hướng sang cổng VNPAY để nhập thông tin tài khoản và xác thực mã OTP giao dịch.
4. Dữ liệu địa chỉ giao hàng của người dùng được tổ chức và chuẩn hóa như thế nào trong cơ sở dữ liệu?
Hệ thống chuẩn hóa địa chỉ giao hàng thành 04 bảng quan hệ phân cấp: city (Tỉnh/Thành phố), district (Quận/Huyện liên kết với id_city), ward (Xã/Phường liên kết với id_district) và address (Địa chỉ chi tiết liên kết với id_ward). Bảng users và bảng order sẽ liên kết trực tiếp tới khóa ngoại id_address để quản lý địa chỉ nhận hàng.
5. Chức năng quản lý nhập kho của Quản trị viên hỗ trợ những thao tác nghiệp vụ nào?
Quản trị viên có thể tạo mới các đơn nhập hàng liên kết với nhà cung cấp (vendor), lưu thông tin giá và số lượng nhập chi tiết theo từng biến thể sản phẩm (purchase_details), tra cứu danh sách đơn nhập, xem chi tiết và trực tiếp xuất hoặc in đơn nhập hàng dưới dạng tệp tin PDF.
Kết luận
Đồ án tốt nghiệp "Xây dựng website tư vấn chọn giày bóng đá" của sinh viên Phan Hữu Tường đã giải quyết thành công bài toán tích hợp công cụ tư vấn kích cỡ chuyên biệt vào mô hình thương mại điện tử, giúp giảm thiểu rủi ro chọn sai kích cỡ giày khi mua hàng trực tuyến. Hệ thống được xây dựng hoàn chỉnh trên nền tảng công nghệ vững chắc gồm PHP 7.0, Laravel Framework, MySQL kết hợp Bootstrap, jQuery và Chart.js, tuân thủ mô hình kiến trúc phần mềm MVC. Kết quả nghiên cứu không chỉ đáp ứng toàn diện các yêu cầu nghiệp vụ quản trị bán hàng, tồn kho và thanh toán online VNPAY mà còn cung cấp tài liệu kỹ thuật có giá trị tham khảo cao cho sinh viên ngành Công nghệ thông tin.