Giới thiệu dự án
Thương mại điện tử (E-commerce) tại Việt Nam đang duy trì tốc độ tăng trưởng ấn tượng từ 16% - 20%/năm, đạt quy mô hơn 20,5 tỷ USD theo báo cáo của Hiệp hội Thương mại điện tử Việt Nam (VECOM). Trong bối cảnh ngành bán lẻ thiết bị điện máy, công nghệ thông tin và điện tử gia dụng chuyển dịch mạnh mẽ từ mô hình truyền thống (offline storefronts) sang mô hình đa kênh (omnichannel), nhu cầu sở hữu một hệ thống thương mại điện tử chuyên dụng, tối ưu hóa trải nghiệm mua sắm và quản trị chuỗi cung ứng là điều kiện tiên quyết.
Tuy nhiên, các doanh nghiệp bán lẻ quy mô vừa và nhỏ (SMEs) thường gặp phải các rào cản lớn: chi phí bản quyền và duy trì cơ sở hạ tầng đắt đỏ của các nền tảng quốc tế (như Magento, Shopify Enterprise), độ trễ truy vấn dữ liệu khi danh mục sản phẩm điện máy có cấu trúc thông số kỹ thuật phức tạp, cũng như sự thiếu linh hoạt trong việc tùy biến luồng xử lý đơn hàng nội địa.
Đồ án tốt nghiệp "Xây dựng Website Media Mart" do sinh viên Vũ Thế Việt (Chuyên ngành Công nghệ Phần mềm, Khoa Công nghệ Thông tin – Trường Đại học Điện Lực) thực hiện dưới sự hướng dẫn của ThS. Ngô Ngọc Thành đã giải quyết triệt để bài toán này bằng cách phát triển một nền tảng thương mại điện tử chuyên biệt cho ngành điện máy dựa trên kiến trúc Web động hiệu năng cao.
+-----------------------------------------------------------------------+
| HỆ THỐNG WEBSITE MEDIA MART |
+-----------------------------------+-----------------------------------+
| PHÂN HỆ KHÁCH HÀNG | PHÂN HỆ QUẢN TRỊ (ADMIN) |
| - Danh mục & Tìm kiếm đa tiêu chí | - Quản lý Sản phẩm / Danh mục |
| - Giỏ hàng Session & Đặt hàng | - Quản lý Đơn hàng & Dispatch |
| - Xác thực người dùng (Auth) | - Báo cáo Doanh thu đa kỳ |
| - Tin tức công nghệ & Liên hệ | - Quản trị viên & Phân quyền |
+-----------------------------------+-----------------------------------+
Mục tiêu cụ thể của dự án
- Thiết kế kiến trúc hệ thống chuẩn hóa: Xây dựng mô hình Client-Server hướng module, phân tách rõ ràng giữa tầng giao diện người dùng (Frontend) và tầng nghiệp vụ quản trị (Backend).
- Chuẩn hóa cơ sở dữ liệu quan hệ (RDBMS): Xây dựng lược đồ cơ sở dữ liệu MySQL đạt chuẩn 3NF (Third Normal Form), đảm bảo tính toàn vẹn dữ liệu và tối ưu hóa thời gian truy xuất đối với hàng chục nghìn bản ghi sản phẩm.
- Hiện thực hóa quy trình mua bán khép kín: Cung cấp đầy đủ tính năng từ hiển thị khuyến mại, lọc sản phẩm theo mức giá/danh mục, quản lý giỏ hàng lưu vết bằng Session, đến quy trình thanh toán và theo dõi lộ trình đơn hàng.
- Xây dựng module quản trị kinh doanh thông minh: Tích hợp báo cáo doanh thu theo ngày/tuần/tháng/năm, quản lý trạng thái đơn hàng thời gian thực và quản lý nhân sự quản trị hệ thống.
Phạm vi và giới hạn của đề tài
- Phạm vi: Ứng dụng tập trung vào nghiệp vụ bán lẻ trực tuyến ngành hàng điện máy – kỹ thuật số, bao gồm giao diện tương tác người dùng cuối (B2C) và cổng điều hành Backend cho nhân viên quản trị/cộng tác viên trên phạm vi toàn quốc.
- Giới hạn: Hệ thống hiện tại sử dụng phương thức xử lý phiên giao dịch cục bộ và thanh toán khi nhận hàng (COD) kết hợp chuyển khoản ngân hàng; chưa tích hợp trực tiếp cổng thanh toán quốc tế đa tiền tệ (Stripe/PayPal) hoặc microservices phức tạp.
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ệ sinh thái phần mềm, đồ án tiến hành đánh giá chi tiết các giải pháp nền tảng hiện có trên thị trường:
| Tiêu chí |
Hệ thống Media Mart Tự phát triển |
WooCommerce (WordPress) |
Magento 2 (Adobe Commerce) |
| Kiến trúc mã nguồn |
Thuần PHP/MySQL cấu trúc Module |
Plugin-based trên nền CMS WordPress |
Enterprise MVC / Micro-frameworks |
| Tiêu tốn tài nguyên Server |
Rất thấp (RAM < 64MB/worker) |
Trung bình (RAM 256MB - 512MB) |
Rất cao (Tối thiểu 2GB - 4GB RAM) |
| Tốc độ tải trang (TTFB) |
< 180ms (Tối ưu truy vấn SQL trực tiếp) |
400ms - 900ms (Phụ thuộc plugin) |
600ms - 1500ms (Nếu không có Varnish) |
| Khả năng tùy biến nghiệp vụ |
100% mã nguồn theo quy trình nội địa |
Giới hạn bởi hook/filter của plugin |
Rất cao nhưng chi phí bảo trì đắt đỏ |
| Bảo mật & Rủi ro mã độc |
Kiểm soát toàn bộ luồng I/O dữ liệu |
Dễ tổn thương do xung đột plugin |
Yêu cầu vá lỗi liên tục |
Phân tích yêu cầu chức năng theo phương pháp MoSCoW
- Must-have (Bắt buộc): Module xác thực người dùng; CRUD danh mục và sản phẩm; cơ chế giỏ hàng (Cart State Management); quy trình xử lý đơn hàng đa trạng thái; module thống kê doanh thu; phân quyền Admin/Cộng tác viên.
- Should-have (Nên có): Bộ lọc sản phẩm đa tiêu chí (khoảng giá, thương hiệu, danh mục); hệ thống hiển thị hóa đơn và bản đồ định vị giao hàng (Delivery Map Routing); quản lý bài viết tin tức công nghệ.
- Could-have (Có thể có): Cơ chế chia sẻ mạng xã hội, bình luận và đánh giá sao trực tiếp tại chi tiết sản phẩm.
- Won't-have (Chưa triển khai trong giai đoạn 1): Tích hợp AI gợi ý sản phẩm theo hành vi người dùng (Recommendation Engine).
Thiết kế hệ thống
Kiến trúc hệ thống được xây dựng theo mô hình 3 lớp (3-Tier Architecture) tối ưu hóa giao tiếp dữ liệu giữa Client và Server:
[ Client Layer (Browser) ]
│ (HTTPS Requests: HTML5 / CSS3 / JavaScript / AJAX)
▼
[ Web Server & Processing Layer (Apache 2.4 + PHP 8.2 Engine) ]
├── Module Định tuyến & Điều khiển (Controller Logic)
├── Module Quản lý Phiên (Session/Cart Manager)
└── Module Xác thực & Phân quyền (Authentication & Authorization)
│ (Data Manipulation via PDO / MySQLi Prepared Statements)
▼
[ Database Layer (MySQL 8.0 Storage Engine - InnoDB) ]
├── tbl_sanpham / tbl_danhmuc (Catalog Data)
├── tbl_donhang / tbl_chitietdonhang (Transactional Data)
└── tbl_khachhang / tbl_quantrivien (Identity Data)
Ngăn xếp công nghệ (Technology Stack)
- Ngôn ngữ xử lý máy chủ: PHP version 8.2 (chạy dưới Apache Handler).
- Hệ quản trị cơ sở dữ liệu: MySQL version 8.0 (Storage Engine: InnoDB, Encoding:
utf8mb4_unicode_ci).
- Web Server Môi trường: Apache HTTP Server 2.4.58 tích hợp trong gói XAMPP 8.2.12.
- Frontend UI Engine: HTML5 Semantic Tags, CSS3 Responsive Grid, Bootstrap 5.3, JavaScript ES6 và thư viện jQuery 3.7.1.
Thiết kế lược đồ Cơ sở dữ liệu (Database Schema)
Hệ thống chuẩn hóa 7 bảng cơ bản, thiết lập ràng buộc toàn vẹn khóa ngoại (Foreign Key Constraints) và chỉ mục tìm kiếm (Indexing):
-- Cấu trúc bảng danh mục sản phẩm
CREATE TABLE `tbl_danhmuc` (
`id_danhmuc` int(11) NOT NULL AUTO_INCREMENT,
`tendanhmuc` varchar(255) NOT NULL,
`thutu` int(11) NOT NULL DEFAULT 0,
`trangthai` tinyint(1) NOT NULL DEFAULT 1,
`loaidanhmuc` varchar(50) DEFAULT 'thuong',
PRIMARY KEY (`id_danhmuc`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Cấu trúc bảng sản phẩm với Index danh mục
CREATE TABLE `tbl_sanpham` (
`id_sanpham` int(11) NOT NULL AUTO_INCREMENT,
`tensanpham` varchar(255) NOT NULL,
`masp` varchar(50) NOT NULL UNIQUE,
`giasp` decimal(12,2) NOT NULL,
`soluong` int(11) NOT NULL,
`hinhanh` varchar(255) NOT NULL,
`tomtat` text,
`noidung` longtext,
`tinhtrang` tinyint(1) NOT NULL DEFAULT 1,
`id_danhmuc` int(11) NOT NULL,
PRIMARY KEY (`id_sanpham`),
KEY `fk_sanpham_danhmuc` (`id_danhmuc`),
CONSTRAINT `fk_sanpham_danhmuc` FOREIGN KEY (`id_danhmuc`)
REFERENCES `tbl_danhmuc` (`id_danhmuc`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Bảng đơn hàng giao dịch
CREATE TABLE `tbl_donhang` (
`id_donhang` int(11) NOT NULL AUTO_INCREMENT,
`id_khachhang` int(11) NOT NULL,
`code_cart` varchar(50) NOT NULL UNIQUE,
`cart_status` int(2) NOT NULL DEFAULT 1 COMMENT '1: Mới, 2: Đang xử lý, 3: Đã giao, 0: Hủy',
`cart_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`cart_payment` varchar(50) NOT NULL,
PRIMARY KEY (`id_donhang`),
KEY `idx_code_cart` (`code_cart`)
) 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 truy vấn từ người dùng đều được tham số hóa hoặc lọc dữ liệu đầu vào qua hàm
mysqli_real_escape_string() và Prepared Statements.
- Xác thực Mật khẩu: Áp dụng thuật toán hàm băm một chiều
password_hash() với chuẩn mã hóa Bcrypt cost factor = 10, ngăn ngừa nguy cơ lộ thông tin tài khoản qua các cuộc tấn công Rainbow Table.
- Bảo vệ Phiên (Session Security): Sử dụng các cờ
session.cookie_httponly = 1 và tự động tái tạo Session ID (session_regenerate_id(true)) sau khi người dùng đăng nhập để chống tấn công Session Fixation.
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 trưởng (Iterative & Incremental Development) kết hợp các nguyên lý của Agile Scrum trong thời gian 16 tuần:
Tuần 01 - 04: [Khảo sát nghiệp vụ Media Mart & Thiết kế CSDL 3NF]
Tuần 05 - 08: [Hiện thực hóa Backend Engine, Module Sản phẩm & Quản trị]
Tuần 09 - 12: [Phát triển Frontend Client, Giỏ hàng Session & Đặt hàng]
Tuần 13 - 16: [Kiểm thử Tải (Stress Test), Tối ưu Index SQL & Đóng gói Deploy]
- Đánh giá rủi ro (Risk Mitigation): Rủi ro sai lệch số lượng tồn kho khi nhiều người mua cùng lúc được kiểm soát bằng Database Transactions với cấp độ cô lập giao dịch (Transaction Isolation Level) Serializable trong quá trình ghi dữ liệu
tbl_chitietdonhang.
Implementation và kết quả
Quy trình phát triển và Thuật toán cốt lõi
1. Thuật toán Quản lý Giỏ hàng (Session-based Cart State Machine)
Module giỏ hàng hoạt động hoàn toàn trên bộ nhớ đệm Session của máy chủ nhằm giảm thiểu tối đa các thao tác ghi (Disk I/O) không cần thiết vào cơ sở dữ liệu trước khi khách hàng thực hiện checkout:
<?php
// Trích xuất logic xử lý thêm/cập nhật giỏ hàng an toàn
session_start();
include('config/connect.php');
if (isset($_POST['themgiohang'])) {
$id = intval($_POST['id_sanpham']);
$soluong = max(1, intval($_POST['soluong']));
// Truy vấn thông tin sản phẩm bằng Prepared Statement
$stmt = $conn->prepare("SELECT id_sanpham, tensanpham, giasp, hinhanh, soluong FROM tbl_sanpham WHERE id_sanpham = ? LIMIT 1");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
$product = $result->fetch_assoc();
if ($product && $product['soluong'] >= $soluong) {
$new_product = [
'id' => $product['id_sanpham'],
'tensanpham'=> $product['tensanpham'],
'giasp' => $product['giasp'],
'hinhanh' => $product['hinhanh'],
'soluong' => $soluong
];
if (isset($_SESSION['cart'])) {
$found = false;
foreach ($_SESSION['cart'] as &$item) {
if ($item['id'] === $id) {
$item['soluong'] = min($product['soluong'], $item['soluong'] + $soluong);
$found = true;
break;
}
}
unset($item);
if (!$found) {
$_SESSION['cart'][] = $new_product;
}
} else {
$_SESSION['cart'] = [$new_product];
}
header('Location: ../index.php?quanly=giohang&status=success');
exit();
}
}
?>
2. Xử lý Giao dịch Đơn hàng (Transaction-safe Checkout Engine)
Để tránh hiện tượng Deadlock hoặc mất mát dữ liệu tài chính, quy trình thanh toán được bọc trong khối MySQL Transaction:
<?php
// Xử lý tạo đơn hàng an toàn với Database Transaction
$conn->begin_transaction();
try {
$id_khachhang = $_SESSION['id_khachhang'];
$code_order = "MM_" . time() . "_" . rand(1000, 9999);
$cart_payment = filter_input(INPUT_POST, 'payment_method', FILTER_SANITIZE_SPECIAL_CHARS);
// 1. Chèn bản ghi Master vào tbl_donhang
$stmt1 = $conn->prepare("INSERT INTO tbl_donhang (id_khachhang, code_cart, cart_status, cart_payment) VALUES (?, ?, 1, ?)");
$stmt1->bind_param("iss", $id_khachhang, $code_order, $cart_payment);
$stmt1->execute();
// 2. Chèn từng bản ghi Detail vào tbl_chitietdonhang & trừ tồn kho
$stmt2 = $conn->prepare("INSERT INTO tbl_chitietdonhang (code_cart, id_sanpham, soluongmua) VALUES (?, ?, ?)");
$stmt3 = $conn->prepare("UPDATE tbl_sanpham SET soluong = soluong - ? WHERE id_sanpham = ? AND soluong >= ?");
foreach ($_SESSION['cart'] as $cart_item) {
$stmt2->bind_param("sii", $code_order, $cart_item['id'], $cart_item['soluong']);
$stmt2->execute();
$stmt3->bind_param("iii", $cart_item['soluong'], $cart_item['id'], $cart_item['soluong']);
$stmt3->execute();
if ($stmt3->affected_rows === 0) {
throw new Exception("Sản phẩm ID {$cart_item['id']} không đủ số lượng tồn kho!");
}
}
// Xác nhận giao dịch thành công
$conn->commit();
unset($_SESSION['cart']);
header('Location: ../index.php?quanly=camon&code=' . $code_order);
} catch (Exception $e) {
$conn->rollback();
error_log("Lỗi xử lý đơn hàng: " . $e->getMessage());
header('Location: ../index.php?quanly=giohang&error=checkout_failed');
}
?>
Kiểm thử và Đánh giá hiệu năng
Hệ thống đã trải qua quy trình kiểm thử toàn diện từ chức năng (Functional Testing), kiểm thử biên (Boundary Testing) đến kiểm thử tải (Load Testing) bằng công cụ Apache JMeter v5.6:
+-------------------------------------------------------------------------+
| KẾT QUẢ KIỂM THỬ TẢI TRÊN APACHE JMETER |
+--------------------------+-----------------------+----------------------+
| Tham số Kiểm thử | Kịch bản 50 CCU | Kịch bản 200 CCU |
+--------------------------+-----------------------+----------------------+
| Thời gian phản hồi TB | 124 ms | 342 ms |
| Phân vị 95% (95th Pct) | 210 ms | 580 ms |
| Throughput (Req/sec) | 48.2 req/s | 186.4 req/s |
| Tỷ lệ Lỗi (Error Rate) | 0.00% | 0.12% (Do timeout) |
| Tiêu thụ RAM máy chủ | 18% (Server 4GB RAM) | 42% (Server 4GB RAM) |
+--------------------------+-----------------------+----------------------+
PHÂN PHỐI THỜI GIAN PHẢI HỒI (LATENCY BENCHMARKS)
Giao diện Trang chủ: [==] 110ms
Trang Chi tiết SP: [===] 145ms
Bộ lọc Danh mục: [====] 180ms
Thực hiện Checkout: [======] 290ms
0ms 100ms 200ms 300ms
- User Acceptance Testing (UAT): Thử nghiệm trên nhóm 30 người dùng bao gồm sinh viên và người quản lý bán hàng thực tế. Điểm trung bình đánh giá độ khả dụng (System Usability Scale - SUS) đạt 86.5/100, xếp hạng "Excellent".
- Chỉ số Sửa lỗi: Tổng số 42 lỗi (Defects) phát hiện qua các đợt kiểm thử Unit/Integration đều được phân loại, trong đó 100% lỗi nghiêm trọng (Critical/High) được xử lý dứt điểm trước khi đóng gói nghiệm thu.
Đổi mới và đóng góp
- Kiến trúc quản lý giỏ hàng Non-blocking: Không giống như các framework nặng nề ghi vết session vào Database gây I/O bottleneck, đồ án thiết kế luồng Session Array được nén và đồng bộ dữ liệu transactional khi Checkout giúp tăng tốc độ phản hồi trang giỏ hàng lên 68% so với các hệ thống mã nguồn mở cơ bản.
- Tích hợp Bản đồ điều hướng Đơn hàng trực quan: Backend được tích hợp module Google Maps API trực tiếp tại bảng quản trị đơn hàng (
tbl_donhang), cho phép nhân viên vận hành tính toán bán kính giao hàng từ kho Media Mart đến địa chỉ khách hàng theo thời gian thực mà không cần chuyển đổi ứng dụng ngoài.
- Module Tổng hợp Báo cáo Doanh thu Đa chiều: Hệ thống sử dụng các hàm gom nhóm dữ liệu SQL tối ưu (
SUM(), DATE_FORMAT(), GROUP BY) có chỉ mục hỗ trợ, trích xuất dữ liệu doanh số theo chu kỳ ngày, tuần, tháng, năm tức thì với thời gian xử lý < 50ms cho tập dữ liệu mẫu 50,000 đơn hàng.
Ứng dụng thực tế và triển khai
Kịch bản Triển khai Thực tế (Deployment Architecture)
Website Media Mart được thiết kế để có thể đưa vào vận hành ngay lập tức tại các chuỗi cửa hàng bán lẻ thiết bị số, điện máy với sơ đồ phân bổ hạ tầng:
[ Domain: mediamart-store.vn ]
│
▼
[ Nginx Reverse Proxy / SSL Termination ]
│
▼
[ Apache Web Server (PHP 8.2 Worker Pool) ]
│
┌─────┴────────────────┐
▼ ▼
[ Static Assets / Media ] [ MySQL 8.0 Primary Node ]
(CSS, JS, Product Images) (InnoDB Buffer Pool: 1GB)
Yêu cầu Phần cứng và Môi trường Máy chủ (Server Specifications)
- CPU: Tối thiểu 2 vCPU (Tần số 2.4 GHz trở lên).
- Bộ nhớ trong (RAM): Tối thiểu 4 GB DDR4.
- Ổ đĩa lưu trữ: 40 GB SSD NVMe (Tốc độ đọc/ghi ngẫu nhiên > 50,000 IOPS).
- Hệ điều hành tương thích: Ubuntu Server 22.04 LTS hoặc Red Hat Enterprise Linux 9 / Windows Server.
- Phần mềm nền tảng: Apache 2.4.x, PHP 8.2.x với các extension
mysqli, pdo_mysql, gd, mbstring, curl.
Phân tích Chi phí và Tỷ suất Hoàn vốn (Cost-Benefit & ROI Analysis)
- Chi phí phát triển & Vận hành: Nhờ sử dụng hoàn toàn mã nguồn mở (PHP, MySQL, Apache, Linux), doanh nghiệp tiết kiệm 100% chi phí bản quyền (so với 2,000 - 5,000 USD/năm khi thuê nền tảng đóng).
- Chi phí duy trì hạ tầng: Khoảng 300,000 - 500,000 VNĐ/tháng cho gói Cloud VPS tiêu chuẩn.
- Thời gian hoàn vốn (ROI Timeline): Dự kiến từ 3 đến 5 tháng nhờ việc cắt giảm chi phí trung gian sàn thương mại điện tử (phí sàn 8% - 15%/đơn hàng).
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 lưu trữ hình ảnh sản phẩm trực tiếp trên File System cục bộ của máy chủ, chưa cấu hình đồng bộ hóa qua Cloud Object Storage (như Amazon S3 hay Google Cloud Storage).
- Cơ chế xác thực phân quyền Backend giữa Quản trị viên tối cao (Super Admin) và Cộng tác viên (Editor) được quản lý qua bảng dữ liệu
tbl_quantrivien, chưa áp dụng mô hình phân quyền ma trận phức tạp (Role-Based Access Control - RBAC).
Hướng nâng cấp trong tương lai
- Tích hợp Cổng thanh toán Trực tuyến: Kết nối Webhook và SDK của cổng thanh toán nội địa VNPAY, MoMo, ZaloPay chuẩn PCI-DSS.
- Triển khai Bộ nhớ đệm phân tán: Cấu hình Redis Cache Layer để lưu trữ dữ liệu danh mục và các sản phẩm bán chạy, giảm tải 80% truy vấn trực tiếp vào MySQL.
- Chuyển đổi sang Kiến trúc Microservices & Docker hóa: Tách nhỏ phân hệ xác thực, phân hệ giỏ hàng và phân hệ thanh toán thành các container độc lập quản lý bởi Kubernetes.
Đối tượng hưởng lợi
+--------------------------------------------------------------------------+
| GIÁ TRỊ MANG LẠI CHO CÁC ĐỐI TƯỢNG |
+---------------------+----------------------------------------------------+
| Đối tượng | Giá trị định lượng và Ứng dụng thực tiễn |
+---------------------+----------------------------------------------------+
| Sinh viên CNTT | Nắm vững quy trình phân tích thiết kế CSDL 3NF, |
| | lập trình PHP MVC hướng đối tượng thực chiến. |
+---------------------+----------------------------------------------------+
| Lập trình viên Web | Kế thừa mã nguồn module giỏ hàng, thuật toán |
| | xử lý giao dịch an toàn và tối ưu hóa truy vấn SQL.|
+---------------------+----------------------------------------------------+
| Doanh nghiệp SME | Sở hữu nền tảng E-commerce hoàn chỉnh, tiết kiệm |
| | hàng chục triệu đồng chi phí bản quyền phần mềm. |
+---------------------+----------------------------------------------------+
| Giảng viên/Nghiên | Tài liệu tham khảo chuẩn mực về đồ án tốt nghiệp |
| cứu sinh | ứng dụng kỹ thuật phần mềm vào bài toán kinh tế. |
+---------------------+----------------------------------------------------+
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 Hosting/VPS?
Hệ thống yêu cầu máy chủ cài đặt PHP version 7.4 trở lên (khuyến nghị PHP 8.2), hệ quản trị MySQL version 5.7 hoặc 8.0, Web Server hỗ trợ Apache/Nginx có bật mod_rewrite để hỗ trợ URL thân thiện (SEO Friendly URL) và tối thiểu 1GB RAM khả dụng.
2. Giới hạn chịu tải của hệ thống và giải pháp mở rộng quy mô khi lượng truy cập tăng đột biến?
Với cấu hình đơn máy chủ (Single Server 2 vCPU/4GB RAM), hệ thống phục vụ ổn định 200 người dùng đồng thời (CCU). Khi lưu lượng tăng vượt ngưỡng, hệ thống có thể mở rộng theo chiều ngang (Horizontal Scaling) bằng cách tách riêng máy chủ cơ sở dữ liệu MySQL (Master-Slave Replication) và đặt Nginx làm Load Balancer phân tải cho cụm máy chủ PHP-FPM.
3. Khả năng tích hợp với các hệ thống ERP hoặc phần mềm quản lý kho hiện có của doanh nghiệp?
Cấu trúc cơ sở dữ liệu được thiết kế tường minh với các trường định danh duy nhất (masp, code_cart). Lập trình viên có thể dễ dàng viết thêm các endpoint RESTful API trả về định dạng JSON để đồng bộ tồn kho 2 chiều với các phần mềm quản lý bán hàng phổ biến như KiotViet, Sapo hoặc SAP ERP.
4. Chi phí bảo trì và vận hành hệ thống định kỳ ước tính là bao nhiêu?
Chi phí vận hành định kỳ bao gồm tên miền (.vn khoảng 450,000 VNĐ/năm), Cloud VPS duy trì (khoảng 3,600,000 VNĐ/năm) và chứng chỉ bảo mật SSL (miễn phí qua Let's Encrypt). Tổng chi phí cố định chỉ khoảng 4,000,000 VNĐ/năm.
5. Dữ liệu tài khoản người dùng và mật khẩu được bảo vệ như thế nào trước nguy cơ rò rỉ dữ liệu?
Hệ thống loại bỏ hoàn toàn việc lưu trữ mật khẩu dạng văn bản thuần (Plain text). Toàn bộ mật khẩu trong tbl_khachhang và tbl_quantrivien được băm bằng thuật toán một chiều Bcrypt với chuỗi muối ngẫu nhiên (Random Salt), đảm bảo ngay cả khi cơ sở dữ liệu bị truy cập trái phép, mật khẩu gốc vẫn không thể bị giải mã.
Kết luận
Đồ án "Xây dựng Website Media Mart" của tác giả Vũ Thế Việt là một công trình nghiên cứu ứng dụng hoàn chỉnh, kết hợp nhuần nhuyễn giữa nền tảng lý thuyết phân tích thiết kế hướng đối tượng (OOAD) và kỹ thuật lập trình web hiện đại.
Bằng việc chuẩn hóa cơ sở dữ liệu quan hệ, làm chủ công nghệ mã nguồn mở PHP & MySQL, và hiện thực hóa trọn vẹn quy trình kinh doanh điện máy từ duyệt sản phẩm, xử lý đơn hàng đến điều hành kho bãi, đề tài đã chứng minh tính khả thi cao và mang lại giá trị thực tiễn to lớn cho các doanh nghiệp bán lẻ trong kỷ nguyên số hóa. Đây không chỉ là một sản phẩm học thuật xuất sắc đạt chuẩn tốt nghiệp chuyên ngành Công nghệ Phần mềm tại Đại học Điện Lực, mà còn là một bộ khung giải pháp (framework) vững chắc để tiếp tục mở rộng thành các nền tảng thương mại điện tử đa kênh quy mô lớn trong tương lai.