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 tốc độ tăng trưởng vượt bậc với mức tăng bình quân hơn 20 - 25% mỗi năm theo các báo cáo thị trường bán lẻ kỹ thuật số. Tuy nhiên, phần lớn các cửa hàng kinh doanh thiết bị di động vừa và nhỏ (SME) vẫn vận hành dựa trên các phương thức truyền thống hoặc bán hàng thủ công qua mạng xã hội. Mô hình bán hàng này bộc lộ nhiều điểm nghẽn nghiêm trọng: thiếu hệ thống quản lý dữ liệu tập trung, quy trình xử lý đơn hàng phân mảnh, kiểm soát tồn kho không chính xác và thiếu kênh tiếp cận khách hàng trực tuyến chuẩn mực.

Đề tài "Xây dựng website bán điện thoại cho cửa hàng Kim Long" do sinh viên Nguyễn Mạnh Hào thực hiện dưới sự hướng dẫn của ThS. Nguyễn Hữu Vĩnh tại Viện Kỹ thuật và Công nghệ – Trường Đại học Thủ Dầu Một (11/2021) được nghiên cứu nhằm giải quyết triệt để bài toán chuyển đổi số cho mô hình kinh doanh bán lẻ thiết bị di động.

                  +------------------------------------------+
                  |         KIẾN TRÚC TỔNG THỂ HỆ THỐNG      |
                  +------------------------------------------+
                                       |
        +------------------------------+------------------------------+
        |                                                             |
        v                                                             v
+-------------------------------+                             +-------------------------------+
|     CLIENT / FRONTEND         |                             |      ADMIN MANAGEMENT         |
|  - Xem sản phẩm & thông số    |                             |  - Quản lý sản phẩm & danh mục|
|  - Giỏ hàng & Áp mã giảm giá  |                             |  - Quản lý thương hiệu & kho  |
|  - Tính phí ship (Tỉnh/Huyện) |                             |  - Xử lý đơn hàng & In hóa đơn|
|  - Đăng ký / Đăng nhập auth   |                             |  - Quản lý Slider Banner & Mã |
+-------------------------------+                             +-------------------------------+
        |                                                             |
        +------------------------------+------------------------------+
                                       |
                                       v
                  +------------------------------------------+
                  |        LARAVEL 8.x BACKEND (MVC)         |
                  |  - Routing, Middleware, CSRF Token       |
                  |  - Controllers, Eloquent ORM             |
                  |  - PDO Parameter Binding (Anti-SQLi)     |
                  +------------------------------------------+
                                       |
                                       v
                  +------------------------------------------+
                  |         MYSQL RELATIONAL DATABASE        |
                  |  15 Tables (3NF): Products, Orders,      |
                  |  Feeship, Coupons, Admin, Customers...   |
                  +------------------------------------------+

Mục tiêu dự án cụ thể

  1. Thiết kế và triển khai nền tảng Web B2C chuyên biệt cho thiết bị di động: Cung cấp giao diện trực quan, cho phép khách hàng tra cứu thông số kỹ thuật, so sánh thương hiệu và đặt hàng trực tuyến 24/7.
  2. Chuẩn hóa quy trình nghiệp vụ bán hàng: Tự động hóa các khâu từ giỏ hàng, áp dụng mã khuyến mãi (tbl_coupon), tính toán phí giao hàng theo đơn vị hành chính (tbl_feeship) đến xuất hóa đơn bán hàng.
  3. Xây dựng phân hệ quản trị (Admin Dashboard) bảo mật cao: Hỗ trợ quản lý danh mục (tbl_category_product), quản lý thương hiệu (tbl_brand), theo dõi trạng thái đơn hàng (tbl_order) và kiểm soát tồn kho (tbl_product).
  4. Đảm bảo tính toàn vẹn dữ liệu và an toàn thông tin: Ứng dụng mô hình kiến trúc MVC (Model-View-Controller) trên nền tảng framework Laravel 8.x kết hợp hệ quản trị cơ sở dữ liệu MySQL, chống các lỗ hổng bảo mật phổ biến như SQL Injection và Cross-Site Request Forgery (CSRF).

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

  • Phạm vi: Triển khai phục vụ hoạt động vận hành, bán hàng và quản trị cho cửa hàng điện thoại Kim Long; phục vụ khách hàng mua sắm trực tuyến trên toàn quốc với cơ chế tính phí vận chuyển theo 3 cấp hành chính (Tỉnh/Thành phố, Quận/Huyện, Xã/Phường).
  • Giới hạn: Tập trung vào phương thức thanh toán trực tiếp (COD) và chuyển khoản ngân hàng; phân hệ cổng thanh toán thẻ quốc tế trực tuyến và hóa đơn điện tử tích hợp dịch vụ bên thứ ba được hoạch định trong giai đoạn phát triển tiếp theo.

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

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

Khảo sát các giải pháp thương mại điện tử hiện nay cho thấy các nền tảng có sẵn như WordPress kết hợp WooCommerce hay các mã nguồn đóng thường gặp vấn đề về hiệu năng khi mở rộng, khó tùy biến sâu logic nghiệp vụ đặc thù (như bảng phí vận chuyển phân cấp chi tiết theo địa giới hành chính Việt Nam).

Tiêu chí đánh giá Website rao vặt / Mạng xã hội CMS nguồn mở đóng gói (WooCommerce) Giải pháp tùy biến trên Laravel 8.x
Tính ràng buộc giao dịch Thấp, dễ phát sinh rủi ro Trung bình Rất cao, kiểm soát trạng thái đơn hàng chặt chẽ
Khả năng mở rộng logic Hầu như không có Hạn chế bởi Plugin bên thứ ba Linh hoạt tuyệt đối qua Service & Controller
Tối ưu hóa Database Không đồng nhất Dữ liệu bị dàn trải (Post Meta EAV) Chuẩn hóa quan hệ 3NF (15 bảng dữ liệu quan hệ)
Bảo mật mã nguồn Không có cơ chế riêng Thường xuyên bị tấn công qua Plugin Cơ chế CSRF, PDO Binding, Bcrypt tích hợp lõi
Tốc độ phản hồi (TTFB) Phụ thuộc nền tảng 800ms - 1.5s (do tải nhiều thư viện thừa) 180ms - 320ms

Ma trận phân loại yêu cầu người dùng (MoSCoW)

  • Must have (Bắt buộc phải có): Đăng nhập/Đăng ký xác thực thành viên, danh mục đa cấp, quản lý sản phẩm, giỏ hàng session/database, tính phí vận chuyển động (tbl_feeship), xử lý đơn hàng (tbl_order, tbl_order_details), phân quyền Admin.
  • Should have (Nên có): Quản lý mã giảm giá chiết khấu (tbl_coupon), quản lý slider quảng cáo banner (tbl_slider), xác thực Captcha tại trang quản trị Admin, hiển thị sản phẩm liên quan.
  • Could have (Có thể có): Đăng nhập thông qua tài khoản mạng xã hội (tbl_social), xuất hóa đơn định dạng in ấn trực tiếp.
  • Won't have (Tạm thời chưa làm): Cổng thanh toán trực tiếp qua cổng API Visa/Mastercard tự động trừ số dư thời gian thực.

Thiết kế hệ thống

Kiến trúc hệ thống

Hệ thống được thiết kế hoàn toàn theo mô hình MVC (Model - View - Controller), tách biệt rõ ràng giữa logic xử lý nghiệp vụ, giao diện người dùng và tầng truy xuất cơ sở dữ liệu:

[Trình duyệt Client] <---> [Web Server Apache]
                                   |
                         [Laravel Route & Middleware] (CSRF / Auth Check)
                                   |
                        [Controller Layer] <---> [Blade View Engine] (Giao diện)
                                   |
                        [Eloquent ORM / Model]
                                   |
                        [MySQL Relational DB] (15 Tables)

Technology Stack và phiên bản chi tiết

  • Ngôn ngữ lập trình Backend: PHP (Hỗ trợ tốt trên phiên bản 7.4 và 8.x với cú pháp rút gọn, Namespaces, Closure, Anonymous Functions).
  • Framework Backend: Laravel 8.x (Tận dụng Eloquent ORM, Blade Template Engine, Artisan CLI, SwiftMailer API, Migration Tool).
  • Hệ quản trị cơ sở dữ liệu: MySQL 5.7 / 8.0, quản lý thông qua giao diện PhpMyAdmin.
  • Web Server & Môi trường thực thi: Apache 2.4 trên nền tảng XAMPP / LAMP Stack (Linux, Apache, MySQL, PHP).
  • Quản lý gói phụ thuộc: Composer 2.x.
  • Frontend: HTML5, CSS3, JavaScript, jQuery, Ajax (xử lý thêm giỏ hàng và lọc danh mục không reload trang), Bootstrap UI.

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

Hệ thống được chuẩn hóa với 15 bảng quan hệ chính nhằm triệt tiêu hiện tượng dư thừa dữ liệu và đảm bảo tính toàn vẹn tham chiếu:

-- Cấu trúc bảng tbl_product (Quản lý thiết bị di động)
CREATE TABLE `tbl_product` (
  `product_id` INT(11) NOT NULL AUTO_INCREMENT,
  `product_name` VARCHAR(255) NOT NULL,
  `product_quantity` VARCHAR(255) NOT NULL,
  `product_sold` INT(11) DEFAULT 0,
  `product_slug` VARCHAR(255) NOT NULL,
  `category_id` INT(11) NOT NULL,
  `brand_id` INT(11) NOT NULL,
  `product_desc` TEXT NOT NULL,
  `product_content` TEXT NOT NULL,
  `product_price` VARCHAR(255) NOT NULL,
  `product_img` VARCHAR(255) NOT NULL,
  `product_status` INT(11) NOT NULL,
  PRIMARY KEY (`product_id`),
  KEY `tbl_product_category_id_foreign` (`category_id`),
  KEY `tbl_product_brand_id_foreign` (`brand_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Cấu trúc bảng tbl_feeship (Phí vận chuyển theo đơn vị hành chính 3 cấp)
CREATE TABLE `tbl_feeship` (
  `fee_id` INT(11) NOT NULL AUTO_INCREMENT,
  `fee_matp` VARCHAR(5) NOT NULL,
  `fee_maqh` VARCHAR(5) NOT NULL,
  `fee_xaid` VARCHAR(5) NOT NULL,
  `fee_feeship` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`fee_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Cấu trúc bảng tbl_coupon (Quản lý mã giảm giá)
CREATE TABLE `tbl_coupon` (
  `coupon_id` INT(11) NOT NULL AUTO_INCREMENT,
  `coupon_name` VARCHAR(150) NOT NULL,
  `coupon_code` VARCHAR(50) NOT NULL UNIQUE,
  `coupon_time` INT(11) NOT NULL,
  `coupon_condition` INT(11) NOT NULL, -- 1: Giảm theo %, 2: Giảm theo số tiền
  `coupon_number` INT(11) NOT NULL,
  PRIMARY KEY (`coupon_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

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

Dự án áp dụng mô hình phát triển phần mềm lặp từng bước (Iterative Waterfall kết hợp Agile Sprints) trong thời gian thực hiện:

  • Giai đoạn 1 (Tuần 1 - 3): Khảo sát nghiệp vụ thực tế tại cửa hàng Kim Long, phân tích các website thương mại điện tử lớn (như thegioididong.vn), lập tài liệu đặc tả yêu cầu người dùng và mô hình Use Case.
  • Giai đoạn 2 (Tuần 4 - 6): Thiết kế biểu đồ lớp (Class Diagram), biểu đồ tuần tự (Sequence Diagram) cho các luồng xác thực, tìm kiếm, đặt hàng, quản lý đơn hàng; thiết kế lược đồ quan hệ CSDL (ERD).
  • Giai đoạn 3 (Tuần 7 - 12): Lập trình module ứng dụng trên Laravel 8: cấu hình Migration, triển khai CRUD phân hệ Admin, xây dựng logic Giỏ hàng/Coupon/Feeship và giao diện người dùng Client.
  • Giai đoạn 4 (Tuần 13 - 15): Kiểm thử liên kết hệ thống, tối ưu truy vấn SQL, rà soát lỗ hổng bảo mật và hoàn thiện báo cáo tốt nghiệp.

Implementation và kết quả

Development process

Quá trình xây dựng hệ thống tuân thủ chặt chẽ nguyên tắc tách biệt mối quan tâm (Separation of Concerns). Logic tính toán giỏ hàng, xác thực mã giảm giá và áp phí vận chuyển được tổ chức tường minh trong Controller:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;

class CartController extends Controller
{
    /**
     * Xử lý tính toán giá trị đơn hàng, mã giảm giá và phí vận chuyển
     */
    public function calculate_order_total(Request $request)
    {
        $cart = Session::get('cart');
        $subtotal = 0;
        
        if ($cart) {
            foreach ($cart as $item) {
                $subtotal += (float)$item['product_price'] * (int)$item['product_qty'];
            }
        }

        // Xử lý mã khuyến mãi từ Session
        $coupon = Session::get('coupon');
        $discount = 0;
        if ($coupon) {
            foreach ($coupon as $cou) {
                if ($cou['coupon_condition'] == 1) { // Giảm theo %
                    $discount = ($subtotal * $cou['coupon_number']) / 100;
                } elseif ($cou['coupon_condition'] == 2) { // Giảm theo tiền mặt
                    $discount = $cou['coupon_number'];
                }
            }
        }

        // Lấy phí vận chuyển đã tính dựa trên Tỉnh/Huyện/Xã
        $feeship = Session::get('fee') ? (float)Session::get('fee') : 0;
        $total = max(0, $subtotal - $discount) + $feeship;

        return response()->json([
            'subtotal' => number_format($subtotal, 0, ',', '.'),
            'discount' => number_format($discount, 0, ',', '.'),
            'feeship'  => number_format($feeship, 0, ',', '.'),
            'total'    => number_format($total, 0, ',', '.') . ' VNĐ'
        ]);
    }
}

Tại tầng lưu trữ, Laravel sử dụng cơ chế PDO Parameter Binding giúp vô hiệu hóa hoàn toàn các nguy cơ tấn công SQL Injection. Mỗi form dữ liệu gửi lên đều được bảo vệ bởi một @csrf hidden token:

<!-- Form đăng nhập Admin bảo vệ bởi CSRF và xác thực Captcha -->
<form action="{{ URL::to('/admin-dashboard') }}" method="POST">
    {{ csrf_field() }}
    <div class="form-group">
        <input type="text" name="admin_email" class="form-control" placeholder="Email..." required>
    </div>
    <div class="form-group">
        <input type="password" name="admin_password" class="form-control" placeholder="Mật khẩu..." required>
    </div>
    <!-- Mã xác thực Captcha chống brute-force bot -->
    <div class="g-recaptcha" data-sitekey="{{ env('CAPTCHA_KEY') }}"></div>
    <button type="submit" class="btn btn-primary btn-block">Đăng nhập</button>
</form>

Testing và validation

Hệ thống đã trải qua các kịch bản kiểm thử hộp đen (Black-box Testing) và kiểm thử hiệu năng (Performance Benchmarking) trên môi trường thử nghiệm với các kết quả cụ thể:

Kịch bản kiểm thử Mô tả kiểm thử Dữ liệu đầu vào / Điều kiện Kết quả mong đợi Tỷ lệ đạt
AUTH-01 Xác thực đăng nhập Email hợp lệ, mật khẩu đã mã hóa Bcrypt Đăng nhập thành công, cấp quyền Session 100% (50/50 tests)
CART-02 Cập nhật số lượng giỏ hàng Nhập số lượng giảm < 1 Khóa giảm, giữ số lượng tối thiểu là 1 100%
COUPON-03 Áp dụng mã giảm giá SALE2021 còn lượt sử dụng (coupon_time > 0) Chiết khấu chính xác theo % hoặc tiền cố định 100%
SHIP-04 Tính phí vận chuyển đa tầng Khớp bộ mã matp -> maqh -> xaid Trả về đúng mức phí từ bảng tbl_feeship 100%
SEC-05 Kiểm thử SQL Injection Chuỗi injection ' OR '1'='1 vào ô tìm kiếm Hệ thống xử lý an toàn qua PDO, không lộ lỗi DB 100%

Đo lường hiệu năng hệ thống

  • Thời gian phản hồi trang trung bình (Page Load Time): 0.35 giây trên môi trường Localhost Apache Server.
  • Khả năng chịu tải kiểm thử đồng thời (Concurrent Users): 100 phiên kết nối đồng thời với thời gian phản hồi trung bình duy trì dưới 450ms, tỷ lệ lỗi 0%.
  • Độ chính xác tính toán tài chính: Sai số giá trị đơn hàng, phí vận chuyển và mã giảm giá đạt mức 0.00%.

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

  1. Hoàn thiện 100% các chức năng cốt lõi đã đề ra:
    • Phân hệ Khách hàng: Trang chủ banner trượt, danh mục sản phẩm, chi tiết cấu hình điện thoại, sản phẩm liên quan, bộ lọc thông minh, giỏ hàng tương tác, đặt hàng và theo dõi đơn hàng.
    • Phân hệ Quản trị (Admin): Quản lý kho hàng (tbl_product), danh mục (tbl_category_product), thương hiệu (tbl_brand), quản lý slider, đơn hàng, in ấn đơn hàng và cấu hình mức phí ship chi tiết theo từng địa phương.
  2. Trực quan hóa dữ liệu quản trị: Giúp chủ cửa hàng Kim Long loại bỏ hoàn toàn việc ghi chép sổ sách thủ công, rút ngắn thời gian xử lý một đơn hàng từ 15 phút xuống dưới 1 phút.

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

Đổi mới kỹ thuật nổi bật

  1. Module tính phí giao hàng 3 cấp hành chính tự động (tbl_feeship Engine): Thay vì áp dụng đồng giá (flat-rate) thiếu chính xác, hệ thống xây dựng cơ chế ánh xạ liên kết giữa bảng tbl_tinhthanhpho, tbl_quanhuyen, tbl_xaphuongthitran để xác định chính xác phí vận chuyển thực tế đến từng xã/phường, giúp cửa hàng tránh thất thoát chi phí giao vận.
  2. Cơ chế quản lý khuyến mãi kép linh hoạt: Hệ thống cho phép cấu hình mã giảm giá theo cả tỷ lệ phần trăm lẫn trừ tiền trực tiếp trên tổng giá trị đơn hàng, có ràng buộc số lượt sử dụng tối đa (coupon_time).
  3. Bảo mật hai lớp cho phân hệ quản trị: Kết hợp mật khẩu băm tiêu chuẩn, bảo vệ CSRF Middleware và tích hợp Captcha ngăn chặn các cuộc tấn công Brute-force vét cạn tài khoản Admin.
+--------------------------------------------------------------------------------+
|          SO SÁNH CÁC GIẢI PHÁP TRIỂN KHAI THƯƠNG MẠI ĐIỆN TỬ CHO SME           |
+--------------------------------------------------------------------------------+
| Tiêu chí                     | WordPress + WooCommerce | Tự phát triển Laravel |
+------------------------------+-------------------------+-----------------------+
| Tiêu hao tài nguyên RAM      | Cao (~120MB/request)    | Thấp (~30-45MB/request)|
| Độ tùy biến phí ship 3 cấp   | Cần mua thêm Plugin     | Tích hợp sẵn Native   |
| Rủi ro bảo mật qua bên thứ ba| Cao (Plugin lỗ hổng)    | Cực kỳ thấp           |
| Khả năng mở rộng API di động | Phức tạp qua REST wrap  | Sẵn sàng qua RESTful  |
+--------------------------------------------------------------------------------+

Đóng góp thực tiễn và hiệu quả cải tiến

  • Tối ưu hóa thời gian xử lý đơn hàng: Rút ngắn 68% thời gian kiểm tra và xác nhận đơn hàng so với hình thức chốt đơn thủ công qua tin nhắn/điện thoại.
  • Triệt tiêu sai sót tồn kho: Giảm 95% tình trạng lệch số lượng máy thực tế tại quầy và dữ liệu hiển thị cho người mua nhờ cơ chế trừ tồn kho tự động khi tạo đơn (product_soldproduct_quantity).

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

Tình huống sử dụng thực tế (Use Case Scenarios)

  • Kịch bản 1 - Khách hàng mua điện thoại trực tuyến: Khách hàng truy cập website, lọc danh mục theo thương hiệu (Apple, Samsung, Xiaomi,...), xem thông số kỹ thuật chi tiết, chọn màu sắc và thêm vào giỏ hàng. Tại trang thanh toán, khách chọn Tỉnh/Thành -> Quận/Huyện -> Xã/Phường để hệ thống tự áp phí vận chuyển tương ứng, nhập mã giảm giá và gửi đơn hàng.
  • Kịch bản 2 - Chủ cửa hàng xử lý đơn hàng và in hóa đơn: Quản trị viên đăng nhập hệ thống Admin có Captcha bảo vệ, nhận thông báo đơn hàng mới, kiểm tra chi tiết các sản phẩm đặt mua, xác nhận duyệt đơn và nhấn lệnh in hóa đơn xuất kho trực tiếp từ trình duyệt gửi kèm kiện hàng.
                    QUY TRÌNH XỬ LÝ ĐƠN HÀNG VÀ GIAO VẬN
                    
[Khách hàng] -> Chọn máy & Nhập địa chỉ (Tỉnh/Huyện/Xã) -> Áp mã Giảm giá
                                   |
                                   v
[Hệ thống]   -> Tính Tổng tiền = (Giá máy - Giảm giá) + Phí ship -> Tạo Order
                                   |
                                   v
[Admin Web]  -> Xem chi tiết đơn hàng -> Duyệt trạng thái -> In Hóa đơn
                                   |
                                   v
[Kho hàng]   -> Đóng gói kiện hàng + Hóa đơn in -> Bàn giao Đơn vị Vận chuyển

Yêu cầu cấu hình triển khai hệ thống

  • Cấu hình máy chủ (Server Minimum Requirements):
    • CPU: 2 Cores (tối thiểu).
    • RAM: 2 GB (khuyến nghị 4 GB trở lên cho lượng truy cập mở rộng).
    • Ổ cứng lưu trữ: SSD tối thiểu 20 GB.
    • Môi trường: Hệ điều hành Ubuntu Server 20.04 LTS / CentOS 8 hoặc Windows Server; PHP >= 7.4; MySQL Server >= 5.7; Apache / Nginx.
  • Cấu hình máy trạm (Client Requirements):
    • Máy tính cá nhân hoặc thiết bị di động có kết nối Internet.
    • Trình duyệt web hiện đại hỗ trợ chuẩn HTML5/CSS3 (Google Chrome, Mozilla Firefox, Safari, Microsoft Edge).

Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit Analysis)

  • Chi phí đầu tư ban đầu: Gần như tối thiểu do hệ thống sử dụng 100% công nghệ mã nguồn mở miễn phí (PHP, Laravel, MySQL, Apache). Chi phí định kỳ chỉ bao gồm tên miền (Domain) và dịch vụ lưu trữ Web Hosting/Cloud VPS.
  • Thời gian hoàn vốn (ROI): Ước tính từ 3 - 5 tháng vận hành nhờ việc tiết kiệm chi phí thuê nhân sự trực kênh bán lẻ và gia tăng lượng khách hàng tiếp cận trực tuyến từ Internet ngoài khu vực địa phương của cửa hàng.

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

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

  1. Cổng thanh toán trực tuyến: Chưa tích hợp trực tiếp API cổng thanh toán trung gian như VNPay, MoMo, ZaloPay để tự động hóa khâu thanh toán điện tử thời gian thực.
  2. Cơ chế thông báo (Notification Engine): Chưa có hệ thống gửi tin nhắn SMS tự động (SMS Brandname) hoặc thông báo Zalo ZNS tới khách hàng khi trạng thái đơn hàng thay đổi.
  3. Môi trường triển khai: Dự án tại thời điểm báo cáo được thực nghiệm chủ yếu trên môi trường máy chủ cục bộ (Localhost / XAMPP Server) trước khi hoàn thiện đóng gói đưa lên Cloud Hosting.

Hướng phát triển trong tương lai

  • Tích hợp cổng thanh toán trực tuyến: Đấu nối API chuẩn của cổng thanh toán nội địa (VNPAY-QR, OnePay) và ví điện tử phổ biến.
  • Xây dựng hệ thống Web Service / RESTful API hoàn chỉnh: Đóng vai trò Backend API phục vụ việc phát triển ứng dụng di động (Mobile App trên nền Flutter hoặc React Native) cho cửa hàng trong tương lai.
  • Ứng dụng Trí tuệ Nhân tạo (AI Recommendation): Triển khai thuật toán gợi ý phụ kiện và điện thoại liên quan dựa trên lịch sử xem và hành vi mua sắm của từng khách hàng.

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

+------------------------------------------------------------------------------------+
|                         CÁC NHÓM ĐỐI TƯỢNG HƯỞNG LỢI                               |
+------------------------------------------------------------------------------------+
| [1] SINH VIÊN & NGHIÊN CỨU SINH                                                    |
|     - Tài liệu tham khảo chuẩn mực về đồ án tốt nghiệp E-Commerce MVC.            |
|     - Mô hình phân tích Use Case, Sequence Diagram và chuẩn hóa CSDL 15 bảng.     |
|                                                                                    |
| [2] LẬP TRÌNH VIÊN WEB (PHP / LARAVEL DEVELOPERS)                                  |
|     - Source code mẫu về logic Giỏ hàng, thuật toán chiết khấu Coupon.             |
|     - Mẫu cấu trúc Migration, Eloquent ORM và kiểm soát bảo mật CSRF/PDO.          |
|                                                                                    |
| [3] CHỦ CỬA HÀNG BÁN LẺ & DOANH NGHIỆP VỪA VÀ NHỎ (SME)                           |
|     - Nền tảng bán hàng số hóa với chi phí bản quyền 0 đồng.                       |
|     - Giảm thiểu sai sót quản lý kho, tự động hóa tính phí giao vận địa phương.   |
+------------------------------------------------------------------------------------+
  • Sinh viên ngành CNTT / Kỹ thuật phần mềm: Là tài liệu tham khảo bài bản về việc vận dụng kiến thức lý thuyết cơ sở dữ liệu quan hệ, mô hình hóa phần mềm và hiện thực hóa một ứng dụng thương mại hoàn chỉnh bằng Laravel Framework.
  • Lập trình viên phát triển Web: Cung cấp mẫu thiết kế kiến trúc chuẩn mực về quy trình xử lý giỏ hàng, xác thực an toàn nhiều lớp, phân chia dữ liệu hành chính chuẩn Việt Nam.
  • Cửa hàng bán lẻ thiết bị di động: Sở hữu giải pháp công nghệ trực tiếp giúp nâng cao năng lực cạnh tranh, số hóa dữ liệu kinh doanh và mở rộng kênh phân phối mà không phụ thuộc vào phí hoa hồng đắt đỏ từ các sàn thương mại điện tử lớn.

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai website lên môi trường Internet thực tế là gì?

Để triển khai hệ thống, bạn cần một dịch vụ lưu trữ Web Hosting hoặc Cloud VPS chạy hệ điều hành Linux (khuyến nghị Ubuntu 20.04+), cài đặt Web Server (Apache 2.4 hoặc Nginx), PHP phiên bản 7.4 hoặc 8.x với đầy đủ các Extension (OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype, JSON) và hệ quản trị cơ sở dữ liệu MySQL 5.7+.

2. Hệ thống xử lý bảo mật chống lại các kiểu tấn công phổ biến như thế nào?

Hệ thống tận dụng các lớp phòng thủ nội tại của framework Laravel:

  • SQL Injection: Mọi thao tác truy xuất dữ liệu thông qua Eloquent ORM và Query Builder đều sử dụng cơ chế PDO Parameter Binding, tự động cô lập các tham số đầu vào khỏi câu lệnh SQL.
  • CSRF (Cross-Site Request Forgery): Mọi request dạng POST, PUT, DELETE đều được kiểm tra mã xác thực _token do middleware VerifyCsrfToken sinh ra.
  • Brute-Force Login: Trang đăng nhập của phân hệ quản trị được trang bị thêm lớp xác thực Captcha nhằm ngăn chặn các chương trình tự động dò quét mật khẩu.

3. Phí vận chuyển trong hệ thống được cấu hình và tính toán tự động ra sao?

Cơ sở dữ liệu của hệ thống lưu trữ danh mục phân cấp địa giới hành chính gồm 3 cấp: Tỉnh/Thành phố (tbl_tinhthanhpho), Quận/Huyện (tbl_quanhuyen) và Xã/Phường (tbl_xaphuongthitran). Trong trang quản trị, Admin có thể gán mức phí tương ứng cho từng vùng địa lý vào bảng tbl_feeship. Khi khách hàng đặt hàng và chọn địa chỉ nhận hàng, hệ thống gửi request Ajax để lấy đúng mức phí đã cấu hình và cộng tự động vào hóa đơn.

4. Hệ thống có thể mở rộng để bán các mặt hàng khác ngoài điện thoại không?

Có. Kiến trúc cơ sở dữ liệu được thiết kế theo hướng tổng quát: bảng sản phẩm liên kết động với bảng danh mục (tbl_category_product) và bảng thương hiệu (tbl_brand). Do đó, hệ thống hoàn toàn có thể mở rộng sang các ngành hàng khác như laptop, đồ gia dụng, thời trang mà không cần thay đổi cấu trúc bảng cơ sở dữ liệu.

5. Chi phí duy trì và ước tính thời gian hoàn vốn cho cửa hàng như thế nào?

Chi phí duy trì hệ thống gồm chi phí tên miền (khoảng 300.000 - 500.000 VNĐ/năm) và chi phí Cloud VPS/Hosting (khoảng 1.000.000 - 2.500.000 VNĐ/năm). Nhờ cắt giảm được chi phí ghi chép thủ công, giảm thiểu thất thoát hàng hóa và tăng từ 20 - 30% doanh thu qua kênh bán hàng trực tuyến, thời gian hoàn vốn đầu tư phần mềm ước tính đạt được chỉ sau khoảng 3 đến 5 tháng hoạt động.


Kết luận

Đề tài tốt nghiệp "Xây dựng website bán điện thoại cho cửa hàng Kim Long" của tác giả Nguyễn Mạnh Hào đã hoàn thành xuất sắc các mục tiêu nghiên cứu và ứng dụng kỹ thuật đặt ra. Dự án không chỉ dừng lại ở mức độ nghiên cứu lý thuyết về mô hình MVC và framework Laravel 8.x, mà đã chuyển hóa thành công các yêu cầu nghiệp vụ thực tế thành một hệ thống phần mềm thương mại điện tử hoàn chỉnh, vận hành ổn định và bảo mật cao.

Bằng việc kết hợp hệ quản trị cơ sở dữ liệu quan hệ MySQL 15 bảng chuẩn hóa, cơ chế bảo mật chống tấn công SQLi/CSRF và module tính toán chi phí vận chuyển - khuyến mãi linh hoạt, sản phẩm là một minh chứng rõ ràng cho tính khả thi và hiệu quả của việc ứng dụng công nghệ thông tin vào chuyển đổi số doanh nghiệp bán lẻ vừa và nhỏ tại Việt Nam. Đây đồng thời là tài liệu tham khảo kỹ thuật giá trị cho sinh viên và lập trình viên trong quá trình nghiên cứu, xây dựng các ứng dụng web hướng nghiệp vụ trên nền tảng PHP hiện đại.