Giới thiệu dự án
Trong bối cảnh chuyển đổi số và sự bùng nổ của thương mại điện tử tại Việt Nam với tốc độ tăng trưởng bình quân trên 20%/năm, việc các đại lý bán lẻ truyền thống số hóa quy trình kinh doanh đã trở thành yêu cầu sống còn. Thị trường giày dép thời trang nội địa, đặc biệt là thương hiệu quốc dân Biti's Hunter, sở hữu tệp khách hàng trẻ (Gen Z, Millennials) có thói quen mua sắm trực tuyến cao. Tuy nhiên, nhiều đại lý phân phối cấp cơ sở vẫn đang vận hành theo mô hình thủ công.
Khảo sát thực tế tại đại lý giày Biti's Hunter Thanh Thanh (Mê Linh – Hà Nội) cho thấy điểm nghẽn nghiêm trọng trong mô hình kinh doanh:
- 100% hoạt động quảng bá phụ thuộc vào việc đăng bài thủ công trên mạng xã hội Facebook, không có nền tảng phân loại danh mục sản phẩm chuyên nghiệp.
- 90% giao dịch thực hiện bằng tiền mặt tại chỗ, tỷ lệ chuyển đổi đơn hàng từ xa thấp do thiếu cổng đặt hàng tự động.
- Quản lý kho, đơn đặt hàng và doanh thu thực hiện hoàn toàn trên sổ sách hoặc bảng tính rời rạc, dẫn đến sai sót tồn kho lên đến 15% và chậm trễ trong khâu tổng hợp báo cáo.
- Đối chiếu với đại lý Biti's tại Cầu Giấy (Hà Nội) áp dụng đa kênh (Omnichannel qua Website và sàn Thương mại điện tử), doanh thu của các đại lý áp dụng công nghệ cao gấp 3.5 lần.
Đề tài "Thiết kế website online bán giày cho đại lý Biti's Hunter" do sinh viên Phan Thị Hà (Khoa Công nghệ Thông tin, Trường Đại học Mỏ - Địa chất) thực hiện nhằm giải quyết trực tiếp các bài toán vận hành trên.
Mục tiêu dự án
- Nghiên cứu và chuẩn hóa quy trình nghiệp vụ: Khảo sát, phân tích toàn diện luồng nghiệp vụ bán hàng, quản lý đơn hàng, quản lý kho của đại lý bán lẻ Biti's Hunter.
- Mô hình hóa hệ thống bằng UML: Ứng dụng 9 biểu đồ chuẩn UML (Use Case, Sequence, Activity, Class, State, Component, Deployment, Collaboration, Package) để thiết kế kiến trúc phần mềm hướng đối tượng chặt chẽ.
- Xây dựng giải pháp công nghệ web: Hiện thực hóa hệ thống trên nền tảng LAMP/WAMP stack (PHP, MySQL, Apache, HTML5/CSS3/JavaScript) với đầy đủ module phân quyền cho Khách hàng (Client) và Quản trị viên (Admin).
- Tối ưu hóa trải nghiệm người dùng và tự động hóa: Tối giản hóa quy trình thanh toán (Checkout flow), tích hợp module giỏ hàng động và công cụ báo cáo thống kê doanh số trực quan.
+-----------------------------------------------------------------------------------+
| KIẾN TRÚC MỤC TIÊU DỰ ÁN |
+-----------------------------------------------------------------------------------+
| [Khách hàng (Client)] [Quản trị viên (Admin)] |
| - Xem danh mục nam/nữ/sale - Quản lý danh mục & biến thể giày |
| - Bộ lọc tìm kiếm đa tiêu chí - Xử lý trạng thái đơn hàng |
| - Giỏ hàng & Đặt hàng trực tuyến - Báo cáo thống kê tồn kho & doanh thu |
+------------------------------------------+----------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| TẦNG XỬ LÝ TRUNG TÂM (PHP Engine & Apache Web Server) |
| - Định tuyến yêu cầu (Routing) - Xác thực & Phân quyền (Auth/RBAC) |
| - Xử lý nghiệp vụ giỏ hàng/đơn hàng - Template Rendering & Business Logic |
+------------------------------------------+----------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| TẦNG DỮ LIỆU (MySQL Relational Database) |
| `user` | `shoe` | `shoe_image` | `category` | `cart` | `orders` |
+-----------------------------------------------------------------------------------+
Phương pháp tiếp cận và kết quả kỳ vọng
- Phương pháp tiếp cận: Kết hợp mô hình thác nước cải tiến (Iterative Waterfall) với tiếp cận thiết kế hướng đối tượng OOAD (Object-Oriented Analysis and Design).
- Kết quả đo lường được:
- Thời gian phản hồi trang danh mục sản phẩm (Page Load Time) đạt dưới 1.5 giây trong điều kiện mạng tiêu chuẩn.
- Xử lý đồng thời (Concurrency) từ 50 - 100 phiên truy cập cùng lúc trên máy chủ cấu hình cơ bản không xảy ra tình trạng nghẽn kết nối database.
- Tự động hóa 100% quy trình tính toán tổng giá trị đơn hàng, cập nhật biến thể size/color và lưu vết trạng thái đơn hàng.
- Phạm vi và giới hạn: Tập trung vào quy trình B2C cho một đại lý ủy quyền Biti's Hunter; dữ liệu mẫu bao gồm các dòng sản phẩm giày Biti's nam, nữ và phụ kiện liên quan; module thanh toán trực tuyến hiện dừng ở mức giả lập quy trình xác thực đơn hàng chuyển khoản và COD trước khi tích hợp cổng thanh toán trung gian chuyên sâu.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát thực trạng quản trị và bán hàng tại các cửa hàng bán lẻ truyền thống cho thấy sự phân hóa rõ rệt về hiệu quả vận hành:
| Tiêu chí so sánh |
Quản lý truyền thống (Shop Thanh Thanh) |
Nền tảng sàn TMĐT (Shopee/Lazada) |
Hệ thống Website Độc quyền (Đề xuất) |
| Chi phí vận hành |
Thấp ban đầu, cao về nhân công đối soát |
Chiết khấu phí sàn cao (8% - 15%/đơn) |
Chi phí cố định thấp (Domain/Hosting) |
| Quản lý dữ liệu |
Phân mảnh trên sổ sách, dễ mất mát |
Bị phụ thuộc thuật toán sàn, mất tệp data |
Sở hữu 100% dữ liệu khách hàng & hành vi |
| Trải nghiệm thương hiệu |
Kém chuyên nghiệp, phụ thuộc Facebook |
Cạnh tranh trực tiếp về giá với đối thủ |
Nâng cao nhận diện thương hiệu Biti's Hunter |
| Tính chủ động khuyến mãi |
Thủ công, không đồng bộ tồn kho |
Giới hạn theo khung giờ campaign của sàn |
Linh hoạt tạo mã giảm giá, banner, sale |
Bảng ưu tiên yêu cầu người dùng theo mô hình MoSCoW
| Mức độ ưu tiên |
Yêu cầu chức năng người dùng (Customer) |
Yêu cầu chức năng quản trị (Admin) |
| Must have (Bắt buộc) |
Đăng ký/Đăng nhập, Tìm kiếm sản phẩm, Giỏ hàng, Tạo đơn đặt hàng, Xem chi tiết sản phẩm. |
CRUD Sản phẩm, Quản lý đơn hàng (Duyệt/Hủy), Quản lý người dùng, Đăng nhập bảo mật. |
| Should have (Nên có) |
Lọc theo Size/Màu sắc/Danh mục, Quản lý thông tin cá nhân, Xem lịch sử đơn hàng. |
Thống kê doanh thu theo ngày/tháng, Báo cáo hàng tồn kho, Quản lý danh mục. |
| Could have (Có thể có) |
Đánh giá/Bình luận sản phẩm, Lưu danh sách yêu thích (Wishlist). |
Quản lý banner quảng cáo, Quản lý tin tức khuyến mãi, Export báo cáo. |
| Won't have (Chưa làm) |
Thanh toán qua cổng Payment Gateway trực tiếp (VNPAY/MoMo Sandbox), Chatbot AI. |
Tự động đồng bộ tồn kho đa kênh qua API sàn TMĐT, Quản lý chuỗi nhiều chi nhánh. |
Thiết kế hệ thống
Kiến trúc hệ thống và Công nghệ sử dụng
Hệ thống được xây dựng theo kiến trúc 3 tầng phân tầng vật lý (3-Tier Web Architecture):
- Presentation Layer (Tầng hiển thị): HTML5, CSS3, JavaScript (Vanilla ES6), Responsive Web Design tương thích đa thiết bị.
- Application Layer (Tầng nghiệp vụ): PHP phiên bản 7.4/8.0 thực thi trên Apache HTTP Server 2.4.
- Data Layer (Tầng dữ liệu): Hệ quản trị cơ sở dữ liệu quan hệ MySQL Server 8.0, sử dụng Storage Engine InnoDB đảm bảo tính toàn vẹn dữ liệu (ACID).
graph TD
Client[Web Browser - HTML5/CSS3/JavaScript ES6] -->|HTTP/HTTPS Request| Apache[Apache Web Server 2.4]
Apache -->|Zend Engine Execution| PHP[PHP 7.4/8.0 Business Modules]
subgraph PHP_Modules [Các phân hệ nghiệp vụ PHP]
Auth[Xác thực & Phân quyền]
Catalog[Quản lý Sản phẩm & Danh mục]
Cart_Mod[Xử lý Giỏ hàng]
Order_Mod[Điều phối Đơn hàng]
Report[Thống kê Doanh thu]
end
PHP --> PHP_Modules
PHP_Modules -->|SQL Queries / PDO / MySQLi| MySQL[(MySQL Database 8.0 - InnoDB)]
Thiết kế cơ sở dữ liệu quan hệ (Database Design)
Cơ sở dữ liệu được chuẩn hóa về dạng chuẩn 3NF (Third Normal Form) nhằm loại bỏ dư thừa dữ liệu và đảm bảo tính nhất quán logic:
-- 1. Bảng danh mục sản phẩm
CREATE TABLE `category` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 2. Bảng thông tin giày Biti's Hunter
CREATE TABLE `shoe` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`price` BIGINT(11) NOT NULL,
`sale` INT(11) DEFAULT 0,
`size` VARCHAR(255) NOT NULL,
`category_id` INT(11) NOT NULL,
`color` VARCHAR(255) NOT NULL,
`review` VARCHAR(500) DEFAULT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `fk_shoe_category` FOREIGN KEY (`category_id`) REFERENCES `category` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 3. Bảng thư viện ảnh sản phẩm (Quan hệ 1-N)
CREATE TABLE `shoe_image` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`shoe_id` INT(11) NOT NULL,
`link_image` VARCHAR(500) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `fk_image_shoe` FOREIGN KEY (`shoe_id`) REFERENCES `shoe` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 4. Bảng tài khoản người dùng
CREATE TABLE `user` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(255) NOT NULL UNIQUE,
`password` VARCHAR(255) NOT NULL,
`fullname` VARCHAR(255) NOT NULL,
`dob` DATE DEFAULT NULL,
`address` VARCHAR(255) DEFAULT NULL,
`role` TINYINT(1) DEFAULT 0 COMMENT '0: Customer, 1: Admin',
`gender` TINYINT(1) DEFAULT 1,
`email` VARCHAR(255) NOT NULL,
`phone` VARCHAR(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 5. Bảng trạng thái giỏ hàng
CREATE TABLE `cart` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`user_id` INT(11) NOT NULL,
`shoe_id` INT(11) NOT NULL,
`shoe_color` VARCHAR(255) NOT NULL,
`shoe_size` INT(11) NOT NULL,
`status` INT(11) DEFAULT 0 COMMENT '0: In Cart, 1: Ordered',
PRIMARY KEY (`id`),
CONSTRAINT `fk_cart_user` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`),
CONSTRAINT `fk_cart_shoe` FOREIGN KEY (`shoe_id`) REFERENCES `shoe` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 6. Bảng đơn đặt hàng
CREATE TABLE `orders` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`card_id` INT(11) NOT NULL,
`date` DATE NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `fk_orders_cart` FOREIGN KEY (`card_id`) REFERENCES `cart` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Yêu cầu an toàn và hiệu năng hệ thống
- Bảo mật:
- Mã hóa mật khẩu người dùng trước khi lưu trữ vào bảng
user (sử dụng thuật toán BCRYPT hoặc hàm băm có salt).
- Sử dụng Prepared Statements qua PDO/MySQLi để triệt tiêu hoàn toàn lỗ hổng SQL Injection.
- Lọc và làm sạch dữ liệu đầu vào (Data Sanitization) qua hàm
htmlspecialchars() để chống tấn công Cross-Site Scripting (XSS).
- Kiểm soát phiên làm việc (Session Management) chặt chẽ, kiểm tra quyền hạn
role = 1 tại tầng trung gian trước khi cho phép truy cập module Admin.
- Hiệu năng:
- Đánh chỉ mục (Index) trên các cột thường xuyên tìm kiếm và liên kết:
shoe.category_id, shoe_image.shoe_id, cart.user_id.
- Tối ưu hóa dung lượng hình ảnh giày (.webp/.jpg nén) giúp giảm băng thông truyền tải.
Phương pháp luận phát triển (Methodology)
Dự án áp dụng mô hình Thác nước cải tiến (Iterative Waterfall Model) chia làm 5 giai đoạn rõ rệt:
[Khảo sát & Lập đề cương] ---> [Phân tích & Mô hình hóa UML] ---> [Thiết kế DB & Giao diện] ---> [Lập trình hệ thống] ---> [Kiểm thử & Triển khai]
Bảng đánh giá rủi ro và biện pháp giảm thiểu
| Rủi ro kỹ thuật / Vận hành |
Mức độ |
Biện pháp giảm thiểu |
| Xung đột cấu trúc bảng khi thêm biến thể giày |
Trung bình |
Tách riêng bảng shoe_image và lưu trữ size/color theo dạng chuẩn hóa. |
| Mất đồng bộ Session giỏ hàng khi người dùng tải lại trang |
Cao |
Lưu trạng thái giỏ hàng đồng thời vào Database (cart table) khi người dùng đăng nhập. |
| Lỗ hổng phân quyền trái phép vào trang Admin |
Cao |
Kiểm tra biến $_SESSION['admin'] ở đầu tất cả các tệp PHP trong thư mục quản trị. |
Implementation và kết quả
Quy trình phát triển và Xử lý kỹ thuật
Hệ thống hoạt động dựa trên cơ chế biên dịch và thông dịch 4 giai đoạn của lõi Zend Engine trong PHP:
- Lexing (Tokenizing): Sử dụng công cụ
re2c phân tích mã nguồn PHP thành các token danh nghĩa.
- Parsing: Bộ phân tích cú pháp (Parser) dựa trên ngữ pháp BNF thông qua Bison phân tích luồng token LALR để tạo cây cú pháp trừu tượng (Abstract Syntax Tree - AST).
- Compiling: Trình biên dịch đệ quy AST sinh ra tập mã lệnh hoạt động (Opcodes).
- Interpreter (Zend VM): Máy ảo Zend thực thi các Opcode, truy xuất CSDL MySQL và trả về luồng HTML hoàn chỉnh tới trình duyệt.
<?php
// Ví dụ mã nguồn xử lý thêm sản phẩm vào giỏ hàng an toàn (cart_process.php)
session_start();
require_once 'config/database.php';
if (!isset($_SESSION['user_id'])) {
header("Location: login.php?msg=login_required");
exit();
}
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_to_cart'])) {
$user_id = intval($_SESSION['user_id']);
$shoe_id = intval($_POST['shoe_id']);
$shoe_color = htmlspecialchars(trim($_POST['shoe_color']));
$shoe_size = intval($_POST['shoe_size']);
$status = 0; // Trạng thái đang trong giỏ
// Sử dụng Prepared Statement ngăn chặn SQL Injection
$stmt = $conn->prepare("INSERT INTO `cart` (`user_id`, `shoe_id`, `shoe_color`, `shoe_size`, `status`) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("iisis", $user_id, $shoe_id, $shoe_color, $shoe_size, $status);
if ($stmt->execute()) {
header("Location: cart.php?status=success");
} else {
header("Location: product_detail.php?id=" . $shoe_id . "&status=error");
}
$stmt->close();
}
?>
Kiểm thử và Đánh giá (Testing & Validation)
Hệ thống đã trải qua quá trình kiểm thử hộp đen (Black-box Testing) và kiểm thử chức năng toàn diện trên các module nghiệp vụ cốt lõi:
| Kịch bản kiểm thử (Test Scenario) |
Số lượng Test Cases |
Số lượng Pass |
Tỷ lệ Pass (%) |
Lỗi phát hiện & Đã khắc phục |
| Xác thực người dùng (Auth) |
12 |
12 |
100% |
Bắt lỗi trùng username, validate định dạng email/sđt. |
| Tìm kiếm & Bộ lọc sản phẩm |
15 |
15 |
100% |
Tối ưu hóa câu truy vấn LIKE %keyword% không phân biệt hoa thường. |
| Quản lý giỏ hàng & Đơn hàng |
20 |
19 |
95.0% |
Xử lý triệt để lỗi ép kiểu biến thể size giày khi thêm vào giỏ. |
| Module CRUD Admin |
25 |
25 |
100% |
Xóa ràng buộc khóa ngoại an toàn qua cơ chế CASCADE. |
| Báo cáo thống kê doanh số |
10 |
10 |
100% |
Xử lý lọc dữ liệu theo khoảng thời gian DATE(date). |
Kết quả đo lường hiệu năng (Benchmark Metrics)
- Tốc độ phản hồi trung bình: 120ms - 250ms cho các truy vấn dữ liệu sản phẩm tiêu chuẩn.
- Dung lượng trang trung bình (Page Size): ~1.2MB (đã tối ưu hóa stylesheet và nén ảnh sản phẩm).
- Điểm Google PageSpeed Desktop: 88/100; Accessibility đạt 92/100.
Kết quả đạt được
Hệ thống đã hoàn thiện 100% các giao diện chức năng theo đúng hồ sơ phân tích thiết kế:
- Giao diện người dùng (Client Side):
- Trang chủ hiển thị danh mục sản phẩm nam, nữ, banner khuyến mãi nổi bật.
- Trang danh sách sản phẩm với bộ lọc theo loại giày và tầm giá.
- Trang chi tiết sản phẩm hiển thị đầy đủ thư viện ảnh từ bảng
shoe_image, thông tin size, màu sắc, giá gốc và giá khuyến mãi.
- Module Giỏ hàng và Trang Thanh toán đơn hàng cho phép chỉnh sửa số lượng, kiểm tra hóa đơn và nhập địa chỉ giao vận chi tiết.
- Giao diện quản trị (Admin Dashboard):
- Module quản lý sản phẩm: Hỗ trợ thêm mới, chỉnh sửa thông tin, cập nhật bảng giá và xóa sản phẩm lỗi thời.
- Module quản lý đơn hàng: Tiếp nhận đơn hàng mới, duyệt chuyển trạng thái giao hàng hoặc hủy đơn.
- Module quản lý thành viên: Tra cứu danh sách người dùng, phân quyền vai trò (
role).
- Module báo cáo: Tổng hợp lượng giày đã bán, doanh thu theo mốc thời gian và lượng hàng còn tồn trong kho.
Đổi mới và đóng góp
- Chuẩn hóa mô hình dữ liệu biến thể giày: Khắc phục nhược điểm của các website thương mại thế hệ cũ bằng việc tách riêng bảng ảnh
shoe_image và bảng cart theo cơ chế quan hệ khóa ngoại 1-N. Điều này cho phép một mẫu giày Biti's Hunter có thể hiển thị nhiều góc chụp chân thực mà không làm phình to dung lượng bản ghi chính.
- Quy trình phân tích thiết kế hệ thống mẫu mực: Đồ án cung cấp một tài liệu kỹ thuật hoàn chỉnh với 9 dạng biểu đồ UML tiêu chuẩn (Use Case tổng quát/chi tiết, Biểu đồ tuần tự, Biểu đồ trạng thái, Biểu đồ hoạt động, Biểu đồ cộng tác, Biểu đồ thành phần và Biểu đồ triển khai). Đây là tài liệu tham khảo chất lượng cao cho sinh viên ngành Khoa học máy tính và Kỹ thuật phần mềm.
- Hiệu quả tối ưu hóa vận hành: Giúp đại lý Biti's Hunter cắt giảm 70% thời gian xử lý đơn hàng thủ công so với phương thức bán lẻ truyền thống; giảm thiểu 100% tình trạng thất lạc thông tin địa chỉ khách hàng nhờ hệ thống cơ sở dữ liệu tập trung.
| Tính năng / Đặc tính kỹ thuật |
Giải pháp mã nguồn mở đóng gói (WordPress/WooCommerce) |
Website Đồ án (PHP Native / Custom Engine) |
| Độ phức tạp mã nguồn |
Nặng nề, nhiều plugin thừa gây chậm hệ thống |
Nhẹ, mã nguồn tinh gọn, trực tiếp theo yêu cầu nghiệp vụ |
| Tài nguyên phần cứng yêu cầu |
Tối thiểu 1GB - 2GB RAM cho máy chủ |
Chạy mượt mà trên môi trường Hosting/VPS 512MB RAM |
| Khả năng kiểm soát mã nguồn |
Phụ thuộc vào cấu trúc plugin bên thứ ba |
Toàn quyền làm chủ mã nguồn và cấu trúc cơ sở dữ liệu |
| Tính linh hoạt mở rộng |
Dễ bị xung đột phiên bản plugin |
Dễ dàng tùy biến logic nghiệp vụ và tích hợp API riêng |
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế (Real-world Use Case)
Giải pháp được thiết kế tối ưu để áp dụng trực tiếp cho các đại lý bán lẻ giày dép quy mô vừa và nhỏ, cụ thể là các cửa hàng ủy quyền của Biti's Hunter trên toàn quốc:
- Kịch bản đặt hàng: Khách hàng truy cập website -> Tìm kiếm mẫu "Biti's Hunter Street" -> Chọn màu sắc và size 41 -> Thêm vào giỏ hàng -> Điền thông tin giao nhận -> Xác nhận đặt mua.
- Kịch bản xử lý đơn: Quản trị viên nhận thông báo đơn hàng mới trên trang Admin -> Kiểm tra tình trạng tồn kho -> Bấm "Duyệt đơn" -> Xuất thông tin gửi đơn vị vận chuyển.
Hướng dẫn triển khai môi trường (Deployment Instructions)
+-----------------------------------------------------------------------------------+
| QUY TRÌNH DEPLOY HỆ THỐNG TRÊN LINUX |
+-----------------------------------------------------------------------------------+
| |
| 1. Cấu hình máy chủ Web: |
| $ sudo apt update && sudo apt install apache2 php libapache2-mod-php |
| $ sudo apt install php-mysql php-mbstring php-xml |
| |
| 2. Khởi tạo Cơ sở dữ liệu: |
| $ mysql -u root -p -e "CREATE DATABASE db_bitis_hunter CHARACTER SET utf8mb4;"|
| $ mysql -u root -p db_bitis_hunter < database_schema.sql |
| |
| 3. Triển khai mã nguồn: |
| $ sudo cp -r ./src/* /var/www/html/bitis_hunter/ |
| $ sudo chown -R www-data:www-data /var/www/html/bitis_hunter/ |
| $ sudo chmod -R 755 /var/www/html/bitis_hunter/ |
| |
+-----------------------------------------------------------------------------------+
Phân tích hiệu quả kinh tế (Cost-Benefit Analysis & ROI)
- Chi phí đầu tư ban đầu: Chi phí tên miền (.vn hoặc .com) ~250.000 - 550.000 VNĐ/năm; Chi phí Cloud Hosting cơ bản ~600.000 - 1.200.000 VNĐ/năm. Không mất phí bản quyền phần mềm (100% công nghệ nguồn mở).
- Thời gian hoàn vốn (ROI): Ước tính từ 3 - 6 tháng thông qua việc tăng 30% sản lượng bán lẻ trực tuyến và tiết kiệm ít nhất 1 nhân sự trực fanpage thủ công.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Kiến trúc mã nguồn PHP còn tổ chức theo dạng thủ tục (Procedural Programming), chưa nâng cấp lên mô hình MVC (Model-View-Controller) hướng đối tượng hoàn chỉnh.
- Chưa tích hợp cổng thanh toán trực tuyến tự động qua Webhook/API (VNPAY, MoMo, ZaloPay), việc xác nhận thanh toán vẫn cần quản trị viên kiểm tra thủ công.
- Giao diện người dùng thuần CSS3/JavaScript, chưa áp dụng các framework Frontend hiện đại như Vue.js hoặc React để tối ưu hóa trải nghiệm đơn trang (Single Page Application - SPA).
Hướng phát triển trong tương lai
- Tái cấu trúc kiến trúc phần mềm: Chuyển đổi mã nguồn sang framework PHP hiện đại (Laravel 10.x/11.x), tách biệt Backend RESTful API và Frontend.
- Nâng cấp bảo mật và hạ tầng: Triển khai chứng chỉ bảo mật SSL/TLS (HTTPS), áp dụng Redis Cache để tăng tốc truy vấn giỏ hàng và danh mục.
- Mở rộng tính năng nâng cao:
- Tích hợp cổng thanh toán trực tuyến VNPAY/MoMo Gateway.
- Tích hợp API đơn vị vận chuyển (Giao Hàng Nhanh, Giao Hàng Tiết Kiệm) để tự động tính phí ship theo vị trí địa lý.
- Phát triển hệ thống gợi ý sản phẩm thông minh dựa trên lịch sử xem hàng của người dùng.
Đối tượng hưởng lợi
+-----------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI DỰ ÁN |
+-----------------------------------------------------------------------------------+
| [Sinh viên CNTT / KHMT] ---> Tài liệu chuẩn mực về mô hình hóa 9 biểu đồ |
| UML và quy trình làm đồ án thực tế. |
| [Lập trình viên Web] ---> Nắm vững quy trình làm việc của PHP Engine |
| và kỹ thuật xử lý cơ sở dữ liệu an toàn. |
| [Chủ đại lý & Hộ kinh doanh] ---> Mô hình chuyển đổi số bán lẻ chi phí thấp, |
| tối ưu hóa quy trình quản trị đơn hàng. |
| [Giảng viên & Nhà nghiên cứu] ---> Hồ sơ nghiên cứu ứng dụng thực tiễn gắn liền |
| với bài toán thương mại điện tử tại VN. |
+-----------------------------------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu phần cứng và phần mềm tối thiểu để triển khai website là gì?
Hệ thống yêu cầu máy chủ web chạy Apache 2.4+ hoặc Nginx, PHP phiên bản từ 7.4 trở lên và MySQL Server từ 5.7/8.0. Về tài nguyên phần cứng, hệ thống chỉ cần tối thiểu 1 CPU Core, 512MB RAM và 1GB dung lượng đĩa cứng trống để vận hành ổn định cho khoảng 5.000 lượt truy cập/ngày.
2. Hệ thống có khả năng mở rộng khi lượng sản phẩm và đơn hàng tăng vọt không?
Có. Nhờ thiết kế cơ sở dữ liệu đạt chuẩn 3NF và tách riêng bảng ảnh shoe_image, hệ thống có thể dễ dàng quản lý hàng chục nghìn sản phẩm. Khi lưu lượng truy cập tăng đột biến, hệ thống có thể mở rộng theo chiều ngang (Horizontal Scaling) bằng cách tách riêng Database Server hoặc áp dụng giải pháp lưu bộ nhớ đệm Memcached/Redis.
3. Làm thế nào để bảo vệ hệ thống khỏi các cuộc tấn công SQL Injection và XSS?
Toàn bộ các luồng thao tác dữ liệu đều phải tuân thủ việc sử dụng Prepared Statements và Parameterized Queries trong PHP. Dữ liệu văn bản người dùng nhập vào được xử lý qua hàm htmlspecialchars() trước khi in ra màn hình trình duyệt để vô hiệu hóa các thẻ script độc hại.
4. Chi phí duy trì hệ thống hàng năm ước tính là bao nhiêu?
Chi phí duy trì cho một cửa hàng quy mô đại lý cấp 1 dao động từ 1.000.000 đến 1.800.000 VNĐ/năm (bao gồm tên miền quốc tế/quốc gia và gói Cloud Web Hosting). Hệ thống không phát sinh bất kỳ khoản phí cấp phép phần mềm nào nhờ sử dụng 100% công nghệ mã nguồn mở.
5. Website có thể tích hợp thêm ứng dụng di động (Mobile App) trong tương lai không?
Hoàn toàn khả thi. Bằng cách xây dựng thêm các API Endpoints trả về định dạng dữ liệu JSON từ cơ sở dữ liệu MySQL hiện tại, các nhà phát triển có thể kết nối trực tiếp các ứng dụng Flutter hoặc React Native vào hệ thống mà không cần thay đổi cấu trúc dữ liệu nền tảng.
Kết luận
Đề tài đồ án "Thiết kế website online bán giày cho đại lý Biti's Hunter" của tác giả Phan Thị Hà (Trường Đại học Mỏ - Địa chất) đã 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 phân phối giày dép theo mô hình chuyển đổi số cho đại lý bán lẻ, mà còn là một hình mẫu toàn diện về phân tích thiết kế hệ thống thông tin bằng ngôn ngữ mô hình hóa UML kết hợp lập trình web thực thụ.
Việc vận dụng thuần thục công nghệ LAMP stack cùng các giải pháp tối ưu hóa dữ liệu quan hệ đã chứng minh tính khả thi, độ tin cậy và giá trị kinh tế to lớn của đề tài. Đây là nền tảng vững chắc để tiếp tục phát triển hệ thống thành một nền tảng thương mại điện tử chuyên nghiệp, đa kênh trong tương lai.