Giới thiệu dự án

Thương mại điện tử (E-Commerce) tại Việt Nam đang chứng kiến sự tăng trưởng vượt bậc với tốc độ bình quân trên 20%/năm, chuyển đổi phương thức mua sắm truyền thống sang không gian số. Đặc thù của ngành bán lẻ giày dép đòi hỏi hệ thống quản lý trực quan về thuộc tính sản phẩm (kích thước, mẫu mã, thương hiệu), khả năng tương tác giỏ hàng thời gian thực và xử lý phí vận chuyển linh hoạt theo từng đơn vị hành chính. Đề tài "Xây dựng website bán giày cho cửa hàng The Shoe Shop" được nghiên cứu và hiện thực hóa bởi sinh viên Huỳnh Quốc Khánh (Khoa Kỹ thuật Công nghệ – Trường Đại học Thủ Dầu Một), dưới sự hướng dẫn của ThS. Nguyễn Hữu Vĩnh, nhằm giải quyết bài toán chuyển đổi số toàn diện cho mô hình bán lẻ giày dép quy mô vừa và nhỏ.

+-----------------------------------------------------------------------------+
|                          THE SHOE SHOP ARCHITECTURE                         |
+-----------------------------------------------------------------------------+
|  [Client Layer]                                                             |
|  - HTML5 / CSS3 / JavaScript (ES6)                                          |
|  - Bootstrap 4.6 Grid System (Responsive UI)                                |
|  - jQuery 3.6 + AJAX Engine (Asynchronous Partial Rendering)                |
+--------------------------------------▲--------------------------------------+
                                       │ HTTP/HTTPS (RESTful Endpoints)
+--------------------------------------▼--------------------------------------+
|  [Application Layer - MVC Architecture]                                     |
|  - Web Server: Apache HTTP Server 2.4 (mod_rewrite enabled)                  |
|  - Runtime: PHP 8.0 Engine (Engine Optimization)                            |
|  - Framework: Laravel 8.x Framework                                        |
|    ├── Security Middleware (CSRF Protection, Session Auth, CAPTCHA Filter)  |
|    ├── Routing & Controller Layer (Order, Product, Coupon, Admin Controllers)
|    └── Business Services (Cart Engine, FeeShip Calculator, Role Auth)       |
+--------------------------------------▲--------------------------------------+
                                       │ PDO / Prepared Statements
+--------------------------------------▼--------------------------------------+
|  [Data Persistence Layer]                                                   |
|  - RDBMS: MySQL 8.0 Community Server (InnoDB Engine)                        |
|  - 17 Relational Tables (3NF Normalization, Foreign Key Constraints)        |
+-----------------------------------------------------------------------------+

Vấn đề thực tiễn (Problem Statement)

Các cửa hàng bán lẻ truyền thống đang đối mặt với những điểm nghẽn nghiêm trọng:

  • Chi phí vận hành và rủi ro dịch bệnh: Phụ thuộc hoàn toàn vào mặt bằng vật lý, dễ bị gián đoạn hoạt động trước các biến cố dịch tễ và hạn chế khả năng tiếp cận tệp khách hàng ngoại tỉnh.
  • Quản trị kho và phân loại thủ công: Khó kiểm soát tồn kho theo các biến thể size (kích cỡ), thương hiệu (brand) và danh mục (category) dẫn đến sai lệch số liệu tồn kho.
  • Tính toán chi phí giao hàng phân mảnh: Thiếu cơ chế tự động hóa biểu phí vận chuyển theo 3 cấp hành chính Việt Nam (Tỉnh/Thành phố – Quận/Huyện – Xã/Phường), gây sai lệch biểu giá khi chốt đơn.
  • Phân quyền và bảo mật dữ liệu thấp: Thiếu hệ thống phân quyền quản trị (Role-Based Access Control - RBAC) và giải pháp phòng chống các lỗ hổng web phổ biến (SQL Injection, CSRF, XSS).

Mục tiêu dự án

  1. Thiết kế kiến trúc hệ thống thương mại điện tử: Áp dụng mô hình MVC (Model-View-Controller) trên nền tảng PHP và Laravel Framework, đảm bảo tính mô-đun hóa và khả năng bảo trì cao.
  2. Xây dựng module quản lý đa tầng: Triển khai hệ thống quản trị danh mục, thương hiệu, sản phẩm đa biến thể, mã giảm giá (Coupon), đơn hàng và cơ chế thống kê doanh thu đa chiều.
  3. Tự động hóa chuỗi quy trình mua hàng: Xây dựng luồng tương tác người dùng mượt mà từ lọc sản phẩm theo giá, yêu thích (Wishlist), giỏ hàng AJAX đến tính toán phí ship tự động và đặt hàng.
  4. Chuẩn hóa hệ thống cơ sở dữ liệu: Thiết kế 17 thực thể quan hệ chuẩn hóa 3NF, bảo đảm tính toàn vẹn dữ liệu (Referential Integrity) và tối ưu hóa truy vấn.
  5. Đảm bảo các tiêu chuẩn bảo mật nâng cao: Tích hợp mã CAPTCHA cho xác thực quản trị, mã hóa mật khẩu một chiều, cơ chế xác thực Token CSRF và bảo vệ truy vấn qua PDO.

Phạm vi và giới hạn hệ thống

  • Phạm vi áp dụng: Áp dụng trực tiếp tại cửa hàng The Shoe Shop; hỗ trợ người tiêu dùng cuối (B2C) và đội ngũ quản trị viên (Admin/Manager).
  • Giới hạn kỹ thuật: Hệ thống xử lý thanh toán trực tiếp (COD/Offline Payment) làm trọng tâm, mô phỏng tích hợp cổng thanh toán trực tuyến; biểu phí vận chuyển được cấu hình tĩnh theo cơ sở dữ liệu định mức địa lý.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi xây dựng hệ thống, nhóm nghiên cứu đã tiến hành khảo sát các nền tảng thương mại điện tử hiện có trên thị trường nhằm định vị giải pháp tối ưu cho The Shoe Shop:

Tiêu chí so sánh Cửa hàng truyền thống Nền tảng SaaS (Shopify/Haravan) Hệ thống mã nguồn mở The Shoe Shop (Laravel)
Chi phí đầu tư Rất cao (mặt bằng, nhân sự) Phí thuê bao hàng tháng + % hoa hồng Chi phí thấp (tận dụng mã nguồn mở, tự host)
Khả năng tùy biến Không áp dụng Giới hạn theo theme/plugin có sẵn Toàn quyền kiểm soát 100% mã nguồn và logic
Xử lý địa lý Việt Nam Thủ công Cần cài đặt plugin bên thứ 3 phức tạp Tích hợp sẵn CSDL Tỉnh - Huyện - Xã tiêu chuẩn
Hiệu năng & Dữ liệu Sổ sách, dễ thất thoát Thuộc máy chủ nhà cung cấp Làm chủ dữ liệu nội bộ, tối ưu hóa qua MySQL
Cơ chế phân quyền Quản lý miệng Đóng gói theo gói dịch vụ Tùy biến RBAC đa cấp linh hoạt (admin_roles)

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc): Đăng nhập/Đăng ký, Giỏ hàng, Quản lý sản phẩm (CRUD), Quản lý đơn vị hành chính 3 cấp, Tính phí vận chuyển tự động, Quản lý đơn hàng (Pending -> Shipting -> Completed/Remove), Quản lý Coupon, Bảo vệ CSRF/SQL Injection.
  • Should have (Nên có): Thống kê doanh thu theo bộ lọc thời gian, Quản lý danh sách yêu thích (Wishlist), Xác thực CAPTCHA trang Admin, Bộ lọc sản phẩm đa tiêu chí (Giá, Thương hiệu, Danh mục).
  • Could have (Có thể có): Đổi mật khẩu tài khoản khách hàng, Xuất hóa đơn PDF/In trực tiếp, Quản lý phân quyền tài khoản quản trị (Roles).
  • Won't have (Chưa triển khai trong giai đoạn này): Tích hợp Microservices xử lý thanh toán đa cổng quốc tế, AI gợi ý giày tự động theo hành vi người dùng.

Thiết kế hệ thống

Kiến trúc tổng thể (Architectural Design)

Hệ thống tuân thủ nghiêm ngặt mô hình MVC 3 lớp kết hợp kiến trúc LAMP (Linux, Apache, MySQL, PHP):

  • Presentation Layer (View): Xây dựng bằng Blade Template Engine, tích hợp Bootstrap 4.6 và thư viện jQuery 3.6 để thực hiện các thao tác AJAX bất đồng bộ.
  • Application/Business Logic Layer (Controller & Middleware): Framework Laravel tiếp nhận các HTTP Request, định tuyến qua Route, kiểm tra qua hệ thống Middleware (CSRF Verification, Authentication) và chuyển giao xử lý tới các Controller nghiệp vụ.
  • Data Persistence Layer (Model & Database): Sử dụng Eloquent ORM và Query Builder tương tác với MySQL 8.0 thông qua giao tiếp PDO an toàn.
               [ HTTP Request từ Trình duyệt Client ]
                               │
                               ▼
                    [ Laravel Routing Engine ]
                               │
                               ▼
               [ Security Middleware (CSRF / Auth) ]
                               │
                               ▼
                  [ Controller xử lý nghiệp vụ ]
                     │                      │
       (Truy vấn DB) │                      │ (Truyền View Model)
                     ▼                      ▼
           [ Eloquent ORM / PDO ]   [ Blade Template Engine ]
                     │                      │
                     ▼                      ▼
           [ MySQL Database ]       [ Render HTML/CSS/AJAX ]

Thiết kế cơ sở dữ liệu (Database Schema)

Cơ sở dữ liệu bao gồm 17 bảng được chuẩn hóa, bảo đảm tính toàn vẹn tham chiếu. Dưới đây là lược đồ Data Definition Language (DDL) chuẩn hóa cho các thực thể nòng cốt:

-- Bảng quản lý đơn vị hành chính Tỉnh/Thành phố
CREATE TABLE tbl_tinhthanhpho (
    matp VARCHAR(5) NOT NULL PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    type VARCHAR(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Bảng định mức phí vận chuyển theo 3 cấp hành chính
CREATE TABLE tbl_feeship (
    fee_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    fee_matp VARCHAR(5) NOT NULL,
    fee_maqh VARCHAR(5) NOT NULL,
    fee_xaid VARCHAR(5) NOT NULL,
    fee_feeship DECIMAL(12,2) NOT NULL DEFAULT 0.00,
    INDEX idx_location (fee_matp, fee_maqh, fee_xaid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Bảng quản lý mã khuyến mãi/giảm giá
CREATE TABLE tbl_coupon (
    coupon_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    coupon_name VARCHAR(150) NOT NULL,
    coupon_code VARCHAR(50) NOT NULL UNIQUE,
    coupon_time INT NOT NULL DEFAULT 0,
    coupon_number INT NOT NULL DEFAULT 0,
    coupon_condition TINYINT(1) NOT NULL COMMENT '1: Giảm theo %, 2: Giảm theo số tiền',
    coupon_status TINYINT(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Bảng lưu trữ đơn hàng tổng hợp
CREATE TABLE tbl_order (
    order_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    customer_id INT UNSIGNED NOT NULL,
    shipping_id INT UNSIGNED NOT NULL,
    payment_id INT UNSIGNED NOT NULL,
    order_total DECIMAL(14,2) NOT NULL,
    coupon_code VARCHAR(50) NULL,
    order_fee_ship DECIMAL(12,2) NOT NULL DEFAULT 0.00,
    order_status VARCHAR(50) NOT NULL DEFAULT 'Pending',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Thiết kế an toàn thông tin (Security Considerations)

  • Chống SQL Injection: 100% các câu lệnh truy vấn dữ liệu được thực thi thông qua cơ chế Parameter Binding của Laravel PDO, loại bỏ hoàn toàn khả năng chèn mã SQL độc hại.
  • Chống tấn công Cross-Site Request Forgery (CSRF): Tất cả các biểu mẫu POST, PUT, DELETE đều bắt buộc đính kèm thẻ token bảo mật @csrf, được mã hóa tự động và kiểm tra chéo ở tầng Middleware.
  • Ngăn ngừa Cross-Site Scripting (XSS): Hệ thống Blade View mặc định biên dịch các thẻ output qua hàm htmlspecialchars() của PHP thông qua cú pháp {{ $data }}.
  • Xác thực bảo vệ quản trị: Trang quản trị tích hợp cơ chế xác thực kép với Captcha Image, ngăn chặn các cuộc tấn công brute-force quét mật khẩu tự động.

Phương pháp nghiên cứu và quy trình phát triển (Methodology)

Dự án áp dụng mô hình phát triển phần mềm theo định hướng Agile/Scrum rút gọn kết hợp kiểm thử song song trong 10 tuần:

Tuần / Giai đoạn Nội dung công việc (Deliverables) Rủi ro tiềm ẩn Biện pháp giảm thiểu
Tuần 1 - 2 Khảo sát yêu cầu, phân tích ca sử dụng (Use Case), mô hình hóa DFD và thiết kế CSDL 17 bảng. Dữ liệu địa phương phức tạp Sử dụng bộ dữ liệu chuẩn hành chính quốc gia.
Tuần 3 - 5 Xây dựng lõi MVC, thiết lập hệ thống Router, phân quyền RBAC và hoàn thiện giao diện Admin. Xung đột quyền truy cập Chuẩn hóa bảng tbl_rolesadmin_roles.
Tuần 6 - 8 Xây dựng module Client: Giỏ hàng, Wishlist, Coupon Engine, tích hợp AJAX tính cước vận chuyển. Xung đột bất đồng bộ AJAX Đóng gói API JSON chuẩn và xử lý callback logic.
Tuần 9 - 10 Kiểm thử tích hợp (Integration Test), đo lường hiệu năng, tối ưu hóa giao diện đa thiết bị. Lỗi tương thích trình duyệt Kiểm thử chéo trên Chrome, Firefox, Safari, Edge.

Implementation và kết quả

Quá trình hiện thực hóa kỹ thuật

Hệ thống được cấu trúc theo thư mục chuẩn của Laravel Framework, tách biệt rõ ràng các thành phần nghiệp vụ:

the-shoe-shop/
├── app/
│   ├── Http/
│   │   ├── Controllers/
│   │   │   ├── AdminController.php
│   │   │   ├── OrderController.php
│   │   │   ├── ProductController.php
│   │   │   ├── CartController.php
│   │   │   └── DeliveryController.php
│   │   └── Middleware/
│   │       └── AdminAuthMiddleware.php
│   └── Models/
│       ├── Product.php, Order.php, FeeShip.php, Coupon.php
├── resources/
│   └── views/
│       ├── admin/ (layout, dashboard, product, order)
│       └── pages/ (home, product_detail, checkout, cart)
└── routes/
    └── web.php

Thuật toán tính toán chi phí giỏ hàng kết hợp Coupon & Phí vận chuyển

Đoạn mã sau mô tả logic tính toán giá trị đơn hàng thực tế trong OrderController.php, xử lý chính xác giá trị giảm giá theo tỷ lệ phần trăm hoặc giá trị tiền tệ tuyệt đối:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\FeeShip;
use App\Models\Coupon;
use Session;

class CheckoutController extends Controller
{
    public function calculateFinalOrder(Request $request)
    {
        $subtotal = 0;
        $cart = Session::get('cart', []);
        
        foreach ($cart as $item) {
            $subtotal += $item['product_price'] * $item['product_qty'];
        }

        // Tính phí vận chuyển dựa trên địa chỉ hành chính
        $feeShip = FeeShip::where('fee_matp', $request->matp)
                          ->where('fee_maqh', $request->maqh)
                          ->where('fee_xaid', $request->xaid)
                          ->value('fee_feeship') ?? 25000.00; // Mặc định 25,000 VND

        // Xử lý mã giảm giá (Coupon Engine)
        $discount = 0;
        $coupon = Session::get('coupon');
        if ($coupon) {
            if ($coupon['condition'] == 1) { // Giảm theo %
                $discount = ($subtotal * $coupon['number']) / 100;
            } elseif ($coupon['condition'] == 2) { // Giảm theo số tiền cố định
                $discount = $coupon['number'];
            }
        }

        $total = max(0, ($subtotal - $discount)) + $feeShip;

        return response()->json([
            'status' => 'success',
            'subtotal' => number_format($subtotal, 0, ',', '.') . ' VNĐ',
            'discount' => number_format($discount, 0, ',', '.') . ' VNĐ',
            'fee_ship' => number_format($feeShip, 0, ',', '.') . ' VNĐ',
            'total' => number_format($total, 0, ',', '.') . ' VNĐ',
            'raw_total' => $total
        ]);
    }
}

Xử lý tương tác AJAX cập nhật địa giới hành chính không tải lại trang

Nhằm nâng cao trải nghiệm người dùng (UX), hệ thống sử dụng jQuery AJAX để tự động tải danh sách Quận/Huyện và Xã/Phường tương ứng khi người dùng chọn Tỉnh/Thành phố:

$(document).ready(function() {
    $('.choose-location').on('change', function() {
        var action = $(this).attr('id');
        var ma_id = $(this).val();
        var _token = $('input[name="_token"]').val();
        var result = (action === 'city') ? 'province' : 'wards';

        $.ajax({
            url: '/select-delivery-home',
            method: 'POST',
            data: { action: action, ma_id: ma_id, _token: _token },
            success: function(data) {
                $('#' + result).html(data);
            },
            error: function(xhr) {
                console.error("Lỗi khi tải dữ liệu địa lý: " + xhr.statusText);
            }
        });
    });
});

Kiểm thử và đánh giá hệ thống

Hệ thống đã trải qua quá trình kiểm thử hộp đen (Black-box Testing) và kiểm thử chức năng (Functional Testing) với các kịch bản thực tế:

[ Kịch bản Test ] ──► [ Test Case ID: TC_ORDER_01 ]
                      ├── Đầu vào: Giỏ hàng 500k + Coupon 10% + Ship Q.Thủ Dầu Một (15k)
                      ├── Giá trị mong đợi: (500k - 50k) + 15k = 465k
                      └── Kết quả thực tế: 465,000 VNĐ ──► [ PASS (Độ chính xác 100%) ]
Mã kịch bản Mô tả kiểm thử Dữ liệu đầu vào (Input) Kết quả mong đợi Trạng thái
TC_AUTH_01 Đăng nhập Admin sai Captcha Email/Pass đúng, Captcha sai Chặn truy cập, thông báo mã xác thực không đúng Đạt (Pass)
TC_CART_02 Thêm sản phẩm cùng loại vào giỏ Click "Thêm vào giỏ" 2 lần Tự động cộng dồn số lượng, không tạo dòng mới Đạt (Pass)
TC_COUPON_03 Áp dụng mã giảm giá hết hạn Nhập mã coupon có coupon_status = 0 Hiển thị thông báo mã giảm giá không tồn tại/hết hạn Đạt (Pass)
TC_FEE_04 Thay đổi xã/phường giao hàng Đổi từ Phường Phú Hòa sang Xã lân cận Tổng tiền đơn hàng cập nhật lại sau 150ms qua AJAX Đạt (Pass)
TC_ORDER_05 Duyệt trạng thái đơn hàng Chuyển đơn từ Pending sang Shipting CSDL cập nhật, đơn hiển thị đúng trạng thái Đạt (Pass)

Chỉ số hiệu năng và kỹ thuật đạt được

  • Tốc độ phản hồi trang trung bình (Response Time): Đạt 120ms - 180ms trong điều kiện môi trường máy chủ tiêu chuẩn Apache 2.4 / PHP 8.0 OPcache.
  • Tỷ lệ vượt qua kịch bản kiểm thử (Test Pass Rate): 100% đối với các chức năng cốt lõi (18/18 Ca sử dụng được kiểm thử thành công).
  • Tối ưu hóa tài nguyên: Thư viện jQuery và Bootstrap đóng gói gọn nhẹ (kích thước nén ~19KB đối với core JS), giảm tải băng thông mạng tới 35% so với tải lại toàn bộ trang (Full Page Reload).

Đổi mới và đóng góp

  1. Chuẩn hóa công cụ tính phí vận chuyển theo 3 cấp hành chính Việt Nam: Khác với các website thương mại điện tử cơ bản chỉ áp dụng một mức phí ship đồng giá, The Shoe Shop tích hợp trực tiếp bảng dữ liệu quốc gia (tbl_tinhthanhpho, tbl_quyanhuyen, tbl_xaphuongthitran). Kết hợp với công nghệ AJAX, phí ship được tính toán động chính xác theo từng khu vực xã/phường, loại bỏ triệt để sai lệch doanh thu vận chuyển.
  2. Kiến trúc phân quyền đa nhiệm (RBAC): Tách biệt hoàn toàn bảng tbl_admin, tbl_rolesadmin_roles, cho phép doanh nghiệp dễ dàng mở rộng nhiều cấp quản lý (Super Admin, Quản lý kho, Kế toán bán hàng, Nhân viên duyệt đơn) với ranh giới quyền hạn rõ ràng.
  3. Engine quản lý Coupon đa quy tắc: Hỗ trợ đồng thời 2 cơ chế khuyến mãi linh hoạt: chiết khấu theo tỷ lệ phần trăm (Percentage Discount) và giảm trừ tiền mặt trực tiếp (Fixed Amount), có giới hạn số lượng và kiểm soát trạng thái tự động.
  4. Hiệu quả định lượng vượt trội:
    • Tốc độ xử lý hoàn tất đơn hàng nhanh hơn 40% so với ghi nhận sổ sách truyền thống.
    • Giảm thiểu 100% hiện tượng trùng lặp hoặc sót đơn hàng nhờ quy trình State Machine rõ ràng (Pending -> Shipting -> Remove/Completed).
    • Tối ưu hóa chuyển đổi trải nghiệm người dùng (UX) trên nền tảng di động nhờ hệ thống lưới linh hoạt (Responsive Grid) của Bootstrap.

Ứng dụng thực tế và triển khai

Hướng dẫn triển khai hệ thống (Deployment Architecture)

[ Git Repository ] ──► [ Server LAMP ] ──► [ Composer Install ] ──► [ MySQL Migration ] ──► [ Production ]

Hệ thống sẵn sàng đóng gói và triển khai trên các môi trường máy chủ Linux (Ubuntu Server/CentOS) theo quy trình chuẩn hóa:

  1. Cấu hình môi trường máy chủ (System Requirements):
    • Hệ điều hành: Linux (Ubuntu 20.04 LTS / 22.04 LTS trở lên).
    • Web Server: Apache 2.4 với module mod_rewrite được kích hoạt.
    • Trình thông dịch: PHP >= 7.4 (Khuyến nghị PHP 8.0 trở lên, bật extension pdo_mysql, mbstring, openssl, gd).
    • Hệ quản trị CSDL: MySQL 8.0 / MariaDB 10.4.
  2. Quy trình triển khai:
    # Bước 1: Sao chép mã nguồn vào thư mục web server
    cd /var/www/html
    git clone https://github.com/huynhquockhanh/the-shoe-shop.git
    
    # Bước 2: Cài đặt các gói phụ thuộc PHP qua Composer
    cd the-shoe-shop
    composer install --optimize-autoloader --no-dev
    
    # Bước 3: Thiết lập quyền truy cập thư mục lưu trữ
    chmod -R 775 storage bootstrap/cache
    chown -R www-data:www-data storage bootstrap/cache
    
    # Bước 4: Thiết lập biến môi trường và migrate CSDL
    cp .env.example .env
    php artisan key:generate
    php artisan migrate --seed
    
  3. Phân tích hiệu quả đầu tư (Cost-Benefit & ROI Analysis):
    • Chi phí phát triển & duy trì: Nhờ sử dụng hoàn toàn mã nguồn mở (PHP, Laravel, MySQL, Bootstrap), doanh nghiệp tiết kiệm 100% chi phí bản quyền phần mềm định kỳ. Chi phí vận hành chỉ bao gồm hạ tầng máy chủ cơ bản (khoảng 150.000 – 300.000 VNĐ/tháng).
    • Tỷ suất hoàn vốn (ROI): Giúp cửa hàng The Shoe Shop tăng trưởng ước tính 30% doanh thu trong 6 tháng đầu nhờ tiếp cận khách hàng trực tuyến 24/7, thời gian hoàn vốn đầu tư ước tính dưới 3 tháng.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Cổng thanh toán điện tử: Hệ thống mới chỉ dừng lại ở xử lý thanh toán khi nhận hàng (COD) và mô phỏng giao dịch, chưa tích hợp Webhook đồng bộ tự động với các cổng quốc tế/nội địa (VNPay, MoMo, ZaloPay, PayPal).
  • Hệ thống gợi ý thông minh: Danh mục sản phẩm đề xuất hiện tại dựa trên quan hệ danh mục tĩnh, chưa ứng dụng Machine Learning để gợi ý giày theo sở thích và lịch sử duyệt web của khách hàng.
  • Cơ chế lưu trữ đệm (Caching): Dữ liệu danh mục và phí giao hàng vẫn truy vấn trực tiếp từ MySQL, chưa ứng dụng Redis/Memcached để tối ưu hóa tải trọng khi có hàng chục nghìn lượt truy cập đồng thời.

Hướng phát triển nâng cao

  • Tích hợp API cổng thanh toán & Đơn vị vận chuyển: Đấu nối API trực tiếp với VNPay và các đơn vị giao hàng chuyên nghiệp (Giao Hàng Nhanh - GHN, Giao Hàng Tiết Kiệm - GHTK) để tự động hóa tạo mã vận đơn.
  • Xây dựng kiến trúc RESTful API cho Ứng dụng di động: Tách lớp Controller thành RESTful API độc lập, phục vụ phát triển ứng dụng di động đa nền tảng (Flutter / React Native).
  • Ứng dụng công nghệ thực tế ảo tăng cường (AR): Nghiên cứu tích hợp tính năng Virtual Footwear Try-on (thử giày ảo qua camera smartphone), giúp khách hàng ướm size và mẫu giày chính xác trước khi đặt mua.

Đối tượng hưởng lợi

                           +----------------------------------------+
                           |       HỆ SINH THÁI HƯỞNG LỢI           |
                           +----------------------------------------+
                                        │
           ┌──────────────────┬─────────┴─────────┬──────────────────┐
           ▼                  ▼                   ▼                  ▼
     [ Sinh viên ]      [ Lập trình viên ]    [ Doanh nghiệp ]   [ Nhà nghiên cứu ]
     Tài liệu mẫu       Mẫu kiến trúc MVC     Mô hình số hóa     Cơ sở thực nghiệm
     khóa luận chuẩn    & Xử lý AJAX/RBAC     với ROI cao        CSDL hành chính VN
  • Sinh viên ngành Kỹ thuật phần mềm & CNTT: Nguồn tài liệu tham khảo hoàn chỉnh về cấu trúc đồ án tốt nghiệp, từ phân tích thiết kế hệ thống, lược đồ Use Case đến thiết kế CSDL chuẩn hóa trên Laravel.
  • Lập trình viên Web (Web Developers): Tham khảo trực tiếp mã nguồn về cách tổ chức mô hình MVC, cơ chế xử lý AJAX bất đồng bộ cho giỏ hàng và kỹ thuật bảo mật ứng dụng PHP nâng cao.
  • Cửa hàng và Doanh nghiệp bán lẻ (SMEs): Bản thiết kế thực tế để triển khai số hóa mô hình bán lẻ với chi phí tối thiểu, nâng cao năng lực cạnh tranh trong kỷ nguyên số.
  • Giảng viên và Nhà nghiên cứu ứng dụng: Cung cấp bộ dữ liệu thực nghiệm về việc tích hợp địa giới hành chính 3 cấp vào bài toán thương mại điện tử thực tế tại Việt Nam.

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

1. Cần cấu hình phần cứng và môi trường tối thiểu nào để vận hành website?

Hệ thống yêu cầu máy chủ Linux hoặc Windows Server hỗ trợ PHP 7.4 trở lên, Web Server Apache/Nginx, MySQL 8.0, RAM tối thiểu 1GB và dung lượng ổ cứng khả dụng từ 5GB để lưu trữ hình ảnh sản phẩm và dữ liệu giao dịch.

2. Hệ thống xử lý an toàn dữ liệu khách hàng và phòng chống tấn công bằng cách nào?

Website áp dụng cơ chế xác thực đa lớp: mã hóa mật khẩu một chiều, sử dụng PDO Prepared Statements để triệt tiêu 100% nguy cơ SQL Injection, bắt buộc mã kiểm tra CSRF Token trên mọi form giao dịch và tích hợp Captcha ngăn chặn spam đăng nhập ở trang quản trị.

3. Cơ chế tự động tính phí vận chuyển theo 3 cấp hoạt động ra sao?

Dựa trên sự kết hợp giữa 3 bảng hành chính (tbl_tinhthanhpho, tbl_quyanhuyen, tbl_xaphuongthitran) và bảng định mức tbl_feeship. Khi khách hàng lựa chọn địa điểm trên giao diện, mã JavaScript gửi truy vấn AJAX ngầm đến máy chủ để lấy cước phí tương ứng và cộng trực tiếp vào tổng hóa đơn mà không cần tải lại trang.

4. Hệ thống có khả năng chịu tải đồng thời bao nhiêu người dùng?

Với cấu hình máy chủ 2 vCPU – 4GB RAM tiêu chuẩn chạy Apache/PHP-FPM, hệ thống có khả năng xử lý mượt mà từ 200 – 500 người dùng hoạt động đồng thời (Concurrent Users). Khi tích hợp thêm Redis Cache và CDN, năng lực chịu tải có thể mở rộng lên trên 2.000 người dùng đồng thời.

5. Website có thể tích hợp thêm các cổng thanh toán online như VNPay hay MoMo không?

Hoàn toàn có thể. Do được xây dựng trên nền tảng kiến trúc mô-đun của Laravel, nhà phát triển chỉ cần tích hợp thêm SDK hoặc Service Provider của VNPay/MoMo vào lớp Controller thanh toán hiện có mà không làm ảnh hưởng đến cấu trúc cơ sở dữ liệu cốt lõi.


Kết luận

Đồ án chuyên ngành "Xây dựng website bán giày cho cửa hàng The Shoe Shop" do sinh viên Huỳnh Quốc Khánh thực hiện dưới sự hướng dẫn của ThS. Nguyễn Hữu Vĩnh đã hoàn thành xuất sắc các mục tiêu nghiên cứu và ứng dụng thực tiễn đề ra. Dự án không chỉ giải quyết toàn diện bài toán thương mại điện tử đặc thù của ngành giày dép thông qua các module thông minh (tính phí ship tự động, phân quyền đa cấp, quản lý mã giảm giá đa quy tắc), mà còn thiết lập một chuẩn mực kiến trúc phần mềm an toàn, dễ bảo trì trên nền tảng Laravel và MySQL. Kết quả của đề tài là minh chứng tiêu biểu cho năng lực ứng dụng công nghệ thông tin vào giải quyết các bài toán chuyển đổi số cho doanh nghiệp bán lẻ Việt Nam trong bối cảnh Cách mạng Công nghiệp 4.0.