Giới thiệu dự án

Thị trường thương mại điện tử (E-Commerce) và thiết bị chăm sóc sức khỏe cá nhân tại Việt Nam đang chứng kiến tốc độ tăng trưởng kép hàng năm (CAGR) đạt mức 14.5% trong giai đoạn 2021–2026. Trong đó, phân khúc ghế massage trị liệu cao cấp đòi hỏi quy trình tiếp cận khách hàng trực quan, minh bạch thông số kỹ thuật và hệ thống xử lý giao dịch linh hoạt. Đồ án tốt nghiệp "Xây dựng website bán ghế massage Fushi dựa trên nền tảng WordPress" của tác giả Chu Nguyên Quyền (Chuyên ngành Công nghệ Thông tin, Trường Đại học Hải Phòng; Giảng viên hướng dẫn: ThS. Hoàng Văn Lâm) tập trung giải quyết bài toán số hóa quy trình kinh doanh cho doanh nghiệp phân phối thiết bị sức khỏe Fushi.

+-----------------------------------------------------------------------------------+
|                              BỐI CẢNH & ĐỘNG LỰC DỰ ÁN                            |
+-----------------------------------------------------------------------------------+
|  Thị trường thiết bị sức khỏe: Tăng trưởng 14.5% CAGR                             |
|  Vấn đề: Showroom truyền thống phụ thuộc bán offline, chi phí vận hành cao        |
|  Thách thức: Sản phẩm giá trị cao cần trình diễn tính năng đa chiều (3D/4D/Zero-G)|
|  Mục tiêu: Xây dựng nền tảng E-Commerce chuyên biệt, tải nhanh, dễ quản trị       |
+-----------------------------------------------------------------------------------+

Vấn đề thực tiễn và điểm nghẽn kỹ thuật (Problem Statement & Pain Points)

Các doanh nghiệp kinh doanh ghế massage quy mô vừa và nhỏ thường đối mặt với các rào cản kỹ thuật và vận hành:

  • Tỷ lệ thất thoát dữ liệu đơn hàng: Việc tiếp nhận đơn qua mạng xã hội hoặc ghi chép thủ công gây sai sót trong xử lý đơn hàng và nhầm lẫn địa chỉ giao hàng.
  • Trải nghiệm người dùng (UX) chưa tối ưu: Nhiều website thương mại hiện nay có giao diện cồng kềnh, thời gian tải trang vượt quá 3.5 giây trên thiết bị di động, làm tăng tỷ lệ thoát trang (Bounce Rate) lên tới trên 55%.
  • Thiếu khả năng phân loại đa thuộc tính: Khách hàng gặp khó khăn trong việc lọc ghế massage theo tính năng công nghệ (con lăn 3D/4D/5D, nhiệt hồng ngoại, túi khí toàn thân, chế độ không trọng lực Zero-Gravity).
  • Quản trị tồn kho phân tán: Thiếu cơ chế đồng bộ số lượng tồn kho theo thời gian thực giữa kho vận và giao diện bán lẻ.

Mục tiêu dự án

  1. Xây dựng hệ thống website thương mại điện tử bán ghế massage Fushi hoàn chỉnh với giao diện chuẩn Responsive Web Design (RWD).
  2. Thiết kế cơ sở dữ liệu quan hệ (RDBMS) chuẩn hóa để lưu trữ và truy xuất danh mục, biến thể sản phẩm, tài khoản người dùng và đơn đặt hàng.
  3. Hiện thực hóa quy trình phân quyền chặt chẽ: Khách hàng (User), Nhân viên xử lý đơn (Staff) và Quản trị viên hệ thống (Administrator).
  4. Tối ưu hóa hiệu năng tải trang (Page Load Time < 2.0s) và chuẩn hóa cấu trúc On-page SEO cho ngành hàng chăm sóc sức khỏe.
  5. Cung cấp bảng điều khiển quản trị (Admin Dashboard) trực quan, cho phép theo dõi doanh thu, cập nhật trạng thái đơn hàng và in hóa đơn bán lẻ.

Phương pháp tiếp cận và cơ sở lựa chọn công nghệ

Giải pháp kỹ thuật cốt lõi là sự kết hợp giữa kiến trúc mã nguồn mở WordPress (phiên bản 6.x) trên nền tảng ngôn ngữ PHP (Zend Engine) và hệ quản trị cơ sở dữ liệu MySQL 8.0. Phương pháp này cân bằng giữa chi phí phát triển thấp, rút ngắn thời gian đưa sản phẩm ra thị trường (Time-to-Market) giảm 60% so với việc lập trình framework từ đầu, đồng thời vẫn bảo đảm khả năng can thiệp sâu vào cấu trúc mã nguồn thông qua Custom Post Types, Hooks API và REST API.

Kết quả kỳ vọng và chỉ số đo lường (Measurable Metrics)

  • First Contentful Paint (FCP): $\le 1.2\text{s}$ trên đường truyền băng thông tiêu chuẩn.
  • Tỷ lệ xử lý đơn hàng chính xác: $100%$ dữ liệu đơn hàng được lưu trữ toàn vẹn, phân loại theo trạng thái thanh toán và ngày tạo.
  • Mức độ tương thích thiết bị: Đạt điểm 95+ trên Google Mobile-Friendly Test.

Phạm vi và giới hạn đề tài

  • Phạm vi: Ứng dụng triển khai cho mô hình bán lẻ B2C (Business-to-Consumer) nội địa của thương hiệu Fushi, hỗ trợ phương thức thanh toán tiền mặt khi nhận hàng (COD) và chuyển khoản qua ngân hàng kèm thông báo xác nhận.
  • Giới hạn: Hệ thống thử nghiệm trên môi trường máy chủ cục bộ (XAMPP 8.2), chưa tích hợp cổng thanh toán trực tiếp qua API thẻ quốc tế (Visa/Mastercard) và chưa hỗ trợ tính năng xem mô hình 3D AR thực tế ảo.

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

Phân tích hiện trạng và giải pháp thay thế

Trước khi triển khai, các giải pháp nền tảng công nghệ phổ biến đã được đánh giá chi tiết:

Tiêu chí kỹ thuật WordPress & Custom Architecture SaaS (Shopify / Haravan) Custom Framework (Laravel / NodeJS)
Chi phí bản quyền/tháng $0\text{ USD}$ (Mã nguồn mở) $29 - 299\text{ USD/tháng}$ $0\text{ USD}$ (Phí server)
Khả năng can thiệp Source Toàn quyền kiểm soát mã nguồn Giới hạn theo API nhà cung cấp Toàn quyền tùy biến 100%
Thời gian triển khai $2 - 4\text{ tuần}$ $1 - 2\text{ tuần}$ $8 - 16\text{ tuần}$
Tối ưu SEO On-page Rất cao (Tự do cấu trúc schema) Trung bình (Bị phụ thuộc URL) Rất cao (Tự viết router)
Yêu cầu phần cứng máy chủ Thấp - Trung bình (PHP/MySQL) Không cần quản lý máy chủ Trung bình - Cao

Ưu tiên yêu cầu người dùng (Mô hình MoSCoW)

  • Must have (Bắt buộc): Đăng ký/đăng nhập người dùng, xem chi tiết ghế massage (thông số, hình ảnh 360, giá niêm yết), thêm vào giỏ hàng, đặt hàng qua form checkout, module quản lý sản phẩm/danh mục/đơn hàng dành cho Admin.
  • Should have (Nên có): Bộ lọc sản phẩm theo phân khúc giá và dòng con lăn, chức năng phân loại đơn hàng theo trạng thái duyệt, in đơn hàng trực tiếp từ dashboard.
  • Could have (Có thể có): Tích hợp nút liên hệ tư vấn nhanh qua Zalo/Messenger, hệ thống đánh giá sao và bình luận nhận xét của khách hàng.
  • Won't have (Chưa làm trong giai đoạn này): Tính năng trả góp tự động liên kết thẻ tín dụng ngân hàng, ứng dụng di động native trên iOS/Android.

Thiết kế kiến trúc hệ thống

graph TD
    Client[Client Layer: Web Browser Desktop / Mobile] -->|HTTP/HTTPS Request| WebServer[Web Server Layer: Apache 2.4 / Nginx]
    WebServer -->|Zend Engine Execution| AppLayer[Application Layer: WordPress Core & Custom Theme PHP]
    AppLayer -->|Data Abstraction Layer / PDO| DBLayer[(Database Layer: MySQL 8.0 Engine InnoDB)]
    
    subgraph Frontend Components
        HTML5[HTML5 Semantic]
        CSS3[CSS3 / Bootstrap 5]
        JS[JavaScript / jQuery 3.6]
    end
    
    subgraph Admin Modules
        UserMgmt[Quản lý Người dùng]
        ProdMgmt[Quản lý Sản phẩm]
        CatMgmt[Quản lý Danh mục]
        OrderMgmt[Quản lý & Duyệt Đơn]
    end
    
    Client --- FrontendComponents
    AppLayer --- AdminModules

Công nghệ sử dụng và phiên bản cụ thể

  • Hệ điều hành môi trường phát triển: Linux Ubuntu / Windows 11.
  • Môi trường máy chủ Web Server: XAMPP Version 8.2.12 tích hợp Apache 2.4.58.
  • Ngôn ngữ xử lý phía máy chủ (Server-side): PHP Version 7.4.33 / 8.1.25 với mô hình hướng đối tượng (OOP) và PDO interface.
  • Hệ quản trị cơ sở dữ liệu (RDBMS): MySQL Version 8.0.35 (InnoDB Storage Engine, UTF-8 Unicode Collation).
  • Thư viện & Framework Frontend: Bootstrap v5.3.2, jQuery v3.6.4, HTML5 Boilerplate, Font Awesome v6.4.

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

Hệ thống sử dụng mô hình cơ sở dữ liệu quan hệ tối ưu hóa cho hệ thống WordPress tùy biến:

-- Bảng cấu trúc thực thể sản phẩm ghế massage (Custom Product Entity)
CREATE TABLE `fushi_products` (
  `product_id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `product_name` VARCHAR(255) NOT NULL,
  `product_slug` VARCHAR(255) NOT NULL UNIQUE,
  `category_id` INT UNSIGNED NOT NULL,
  `regular_price` DECIMAL(12,2) NOT NULL DEFAULT 0.00,
  `sale_price` DECIMAL(12,2) NULL,
  `stock_quantity` INT NOT NULL DEFAULT 0,
  `roller_technology` VARCHAR(50) DEFAULT '4D',
  `zero_gravity` TINYINT(1) DEFAULT 1,
  `description` LONGTEXT NULL,
  `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`product_id`),
  INDEX `idx_category` (`category_id`),
  INDEX `idx_price` (`regular_price`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Bảng lưu trữ thông tin đơn hàng (Orders Master Entity)
CREATE TABLE `fushi_orders` (
  `order_id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` BIGINT UNSIGNED NULL,
  `customer_name` VARCHAR(150) NOT NULL,
  `customer_phone` VARCHAR(20) NOT NULL,
  `shipping_address` TEXT NOT NULL,
  `total_amount` DECIMAL(14,2) NOT NULL,
  `payment_method` ENUM('COD', 'BANK_TRANSFER') DEFAULT 'COD',
  `order_status` ENUM('PENDING', 'PROCESSING', 'COMPLETED', 'CANCELLED') DEFAULT 'PENDING',
  `order_date` DATETIME DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`order_id`),
  INDEX `idx_order_status` (`order_status`),
  INDEX `idx_order_date` (`order_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Thiết kế luồng xử lý tương tác (Sequence Diagram Flow)

Luồng xử lý nghiệp vụ đặt hàng diễn ra theo các bước tuần tự:

Khách hàng               Giao diện (Frontend)          Máy chủ PHP Controller          Cơ sở dữ liệu MySQL
    |                             |                               |                              |
    |--- 1. Thêm vào giỏ hàng --->|                               |                              |
    |                             |--- 2. Cập nhật Session/Cookie>|                              |
    |--- 3. Nhấn Thanh toán ----->|                               |                              |
    |                             |--- 4. Render Form Đặt hàng -->|                              |
    |--- 5. Nhập Info & Submit -->|                               |                              |
    |                             |--- 6. POST Data (AJAX/Form) ->|                              |
    |                             |                               |--- 7. Validate & Sanitize -->|
    |                             |                               |--- 8. INSERT fushi_orders -->|
    |                             |                               |<-- 9. Return Order ID -------|
    |                             |<-- 10. Trả về thông báo OK ---|                              |
    |<-- 11. Hiển thị Trang Cảm ơn|                               |                              |

Bảo mật và tối ưu hóa hiệu năng

  • Xác thực và chống giả mạo: Sử dụng cơ chế mã hóa mật khẩu một chiều thông qua hàm băm chuẩn wp_hash_password() kết hợp kiểm tra Nonce Tokens (wp_create_nonce(), wp_verify_nonce()) trên toàn bộ các biểu mẫu POST nhằm ngăn chặn tấn công CSRF (Cross-Site Request Forgery).
  • Phòng chống SQL Injection & XSS: Toàn bộ truy vấn tương tác cơ sở dữ liệu được thực hiện qua cơ chế tham số hóa $wpdb->prepare(). Dữ liệu nhập từ người dùng được làm sạch bằng các hàm sanitize_text_field(), sanitize_email() và mã hóa đầu ra bằng esc_html(), esc_attr().
  • Phân quyền truy cập theo vai trò (Role-Based Access Control - RBAC): Khách hàng chỉ có quyền xem thông tin cá nhân và lịch sử đơn hàng của chính mình. Quyền thêm/sửa/xóa sản phẩm và duyệt đơn hàng được giới hạn nghiêm ngặt cho vai trò administratorshop_manager.

Phương pháp luận phát triển (Methodology & Timeline)

Dự án áp dụng mô hình phát triển linh hoạt kết hợp 5 giai đoạn triển khai trong thời gian 12 tuần:

Tuần 1-2:   Khảo sát nghiệp vụ, thu thập yêu cầu tính năng ghế massage Fushi
Tuần 3-4:   Thiết kế kiến trúc hệ thống, sơ đồ UseCase, Sequence, Class Diagram
Tuần 5-7:   Xây dựng hệ thống cơ sở dữ liệu, lập trình module Theme và Custom Plugins
Tuần 8-9:   Hiện thực hóa giao diện người dùng (Responsive UI) & Tích hợp Cart/Checkout
Tuần 10-11: Kiểm thử chức năng, tối ưu hóa hiệu năng, bảo mật và khả năng chịu tải
Tuần 12:    Đánh giá chấp nhận người dùng (UAT), đóng gói tài liệu và báo cáo đồ án

Implementation và kết quả

Chi tiết các thuật toán và xử lý nghiệp vụ cốt lõi

Hệ thống hiện thực hóa các chức năng tương tác không đồng bộ (Asynchronous) qua WordPress AJAX và PHP Backend Handler:

1. Thuật toán xử lý thêm sản phẩm vào giỏ hàng và kiểm tra tồn kho (PHP Server-Side Handler)

<?php
/**
 * Xử lý thêm sản phẩm ghế massage vào giỏ hàng an toàn
 * Package: Fushi_Ecommerce_Core
 */
add_action('wp_ajax_fushi_add_to_cart', 'fushi_handle_add_to_cart');
add_action('wp_ajax_nopriv_fushi_add_to_cart', 'fushi_handle_add_to_cart');

function fushi_handle_add_to_cart() {
    // 1. Kiểm tra mã xác thực CSRF Token
    check_ajax_referer('fushi_cart_nonce_action', 'security');

    // 2. Thu thập và làm sạch dữ liệu đầu vào
    $product_id = isset($_POST['product_id']) ? absint($_POST['product_id']) : 0;
    $quantity   = isset($_POST['quantity']) ? max(1, absint($_POST['quantity'])) : 1;

    if ($product_id <= 0) {
        wp_send_json_error(['message' => 'Mã sản phẩm không hợp lệ!'], 400);
    }

    global $wpdb;
    // 3. Kiểm tra số lượng tồn kho thực tế bằng Prepared Statement
    $product = $wpdb->get_row($wpdb->prepare(
        "SELECT product_id, product_name, regular_price, sale_price, stock_quantity 
         FROM fushi_products 
         WHERE product_id = %d LIMIT 1",
        $product_id
    ));

    if (!$product || $product->stock_quantity < $quantity) {
        wp_send_json_error(['message' => 'Sản phẩm đã hết hàng hoặc không đủ số lượng yêu cầu!'], 409);
    }

    // 4. Khởi tạo hoặc cập nhật mảng session giỏ hàng
    if (!session_id()) {
        session_start();
    }

    $cart = isset($_SESSION['fushi_cart']) ? $_SESSION['fushi_cart'] : [];
    $final_price = ($product->sale_price > 0) ? $product->sale_price : $product->regular_price;

    if (isset($cart[$product_id])) {
        $cart[$product_id]['quantity'] += $quantity;
    } else {
        $cart[$product_id] = [
            'name'     => sanitize_text_field($product->product_name),
            'price'    => (float)$final_price,
            'quantity' => $quantity,
        ];
    }

    $_SESSION['fushi_cart'] = $cart;
    $total_items = array_sum(array_column($cart, 'quantity'));

    wp_send_json_success([
        'message'     => 'Đã thêm ghế massage vào giỏ hàng thành công!',
        'total_items' => $total_items
    ], 200);
}

2. Thuật toán phân loại và lọc đơn hàng nâng cao trong trang quản trị (Admin Order Filtering)

<?php
/**
 * Lọc danh sách đơn đặt hàng theo tiêu chí đa chiều cho Admin
 */
function fushi_get_filtered_orders($status = '', $date_from = '', $date_to = '', $limit = 20, $offset = 0) {
    global $wpdb;
    
    $query = "SELECT * FROM fushi_orders WHERE 1=1";
    $params = [];

    if (!empty($status)) {
        $query .= " AND order_status = %s";
        $params[] = sanitize_text_field($status);
    }

    if (!empty($date_from) && !empty($date_to)) {
        $query .= " AND order_date BETWEEN %s AND %s";
        $params[] = sanitize_text_field($date_from . ' 00:00:00');
        $params[] = sanitize_text_field($date_to . ' 23:59:59');
    }

    $query .= " ORDER BY order_date DESC LIMIT %d OFFSET %d";
    $params[] = absint($limit);
    $params[] = absint($offset);

    return $wpdb->get_results($wpdb->prepare($query, $params), ARRAY_A);
}

Kiểm thử và đo lường hiệu năng hệ thống (Testing & Benchmarks)

Kịch bản kiểm thử chức năng (Functional Test Matrix)

Mã kiểm thử Thành phần chức năng Dữ liệu đầu vào / Điều kiện Kết quả kỳ vọng Trạng thái thực tế
TC-01 Đăng ký tài khoản Điền thiếu trường Email hoặc mật khẩu < 6 ký tự Báo lỗi validation cụ thể, không ghi vào CSDL Đạt (Pass)
TC-02 Xem chi tiết sản phẩm Nhấp vào sản phẩm "Ghế Massage Fushi F-88" Hiển thị đúng ảnh đại diện, giá, thông số con lăn Đạt (Pass)
TC-03 Tùy chỉnh giỏ hàng Thay đổi số lượng từ 1 lên 3 hoặc xóa sản phẩm Cập nhật tổng tiền tức thì qua AJAX Đạt (Pass)
TC-04 Đặt hàng & Xác thực Form checkout với thông tin hợp lệ Lưu đơn vào bảng fushi_orders, trừ tồn kho Đạt (Pass)
TC-05 Phân quyền Admin Người dùng thông thường truy cập /wp-admin Tự động chuyển hướng về trang chủ hoặc báo 403 Đạt (Pass)

Kết quả đo lường hiệu năng và tải thực nghiệm

  • Google PageSpeed Insights: Đạt 89/100 điểm trên Mobile97/100 điểm trên Desktop.
  • GTmetrix Performance Grade: Đạt Hạng A (Performance: 96%, Structure: 94%, Largest Contentful Paint (LCP): $1.1\text{s}$, Cumulative Layout Shift (CLS): $0.00$).
  • Kiểm thử chịu tải với Apache JMeter: Mô phỏng 100 người dùng đồng thời (100 Virtual Users) duyệt sản phẩm và gửi request checkout liên tục trong vòng 5 phút:
    • Tổng số mẫu thử (Samples): 3,000 requests.
    • Tỷ lệ lỗi (Error Rate): $0.00%$.
    • Thời gian phản hồi trung bình (Average Latency): $342\text{ms}$.
    • Băng thông đáp ứng (Throughput): $48.2\text{ requests/sec}$.
+-------------------------------------------------------------------------------+
|                      KẾT QUẢ ĐẠT ĐƯỢC SO VỚI MỤC TIÊU BAN ĐẦU                 |
+-------------------------------------------------------------------------------+
|  1. Hoàn thành 100% các module: Trang chủ, Danh mục, Chi tiết, Cart, Checkout  |
|  2. Hoàn thành 100% module Admin: CRUD Sản phẩm/Danh mục, Quản lý tài khoản    |
|  3. Xây dựng thành công tính năng phân loại, xem chi tiết và in đơn hàng      |
|  4. Điểm đánh giá độ khả dụng hệ thống (SUS Score): 85.2 / 100 (Xuất sắc)      |
+-------------------------------------------------------------------------------+

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

  1. Cấu trúc dữ liệu chuyên biệt cho dòng thiết bị y tế - sức khỏe: Thay vì sử dụng các mẫu e-commerce đại trà, đồ án đã chuẩn hóa tập dữ liệu Custom Fields riêng cho ghế massage (công nghệ quét thể trạng Body Scan, túi khí kép TPU, đường ray SL-Track dài 135cm, chế độ sưởi Graphene).
  2. Cơ chế quản lý trạng thái đơn hàng 3 bước minh bạch: Quy trình quản lý đơn hàng được tinh gọn hóa: Tiếp nhận (Pending) -> Xác nhận & Phân loại giao hàng (Processing) -> Hoàn tất & In phiếu (Completed). Tính năng in đơn hàng trực tiếp ngay trong giao diện quản trị giúp nhân viên showroom tiết kiệm 45% thời gian xử lý thủ công.
  3. So sánh cải tiến hiệu năng so với các giải pháp thông thường:
Chỉ số kỹ thuật Website đề tài Fushi Website WordPress thông thường dùng Theme cồng kềnh Tỷ lệ cải thiện
Kích thước trang (Page Size) $1.4\text{ MB}$ $4.8\text{ MB}$ Giảm 70.8%
Số lượng HTTP Requests 38 requests 115 requests Giảm 66.9%
Thời gian phản hồi Server (TTFB) $180\text{ms}$ $620\text{ms}$ Nhanh hơn 70.9%
Thời gian xử lý 1 đơn hàng 45 giây (Thao tác Admin) 120 giây (Nhiều bước phụ) Tiết kiệm 62.5%

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

Kịch bản ứng dụng thực tế

  • Khách hàng cá nhân: Dễ dàng tra cứu thông số kỹ thuật ghế massage, so sánh giữa các phiên bản Fushi cao cấp và tầm trung ngay trên smartphone, đặt hàng nhanh chóng mà không cần qua các bước đăng ký rườm rà.
  • Nhân viên tư vấn & Quản lý bán hàng: Sử dụng hệ thống để kiểm tra nhanh lượng tồn kho của từng model ghế tại showroom, lọc danh sách đơn hàng phát sinh trong ngày theo từng khu vực giao nhận để điều phối đội ngũ kỹ thuật viên lắp đặt tại nhà.

Chiến lược triển khai môi trường Production

Hệ thống sẵn sàng được chuyển giao từ môi trường phát triển cục bộ lên hạ tầng máy chủ trực tuyến (Production Cloud Hosting) theo quy trình 4 bước:

[Bước 1: Chuẩn bị Server]
   - Thuê máy chủ Cloud VPS (Ubuntu 22.04 LTS, 2 vCPU, 4GB RAM, NVMe SSD)
   - Cài đặt Nginx/Apache2, PHP 8.1-FPM, MariaDB Server, chứng chỉ SSL Let's Encrypt

[Bước 2: Di chuyển Cơ sở dữ liệu & Source Code]
   - Export file SQL từ XAMPP phpMyAdmin -> Import vào MariaDB qua Command Line
   - Cập nhật site_url, home trong bảng wp_options qua câu lệnh UPDATE SQL
   - Upload toàn bộ mã nguồn website thông qua giao thức SFTP an toàn

[Bước 3: Tối ưu Cấu hình Máy chủ Production]
   - Kích hoạt cơ chế nén Gzip/Brotli trên Web Server
   - Bật OPcache và Redis Object Cache để tăng tốc truy vấn database
   - Cấu hình phân quyền tệp tin: 755 cho thư mục và 644 cho tệp mã nguồn

[Bước 4: Trỏ Tên miền & Kích hoạt CDN]
   - Cấu hình bản ghi DNS (A Record, CNAME) tên miền chính thức fushimassage.vn
   - Định tuyến qua Cloudflare CDN để phòng chống tấn công DDoS và tối ưu phân phối ảnh

Phân tích chi phí - lợi ích và thời gian hoàn vốn (Cost-Benefit & ROI)

  • Chi phí đầu tư ban đầu:
    • Tên miền quốc tế/quốc gia (.com/.vn): $250.000 - 550.000\text{ VNĐ/năm}$.
    • Hạ tầng Cloud VPS tiêu chuẩn: $1.200.000 - 2.400.000\text{ VNĐ/năm}$.
    • Chi phí bản quyền phần mềm: $0\text{ VNĐ}$ (Nhờ tận dụng hệ sinh thái mã nguồn mở).
  • Lợi ích kinh tế: Tiết kiệm khoảng $30.000.000 - 50.000.000\text{ VNĐ}$ so với việc thuê đơn vị ngoài gia công website thương mại điện tử chuyên biệt; Tự động hóa tiếp nhận khách hàng 24/7 giúp gia tăng doanh số trực tuyến ước tính $25 - 40%$ sau 3 tháng vận hành.
  • Thời gian hoàn vốn dự kiến (ROI Timeline): Đạt điểm hòa vốn ngay trong tháng đầu tiên sau khi phát sinh 1–2 giao dịch ghế massage thành công qua website.

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

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

  • Hệ thống hiện tại mới dừng lại ở mô hình xử lý thanh toán ngoại tuyến (COD và chuyển khoản ngân hàng thủ công qua đối soát sao kê), chưa kết nối trực tiếp với các cổng thanh toán trung gian trực tuyến tự động qua Webhook.
  • Cơ chế đồng bộ tồn kho chưa kết nối trực tiếp với hệ thống phần mềm quản trị doanh nghiệp tổng thể (ERP) của chuỗi cửa hàng vật lý.

Hướng nâng cấp mở rộng

  1. Tích hợp cổng thanh toán trực tuyến tự động: Mở rộng module tích hợp API cổng thanh toán VNPAY, MoMo, ZaloPay và chuẩn quét mã QR động VietQR theo chuẩn Napas 247.
  2. Xây dựng tính năng Trải nghiệm thực tế ảo AR 3D: Cho phép khách hàng sử dụng camera điện thoại để ướm thử mô hình 3D ghế massage Fushi vào không gian phòng khách thực tế trước khi ra quyết định mua.
  3. Ứng dụng Progressive Web App (PWA): Nâng cấp website thành ứng dụng web lũy tiến, cho phép gửi thông báo đẩy (Push Notifications) về lịch bảo dưỡng ghế định kỳ cho khách hàng.

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

+------------------------------------------------------------------------------------+
|                               GIÁ TRỊ CHUYỂN GIAO                                  |
+------------------------------------------------------------------------------------+
|  SINH VIÊN CNTT:       Tài liệu tham khảo chuẩn mực về phân tích UML, thiết kế CSDL|
|  LẬP TRÌNH VIÊN:       Bộ mã nguồn mẫu xử lý AJAX an toàn, chống SQLi & CSRF       |
|  DOANH NGHIỆP:         Giải pháp số hóa bán lẻ chi phí 0đ bản quyền, ROI cao       |
|  NHÀ NGHIÊN CỨU:       Số liệu thực nghiệm kiểm thử hiệu năng LAMP Stack           |
+------------------------------------------------------------------------------------+
  • Sinh viên ngành Công nghệ Thông tin: Nắm bắt quy trình phân tích và thiết kế hệ thống thông tin theo chuẩn công nghiệp (Use Case Diagram, Activity Diagram, Sequence Diagram, Class Diagram).
  • Lập trình viên Web: Tiếp cận các mẫu code chuẩn (Best Practices) về xử lý dữ liệu bất đồng bộ AJAX trong PHP/WordPress, kỹ thuật chuẩn hóa bảo mật biểu mẫu và tối ưu hóa câu truy vấn CSDL.
  • Chủ doanh nghiệp & Quản lý Showroom: Sở hữu mô hình vận hành thương mại điện tử tinh gọn, làm chủ toàn bộ dữ liệu khách hàng mà không bị phụ thuộc vào các nền tảng tính phí trung gian.

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

1. Yêu cầu cấu hình tối thiểu để triển khai website là gì?

Máy chủ cần cài đặt môi trường hỗ trợ PHP phiên bản từ 7.4 trở lên (khuyên dùng PHP 8.1/8.2), hệ quản trị cơ sở dữ liệu MySQL 5.7 hoặc MariaDB 10.3 trở lên, Web Server Apache 2.4 (kích hoạt module mod_rewrite) hoặc Nginx, dung lượng RAM tối thiểu 1GB và ổ cứng trống từ 2GB.

2. Hệ thống có khả năng mở rộng (Scalability) khi lượng truy cập tăng đột biến không?

Có. Nhờ thiết kế tách biệt giữa tầng hiển thị và cơ sở dữ liệu, khi lưu lượng truy cập vượt quá 10,000 lượt/ngày, hệ thống có thể dễ dàng kích hoạt các giải pháp mở rộng: cấu hình Redis/Memcached để lưu đệm truy vấn, sử dụng mạng phân phối nội dung (CDN) để tải tài nguyên tĩnh và nâng cấp tài nguyên VPS mà không cần cấu trúc lại mã nguồn.

3. Website có tương thích tốt với các công cụ tìm kiếm (SEO) không?

Có. Mã nguồn được tối ưu ngữ nghĩa HTML5 (Semantic Tags), cấu trúc URL thân thiện (Pretty Permalinks), tốc độ phản hồi nhanh và tích hợp sẵn cấu trúc dữ liệu Schema Product giúp các công cụ tìm kiếm như Google dễ dàng thu thập dữ liệu và xếp hạng từ khóa sản phẩm ghế massage.

4. Quy trình bảo mật dữ liệu khách hàng được thực hiện như thế nào?

Mọi thông tin nhạy cảm (như mật khẩu người dùng) đều được băm bằng thuật toán an toàn trước khi lưu vào cơ sở dữ liệu. Toàn bộ các thao tác thêm, sửa, xóa đều được kiểm tra mã chứng thực Nonce và quyền hạn tài khoản (Capabilities Check) để ngăn chặn hành vi can thiệp trái phép.

5. Chi phí duy trì vận hành website hàng năm ước tính khoảng bao nhiêu?

Chi phí duy trì bao gồm phí gia hạn tên miền (~300.000 VNĐ/năm) và phí duy trì Cloud Hosting/VPS (~1.500.000 VNĐ/năm). Tổng chi phí vận hành định kỳ duy trì ở mức dưới 2.000.000 VNĐ/năm, hoàn toàn phù hợp với ngân sách của các doanh nghiệp và showroom vừa và nhỏ.


Kết luận

Đồ án tốt nghiệp "Xây dựng website bán ghế massage Fushi dựa trên nền tảng WordPress" của sinh viên Chu Nguyên Quyền đã 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 triệt để bài toán kinh doanh cụ thể cho thương hiệu ghế massage Fushi bằng một nền tảng thương mại điện tử trực quan, tải nhanh và an toàn, mà còn cung cấp một bản thiết kế hệ thống mẫu mực với đầy đủ tài liệu đặc tả kỹ thuật, sơ đồ phân tích UML và quy trình kiểm thử nghiêm ngặt.

Hệ thống chứng minh tính khả thi cao, chi phí đầu tư ban đầu thấp và khả năng vận hành ổn định trong môi trường thực tế. Với định hướng tích hợp các công nghệ thanh toán thông minh và trải nghiệm 3D trong tương lai, đây là bước đệm vững chắc để mở rộng chuyển đổi số toàn diện cho chuỗi cung ứng thiết bị chăm sóc sức khỏe.