Giới thiệu dự án

Thương mại điện tử (E-Commerce) tại Việt Nam trong giai đoạn 2016–2020 chứng kiến tốc độ tăng trưởng kép hàng năm đạt trên 25%, thúc đẩy các doanh nghiệp bán lẻ truyền thống chuyển dịch mạnh mẽ sang mô hình kinh doanh số hóa. Đối với các đơn vị kinh doanh nội ngoại thất có quy mô đa showroom và danh mục sản phẩm phức tạp như Công ty TNHH Dịch vụ Thương mại Tổng hợp Hồng Anh (Quảng Ninh), việc chỉ duy trì các kênh bán lẻ trực tiếp và website tĩnh thuần túy giới thiệu thông tin đã bộc lộ nhiều điểm nghẽn nghiêm trọng: quy trình xử lý đơn hàng thủ công dựa trên giấy tờ tốn từ 24–48 giờ, không có công cụ tính toán và đăng ký mua hàng trả góp trực tuyến, tỷ lệ giữ chân khách hàng trên nền tảng số đạt dưới 15%, và hoàn toàn thiếu cơ chế tương tác thời gian thực.

Đề tài "Tìm hiểu phần mềm nguồn mở Zen Cart và ứng dụng xây dựng website bán hàng" (Đồ án tốt nghiệp ngành Công nghệ Thông tin, Đại học Dân lập Hải Phòng) được nghiên cứu và triển khai nhằm giải quyết triệt để các bài toán thực tiễn nêu trên. Dự án tập trung khai thác nền tảng mã nguồn mở Zen Cart phiên bản 1.5, tối ưu hóa kiến trúc LAMP (Linux, Apache, MySQL, PHP) để xây dựng hệ thống thương mại điện tử chuyên biệt cho ngành nội thất.

+-----------------------------------------------------------------------------------+
|                         HỆ THỐNG THƯƠNG MẠI ĐIỆN TỬ ZEN CART                      |
+------------------------------------------+----------------------------------------+
|           FRONTEND (STOREFRONT)          |         BACKEND (ADMINISTRATION)       |
|  - Danh mục & Sản phẩm Nội thất          |  - Quản lý Sản phẩm / Kho hàng (Stock) |
|  - Giỏ hàng & Thanh toán (Shopping Cart) |  - Xử lý Đơn hàng (Order State Machine)|
|  - Module Trả góp (Installment Loan)     |  - Quản lý Khách hàng & Phân nhóm      |
|  - LiveChat Hỗ trợ trực tuyến            |  - Khuyến mãi, Coupons & Tiền tệ (VND) |
+------------------------------------------+----------------------------------------+

Mục tiêu cụ thể của dự án bao gồm:

  1. Nghiên cứu sâu cơ chế vận hành, cấu trúc module và luồng dữ liệu của hệ quản trị nội dung mã nguồn mở Zen Cart v1.5 theo giấy phép GNU General Public License (GPL).
  2. Xây dựng môi trường máy chủ Web LAMP chuẩn hóa trên nền tảng hạ tầng Hostinger, cấu hình cơ sở dữ liệu MySQL và tối ưu đường truyền mạng.
  3. Bản địa hóa toàn diện (Việt hóa 100%) toàn bộ hệ thống gồm Frontend (Storefront) và Backend (Admin Control Panel).
  4. Phát triển mới Module Đăng ký mua hàng trả góp trực tuyến (tpl_tra_gop_display.php) tích hợp thư viện PHPMailer phục vụ xử lý luồng dữ liệu hồ sơ khách hàng.
  5. Tích hợp giải pháp hỗ trợ trực tuyến LiveChat Sidebox API nhằm tối ưu hóa tỷ lệ chuyển đổi khách hàng tiềm năng.
  6. Triển khai thử nghiệm và đóng gói quy trình chuyển giao công nghệ cho Công ty TNHH Hồng Anh.

Phạm vi nghiên cứu giới hạn ở phân hệ B2C (Business-to-Consumer) cho danh mục nội ngoại thất, tích hợp thanh toán linh hoạt và quản trị đơn hàng tập trung, đảm bảo khả năng đáp ứng trên 500 người dùng đồng thời với thời gian phản hồi máy chủ trung bình dưới 1.5 giây.


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

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

Tại thời điểm khảo sát, website cũ của Công ty TNHH Hồng Anh (noithathalong.com) là một website tĩnh, chỉ có chức năng hiển thị bài viết và hình ảnh đơn giản, thiếu hoàn toàn các module cốt lõi của một hệ thống bán lẻ trực tuyến: không có cơ sở dữ liệu quản lý tồn kho, không có giỏ hàng (Shopping Cart), không có luồng trạng thái đơn hàng (Order State Lifecycle), và không có phân quyền người dùng.

Tiêu chí kỹ thuật Zen Cart v1.5 WooCommerce v2.6 Magento v1.9 Website tĩnh tự xây dựng (Cũ)
Yêu cầu tài nguyên máy chủ Rất thấp (64MB RAM, PHP 5.6+) Trung bình (128MB RAM, WordPress) Rất cao (512MB-2GB RAM, VPS riêng) Cực thấp (HTML/CSS thuần)
Chi phí bản quyền & Vận hành 0 VNĐ (GPL v2) 0 VNĐ (Plugin trả phí cao) Miễn phí bản CE (Phí bảo trì cao) 0 VNĐ (Tự duy trì)
Hệ thống Template Overrides Hỗ trợ sâu, độc lập code lõi Hỗ trợ qua Child Theme Cấu trúc XML Layout phức tạp Không hỗ trợ
Khả năng quản trị đơn hàng Chuyên sâu, có sẵn State Machine Cơ bản, cần cài thêm plugin Doanh nghiệp lớn, đa kênh Hoàn toàn không có
Độ phức tạp khi tùy biến Trung bình (Đòi hỏi hiểu biết PHP) Thấp đến trung bình Rất cao (Cần chuyên gia Magento) Cao khi mở rộng chức năng

Hệ thống yêu cầu người dùng được phân loại theo mô hình MoSCoW:

  • Must-have (Bắt buộc): Quản lý danh mục đa cấp, giỏ hàng, đặt hàng, quản lý vòng đời đơn hàng (Pending, Processing, Shipping, Complete), bản địa hóa tiếng Việt.
  • Should-have (Nên có): Module đăng ký mua hàng trả góp trực tuyến, hỗ trợ trực tuyến LiveChat thời gian thực, quản lý mã giảm giá (Coupon engine).
  • Could-have (Có thể có): Quản lý nhóm khách hàng thân thiết (Customer Group Pricing), quản lý đa tiền tệ (VND/USD).
  • Won't-have (Tạm thời chưa làm): Tích hợp cổng thanh toán trực tiếp qua thẻ tín dụng quốc tế (Payment Gateway API) do yêu cầu pháp lý và bảo mật PCI-DSS của bên thứ ba.

Thiết kế hệ thống

Kiến trúc phần mềm được xây dựng theo mô hình 3 lớp (3-tier Architecture) phân tách rạch ròi giữa giao diện hiển thị, tầng logic xử lý và tầng cơ sở dữ liệu quan hệ MySQL.

+-----------------------------------------------------------------------------+
|                                TẦNG CLIENT                                  |
|         Trình duyệt Web (Storefront UI / Responsive CSS / JavaScript)       |
+-----------------------------------------------------------------------------+
                                       | HTTP/HTTPS (Port 80/443)
+-----------------------------------------------------------------------------+
|                           TẦNG ỨNG DỤNG (WEB SERVER)                        |
|   Apache Web Server 2.4 + PHP 5.6 / 7.0 Engine                              |
|   +---------------------------------------------------------------------+   |
|   |  Zen Cart Core Application Framework                                |   |
|   |  - Template Override Engine (View)                                  |   |
|   |  - Application Top / Init Controllers (Logic)                       |   |
|   |  - Custom Modules: Installment Manager & PHPMailer, LiveChat Sidebox|   |
|   |  - Localization Subsystem (vi-VN charset UTF-8)                     |   |
|   +---------------------------------------------------------------------+   |
+-----------------------------------------------------------------------------+
                                       | MySQL Protocol (Port 3306)
+-----------------------------------------------------------------------------+
|                           TẦNG DỮ LIỆU (DATABASE)                           |
|   MySQL Database Server (InnoDB / MyISAM Engine, Collation utf8_general_ci) |
|   - Tables: products, categories, orders, customers, coupons, currencies... |
+-----------------------------------------------------------------------------+

Hệ thống cơ sở dữ liệu quan hệ được thiết kế chuẩn hóa, gồm các thực thể cốt lõi:

  • zen_products & zen_products_description: Lưu trữ thông tin định danh, giá bán, trọng lượng, số lượng tồn kho và mô tả chi tiết sản phẩm.
  • zen_categories & zen_categories_description: Định nghĩa cây danh mục sản phẩm đa cấp.
  • zen_orders & zen_orders_status_history: Theo dõi toàn bộ lịch sử đơn hàng, địa chỉ giao nhận, tổng tiền và trạng thái xử lý.
  • zen_customers: Lưu trữ thông tin tài khoản, mật khẩu mã hóa (MD5/Salted Hash), lịch sử giao dịch.
  • zen_coupons: Quản lý chương trình khuyến mãi, tỷ lệ chiết khấu, hạn mức sử dụng.

Về bảo mật, hệ thống áp dụng các nguyên tắc: đổi tên thư mục quản trị mặc định /admin thành /quantri để ngăn chặn tấn công quét lỗ hổng tự động (Brute Force Scanning); xóa bỏ hoàn toàn thư mục cài đặt /zc_install ngay sau khi thiết lập cơ sở dữ liệu; sử dụng hàm nội tại zen_db_input() cho mọi truy vấn nhằm triệt tiêu nguy cơ tấn công SQL Injection; và bảo vệ thông tin phiên làm việc bằng cơ chế mã hóa Cookie/Session của PHP.

Methodology

Dự án áp dụng phương pháp phát triển phần mềm lặp (Iterative Waterfall Model) kết hợp kiểm thử tích hợp liên tục trong thời gian 12 tuần (từ 03/10/2016 đến 30/12/2016):

Tuần 01 - 02: Khảo sát nghiệp vụ bán hàng & Thu thập yêu cầu Công ty Hồng Anh
Tuần 03 - 04: Nghiên cứu mã nguồn Zen Cart v1.5 & Thiết lập môi trường LAMP Hostinger
Tuần 05 - 07: Cài đặt Core, Cấu hình CSDL & Việt hóa hệ thống (quantri / includes)
Tuần 08 - 09: Phát triển Module Trả góp (PHPMailer) & Tích hợp LiveChat Sidebox API
Tuần 10 - 11: Nhập dữ liệu sản phẩm, Kiểm thử chức năng, Tối ưu hiệu năng & Bảo mật
Tuần 12     : Đóng gói nghiệm thu, Viết tài liệu bàn giao & Hướng dẫn sử dụng

Implementation và kết quả

Development process

Quá trình hiện thực hóa giải pháp tập trung vào 3 hạng mục kỹ thuật chính: Bản địa hóa hệ thống, Xây dựng Module trả góp và Nhúng tiện ích LiveChat.

1. Bản địa hóa toàn diện (Localization)

Zen Cart phân tách ngôn ngữ thông qua các tệp định nghĩa hằng số PHP. Dự án đã cấu hình ngôn ngữ Tiếng Việt (vietnamese.php) trong cả hai phân hệ quantri (Backend) và includes/languages (Frontend):

// Trích xuất từ tệp includes/languages/vietnamese.php
define('CHARSET', 'utf-8');
define('HTML_PARAMS','dir="ltr" lang="vi"');
define('HEADER_TITLE_CATALOG', 'Cửa hàng Nội thất Hồng Anh');
define('TEXT_ORDER_STATUS', 'Trạng thái đơn hàng:');
define('TEXT_SHIPPING_INFO', 'Thông tin giao nhận hàng');

Các form nghiệp vụ quan trọng như Form Thêm/Sửa sản phẩm (product.php), Quản lý tiền tệ (currencies.php), Quản lý đơn hàng (orders.php) và Quản lý phiếu giảm giá (coupon_admin.php) đều được chuyển dịch hoàn chỉnh sang ngữ cảnh tiếng Việt chuẩn.

2. Module Mua hàng trả góp (tpl_tra_gop_display.php)

Để giải quyết bài toán tài chính cho các đơn hàng nội thất giá trị cao, một trang giao diện chuyên biệt được xây dựng trong cấu trúc template: includes/templates/template_default/templates/tpl_tra_gop_display.php. Form tiếp nhận thông tin khách hàng, số CMND/CCCD, thu nhập hàng tháng, tỷ lệ trả trước (20% – 70%), thời hạn vay (6 – 24 tháng) và tự động tính toán khoản trả định kỳ.

Khi người dùng nhấn "Gửi hồ sơ", hệ thống sử dụng thư viện PHPMailer để đóng gói dữ liệu và gửi thông báo tức thì tới bộ phận thẩm định tín dụng của công ty:

<?php
// Trích xuất logic xử lý gửi hồ sơ trả góp qua PHPMailer
require_once('includes/classes/class.phpmailer.php');

if (isset($_POST['action']) && $_POST['action'] == 'send_installment') {
    $fullName    = zen_db_prepare_input($_POST['fullname']);
    $phoneNumber = zen_db_prepare_input($_POST['telephone']);
    $productId   = zen_db_prepare_input($_POST['product_id']);
    $prepayRate  = zen_db_prepare_input($_POST['prepay_rate']);
    $loanPeriod  = zen_db_prepare_input($_POST['loan_period']);
    
    $mail = new PHPMailer();
    $mail->IsMail();
    $mail->CharSet = 'UTF-8';
    $mail->From     = 'no-reply@noithathalong.hu';
    $mail->FromName = 'Hệ thống Đăng ký Trả góp Hồng Anh';
    $mail->AddAddress('marketing.honganh@gmail.com');
    $mail->Subject  = '[HỒ SƠ TRẢ GÓP MỚI] - Khách hàng: ' . $fullName;
    
    $mailBody  = "<h3>Thông tin hồ sơ trả góp trực tuyến</h3>";
    $mailBody .= "<p><strong>Họ tên:</strong> {$fullName}</p>";
    $mailBody .= "<p><strong>Điện thoại:</strong> {$phoneNumber}</p>";
    $mailBody .= "<p><strong>Mã sản phẩm:</strong> {$productId}</p>";
    $mailBody .= "<p><strong>Tỷ lệ trả trước:</strong> {$prepayRate}%</p>";
    $mailBody .= "<p><strong>Kỳ hạn vay:</strong> {$loanPeriod} tháng</p>";
    
    $mail->MsgHTML($mailBody);
    if($mail->Send()) {
        $messageStack->add_session('installment', 'Hồ sơ trả góp của bạn đã được gửi thành công!', 'success');
    }
}
?>

3. Tích hợp Module LiveChat Sidebox API

Nhằm hỗ trợ tư vấn tức thì, hệ thống tích hợp tiện ích LiveChat vào thanh điều hướng (Sidebox). Kỹ sư thực hiện nhúng mã nguồn kết nối trong tệp includes/templates/template_default/common/html_header.php:

// Chèn tệp header xử lý Livechat trước khi đóng thẻ </head>
require_once('includes/modules/livechat/header.php');

Đồng thời, cấu hình trạng thái hiển thị trong bảng điều khiển Quản trị (Admin -> Tools -> Layout Boxes Controller), chuyển cờ sideboxes/livechat.php sang trạng thái kích hoạt (ON) để hiển thị widget chat trực tiếp trên Storefront.

Testing và validation

Hệ thống trải qua 4 vòng kiểm thử nghiêm ngặt trên môi trường máy chủ thực nghiệm:

Kịch bản kiểm thử (Test Scenario) Phương pháp kiểm thử Kết quả mong đợi Kết quả thực tế Trạng thái
Quá trình đăng ký & Đăng nhập Functional Testing Tạo tài khoản mới, gửi email kích hoạt, lưu phiên 100/100 tài khoản tạo thành công, Session ổn định ĐẠT
Quy trình Đặt hàng (Checkout) End-to-End Testing Duyệt 3 bước: Giỏ hàng -> Địa chỉ -> Phương thức -> Hóa đơn Hoàn thành đơn hàng trong < 45 giây, cập nhật CSDL ĐẠT
Form Đăng ký trả góp Integration Testing Nhập dữ liệu form, kiểm tra hàm PHPMailer::Send() Email gửi về hộp thư quản trị viên trong 2.8 giây ĐẠT
Vận hành Sidebox LiveChat User Acceptance Kết nối chat 2 chiều giữa khách hàng và tư vấn viên Phản hồi tin nhắn tức thì, độ trễ mạng < 300ms ĐẠT
Tải đồng thời (Load Test) ApacheBench (100 req/s) Đo lường mức sử dụng CPU và thời gian phản hồi (TTFB) TTFB đạt 620ms, không phát sinh lỗi HTTP 500/503 ĐẠT

Kết quả đạt được

Hệ thống đã triển khai thành công 100% các chức năng cốt lõi theo đề cương ban đầu:

  • Phân hệ Quản trị (Backend): Quản lý chi tiết danh mục cây nội thất (Nội thất gia đình, Văn phòng, Khách sạn, Tàu du lịch), phân loại sản phẩm theo thuộc tính (Attribute Sets: kích thước, chất liệu gỗ, màu sắc), quản lý đơn hàng theo 5 trạng thái tiêu chuẩn (Pending $\rightarrow$ Processing $\rightarrow$ Shipping $\rightarrow$ Updating $\rightarrow$ Complete), quản lý hệ thống tiền tệ hiển thị VNĐ.
  • Phân hệ Người dùng (Frontend): Giao diện bán hàng trực quan, hỗ trợ bộ lọc tìm kiếm nâng cao, tích hợp giỏ hàng tự động tính toán thuế/chi phí vận chuyển, hệ thống gửi email tự động xác nhận đơn hàng tới hộp thư khách hàng ngay sau khi đặt lệnh thành công.

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

  1. Chuẩn hóa quy trình mua sắm nội thất trực tuyến kết hợp tài chính: Khác với các website Zen Cart thông thường chỉ hỗ trợ giỏ hàng truyền thống, dự án đã xây dựng riêng module đăng ký trả góp chuyên biệt, giúp người tiêu dùng giải quyết rào cản chi phí đối với các bộ sản phẩm nội thất cao cấp có giá trị từ 20 đến trên 100 triệu VNĐ.
  2. Bộ ngôn ngữ tiếng Việt hoàn chỉnh cho Zen Cart v1.5: Khắc phục triệt để tình trạng thiếu hụt tài liệu và gói ngôn ngữ không đồng bộ của Zen Cart tại thị trường Việt Nam bằng việc biên dịch, chuẩn hóa thuật ngữ thương mại điện tử trên hơn 40 tệp mã nguồn PHP lõi.
  3. Hiệu quả tối ưu chi phí vận hành: So sánh với việc thuê ngoài phát triển phần mềm theo yêu cầu (chi phí ước tính từ 30 – 50 triệu VNĐ vào năm 2016) hoặc sử dụng các nền tảng thương mại nặng nề như Magento, giải pháp Zen Cart trên nền máy chủ Hostinger giúp doanh nghiệp tiết kiệm 85% chi phí đầu tư ban đầu và giảm 70% thời gian xử lý đơn hàng.
Hiệu quả tối ưu hóa thời gian xử lý nghiệp vụ:
[Quy trình thủ công cũ] : ========================================> (24 - 48 giờ)
[Hệ thống Zen Cart mới] : =====> (2 - 4 giờ xử lý & thẩm định) -> Giảm 88% thời gian

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

Trường hợp ứng dụng tại Công ty TNHH Hồng Anh

Hệ thống được thiết kế khớp nối trực tiếp với cấu trúc vận hành thực tế gồm 2 trung tâm showroom và 4 cửa hàng chuyên doanh của Công ty Hồng Anh tại TP. Hạ Long, tỉnh Quảng Ninh:

  • Showroom 135/137/139 Nguyễn Văn Cừ: Trung tâm tư vấn, thiết kế, sàn gỗ và vật liệu nội thất cao cấp.
  • Showroom 153/155/157 Nguyễn Văn Cừ: Tòa nhà 6 tầng trưng bày trọn gói nội thất gia đình.
  • Hệ thống 4 cửa hàng vệ tinh: Phân phối đồ gỗ tự nhiên, nội thất tân cổ điển và thiết bị vệ sinh SAE.
+-----------------------------------------------------------------------------+
|                     TRUNG TÂM QUẢN TRỊ ZEN CART TẬP TRUNG                   |
+-----------------------------------------------------------------------------+
           |                              |                             |
           v                              v                             v
+--------------------+         +--------------------+         +---------------+
| Showroom Thiết Kế  |         | Showroom 6 Tầng    |         | 4 Cửa Hàng    |
| 135-139 Nguyễn V.Cừ|         | 153-157 Nguyễn V.Cừ|         | Gỗ & Thiết Bị |
+--------------------+         +--------------------+         +---------------+

Quy trình triển khai hạ tầng kỹ thuật (Deployment Guide)

Quá trình đưa hệ thống từ môi trường cục bộ lên máy chủ Internet tuân thủ các bước:

  1. Thiết lập Hosting & Tên miền: Khởi tạo gói hosting hỗ trợ PHP 5.6/MySQL trên máy chủ Hostinger, liên kết tên miền noithathalong.hu.
  2. Truyền tải mã nguồn: Đóng gói toàn bộ cây thư mục Zen Cart và sử dụng giao thức File Manager / Net2FTP để tải lên thư mục gốc public_html, thực hiện giải nén trực tiếp trên máy chủ.
  3. Cấu hình CSDL: Tạo cơ sở dữ liệu MySQL, import cấu trúc bảng và thiết lập quyền truy cập cho Database User.
  4. Chạy trình cài đặt: Truy cập http://noithathalong.hu/zc_install/index.php, điền các tham số kết nối Host, User, Password, DB Name và tiến hành nạp cấu hình hệ thống.
  5. Gia cố bảo mật máy chủ: Xóa thư mục zc_install, phân quyền tệp tin includes/configure.phpquantri/includes/configure.php về chmod 444 hoặc chmod 644 để ngăn chặn ghi đè trái phép.

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

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

  • Công cụ tối ưu hóa công cụ tìm kiếm (SEO URLs): Zen Cart mặc định sử dụng chuỗi truy vấn động (ví dụ: index.php?main_page=product_info&products_id=15) gây bất lợi nhất định cho việc lập chỉ mục tự nhiên của các Search Engine bots.
  • Giao diện quản trị (Admin UI): Giao diện gốc của Zen Cart v1.5 tương đối đơn giản, chưa tích hợp framework phản hồi đa thiết bị (Responsive Admin Dashboard).
  • Cổng thanh toán tự động (Online Payment Gateway): Chưa tích hợp trực tiếp API của các đơn vị thanh toán nội địa (như Ngân Lượng, Bảo Kim, hoặc thẻ ATM nội địa Napas).

Hướng phát triển nâng cấp

  • Cài đặt và cấu hình module mở rộng Ultimate SEO URLs để chuyển đổi toàn bộ liên kết sang định dạng thân thiện (Friendly Rewrite URL dạng .html).
  • Tích hợp giao diện Frontend ứng dụng công nghệ Twitter Bootstrap hoặc HTML5/CSS3 Responsive Web Design để tối ưu trải nghiệm trên thiết bị di động.
  • Phát triển API RESTful kết nối dữ liệu tồn kho của website trực tiếp với phần mềm quản lý kho và kế toán nội bộ của doanh nghiệp.

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

  • Sinh viên và Học viên ngành CNTT: Tài liệu tham khảo thực tế về kiến trúc phần mềm mã nguồn mở PHP/MySQL, cách giải quyết bài toán nghiệp vụ thương mại điện tử hoàn chỉnh từ phân tích, thiết kế, lập trình đến triển khai máy chủ.
  • Lập trình viên và Web Master: Cung cấp hướng dẫn chi tiết về kỹ thuật can thiệp tệp tin template override, tích hợp thư viện bên ngoài (PHPMailer, LiveChat) vào hệ thống Zen Cart mà không làm phá vỡ tính toàn vẹn của mã nguồn gốc.
  • Doanh nghiệp vừa và nhỏ (SMEs): Mô hình mẫu giúp doanh nghiệp chuyển đổi số nhanh chóng với ngân sách tối thiểu nhưng vẫn đảm bảo đầy đủ các tính năng bán hàng, quản lý đơn hàng và chăm sóc khách hàng chuyên nghiệp.
  • Nhà nghiên cứu hệ thống thông tin: Cung cấp số liệu so sánh, đánh giá tính khả thi và hiệu năng thực tế của các hệ quản trị nội dung mã nguồn mở thế hệ mới.

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

1. Yêu cầu cấu hình máy chủ tối thiểu để triển khai website Zen Cart v1.5 là gì?

Máy chủ cần cài đặt hệ điều hành Linux (CentOS/Ubuntu) hoặc Windows Server, máy chủ web Apache 2.2+, phiên bản PHP từ 5.4 đến 7.0 (yêu cầu hỗ trợ các phần mở rộng: curl, gd, mbstring, openssl), cơ sở dữ liệu MySQL phiên bản 5.1 trở lên với dung lượng ổ cứng khả dụng tối thiểu 100MB cho mã nguồn và 50MB cho CSDL cơ bản.

2. Làm thế nào để giải quyết vấn đề hiển thị sai ký tự tiếng Việt (lỗi font UTF-8) trong CSDL?

Cần đảm bảo đồng bộ bảng mã ký tự ở 3 cấp độ:

  • Trong tệp cấu hình ngôn ngữ: Khai báo define('CHARSET', 'utf-8');.
  • Trong cơ sở dữ liệu MySQL: Thiết lập Database Collation và Table Collation là utf8_general_ci hoặc utf8mb4_unicode_ci.
  • Trong tệp kết nối dữ liệu: Đảm bảo thực thi lệnh SET NAMES 'utf8' ngay sau khi khởi tạo kết nối CSDL trong Zen Cart.

3. Module trả góp có lưu trữ thông tin nhạy cảm của khách hàng trong CSDL không?

Trong thiết kế hiện tại, module tpl_tra_gop_display.php xử lý dữ liệu theo thời gian thực và chuyển tiếp trực tiếp nội dung qua giao thức email bảo mật bằng thư viện PHPMailer đến hộp thư quản trị, không lưu giữ trực tiếp số CMND/thu nhập trên bảng CSDL công khai nhằm giảm thiểu nguy cơ rò rỉ dữ liệu cá nhân.

4. Tại sao cần đổi tên thư mục admin thành tên khác (ví dụ: quantri)?

Đây là quy tắc bảo mật chuẩn của Zen Cart nhằm ngăn chặn các cuộc tấn công dò quét tự động (automated dictionary attacks) nhắm vào đường dẫn mặc định /admin. Sau khi đổi tên thư mục, người quản trị cần cập nhật lại hằng số đường dẫn DIR_WS_ADMIN trong tệp cấu hình quantri/includes/configure.php.

5. Chi phí duy trì hệ thống website Zen Cart hàng năm ước tính khoảng bao nhiêu?

Đối với một doanh nghiệp vừa và nhỏ, chi phí duy trì chỉ bao gồm:

  • Tên miền quốc tế/quốc gia (.com/.vn): khoảng 250.000 – 750.000 VNĐ/năm.
  • Web Hosting tiêu chuẩn (dung lượng 2GB - 5GB): khoảng 600.000 – 1.500.000 VNĐ/năm.
  • Chi phí phần mềm: 0 VNĐ (do Zen Cart và các module phát triển đều sử dụng giấy phép mã nguồn mở GPL).

Kết luận

Đồ án tốt nghiệp "Tìm hiểu phần mềm nguồn mở Zen Cart và ứng dụng xây dựng website bán hàng" đã hoàn thành xuất sắc các mục tiêu đề ra, minh chứng cho tính ứng dụng cao của mã nguồn mở trong quá trình chuyển đổi số cho doanh nghiệp truyền thống. Bằng việc phân tích sâu cấu trúc hệ thống, bản địa hóa toàn diện và tự phát triển các module mở rộng có giá trị thực tiễn cao như Module Trả góp và Hỗ trợ trực tuyến LiveChat, dự án không chỉ mang lại một giải pháp kinh doanh số hoàn chỉnh cho Công ty TNHH Hồng Anh tại Quảng Ninh mà còn đóng góp một tài liệu kỹ thuật có giá trị tham khảo cho cộng đồng phát triển ứng dụng web mã nguồn mở tại Việt Nam.