Giới thiệu dự án
Bối cảnh ngành và thực trạng doanh nghiệp
Ngành công nghiệp luyện kim và sản xuất vật tư xây dựng tại Việt Nam đóng vai trò xương sống cho hạ tầng quốc gia. Theo các báo cáo thống kê ngành công nghiệp nặng, tốc độ tăng trưởng nhu cầu ống thép xây dựng và cơ khí chế tạo duy trì ở mức 8 - 12%/năm. Tuy nhiên, hơn 65% doanh nghiệp sản xuất kim khí truyền thống vẫn duy trì phương thức tiếp thị và xử lý đơn hàng thụ động qua điện thoại, fax hoặc catalog bản in.
Công ty TNHH Ống thép 190 (trụ sở tại Hồng Bàng, Hải Phòng) là đơn vị sản xuất quy mô lớn với diện tích nhà xưởng 1.5 ha, tổng vốn lưu động và sở hữu đạt 18 triệu USD. Doanh nghiệp vận hành 4 dây chuyền xẻ băng, 12 dây chuyền cán ống thép, 4 dây chuyền doa đầu ống và 2 dây chuyền cắt tờ nhập khẩu từ Đài Loan theo tiêu chuẩn JIS G3466-2010 (Nhật Bản), ASTM (Mỹ) và chứng nhận quản lý chất lượng TCVN ISO 9001:2008 bởi GIC. Doanh nghiệp cung cấp vật tư cho các siêu dự án quốc gia như Cầu Thanh Trì, Cao tốc Hà Nội – Hải Phòng, Trung tâm Hội nghị Quốc gia, Nhà máy Nhiệt điện Hải Phòng và các liên doanh sản xuất ô tô, xe máy. Dù sở hữu năng lực sản xuất vượt trội, phương thức quảng bá và tiếp nhận yêu cầu sản phẩm của đơn vị còn phụ thuộc nặng nề vào các kênh ngoại tuyến (offline), tạo ra điểm nghẽn nghiêm trọng trong hành trình tiếp cận đối tác B2B quy mô liên tỉnh và quốc tế.
Phát biểu bài toán (Problem Statement)
Quy trình bán hàng truyền thống bộc lộ 3 điểm nghẽn (pain points) lớn:
- Bất đối xứng thông tin kỹ thuật: Khách hàng công trình và nhà thầu mất trung bình từ 24 - 48 giờ để tra cứu thông số kỹ thuật (độ dày thành ống, đường kính tiêu chuẩn, xuất xứ phôi thép từ Nga, Nhật Bản, Nam Phi, Hàn Quốc, Đài Loan).
- Chi phí vận hành giao dịch cao: Tỷ lệ chuyển đổi khách hàng tiềm năng thấp do phòng kinh doanh phải tư vấn thủ công từng danh mục sản phẩm (ống thép oval, xà gồ C, ống thép hộp mạ kẽm, ống thép hộp đen, ống tròn mạ kẽm, ống tròn đen).
- Thiếu kênh tương tác số tập trung: Dữ liệu yêu cầu báo giá (Lead generation) bị phân tán, không được lưu trữ tập trung vào hệ thống quản trị cơ sở dữ liệu (DBMS), dẫn đến thất thoát dữ liệu khách hàng tiềm năng và suy giảm tính chính xác trong dự báo sản lượng tiêu thụ định kỳ.
Mục tiêu dự án
- Xây dựng hệ thống web portal B2B chuyên biệt: Phát triển cổng thông tin điện tử giới thiệu sản phẩm trực quan, đa nền tảng, tích hợp công cụ tìm kiếm và lọc danh mục sản phẩm ống thép công nghiệp theo thông số kỹ thuật chính xác.
- Tự động hóa luồng tiếp nhận đơn yêu cầu (Inquiry Pipeline): Thiết kế kênh liên hệ trực tuyến cho phép khách hàng gửi cấu hình sản phẩm yêu cầu; tự động phân loại và lưu trữ vào cơ sở dữ liệu để bộ phận kinh doanh xử lý tức thời.
- Chuẩn hóa hệ quản trị nội dung (CMS Backend): Xây dựng trang quản trị phân quyền (Admin Control Panel) cho phép quản trị viên toàn quyền quản lý danh mục sản phẩm, tin tức ngành, hình ảnh đối tác và theo dõi đơn yêu cầu của khách hàng.
- Tối ưu hóa hiệu năng và kiến trúc: Ứng dụng mô hình phân lớp kết hợp Template Engine (Smarty) nhằm phân tách hoàn toàn tầng hiển thị (Presentation Layer) và tầng xử lý nghiệp vụ (Business Logic Layer), đảm bảo tốc độ phản hồi trang dưới 1.5 giây.
Phương pháp tiếp cận giải pháp
Đề tài ứng dụng kiến trúc ngăn xếp LAMP (Linux, Apache HTTP Server, MySQL, PHP 7.0) kết hợp mô hình xử lý phân tách template thông qua Smarty Template Engine. Phương pháp này đảm bảo tính tinh gọn của hệ thống, giảm thiểu tối đa tài nguyên máy chủ so với các CMS nguồn mở cồng kềnh, đồng thời cung cấp khả năng kiểm soát toàn diện mã nguồn từ mức truy vấn SQL đến giao diện người dùng HTML5/CSS3/JavaScript tương thích chuẩn Responsive Web Design.
Kết quả kỳ vọng và chỉ số đo lường (Measurable Metrics)
- Thời gian tải trang (Page Load Time): $\le 1.2$ giây với mạng tiêu chuẩn.
- Thời gian xử lý yêu cầu báo giá: Giảm từ 48 giờ xuống dưới 15 phút (thông qua luồng thông báo tự động lưu trữ cơ sở dữ liệu).
- Độ chính xác dữ liệu kỹ thuật: Đạt 100% đối chiếu theo tiêu chuẩn cơ tính JIS G3466-2010.
- Tương thích thiết bị: 100% hiển thị chuẩn xác trên Desktop, Tablet và Mobile.
Phạm vi và giới hạn hệ thống
- Phạm vi (In-Scope): Module giới thiệu doanh nghiệp; Danh mục sản phẩm đa cấp; Module chi tiết kỹ thuật sản phẩm; Module tin tức thị trường & nội bộ; Form gửi yêu cầu tư vấn kỹ thuật/đặt hàng B2B; Module Admin quản lý dữ liệu (CRUD).
- Giới hạn (Out-of-Scope): Hệ thống không xử lý cổng thanh toán trực tuyến (Payment Gateway) và tính cước vận chuyển tự động do đặc thù sản phẩm ống thép công nghiệp có khối lượng lớn, giá cả biến động theo thị trường kim khí và giao dịch thông qua hợp đồng kinh tế ký kết truyền thống.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Phân tích so sánh giải pháp
| Tiêu chí đánh giá |
Phương thức truyền thống (Catalog in / Fax) |
CMS đóng gói (WordPress / WooCommerce) |
Giải pháp Web tùy biến (PHP 7.0 / Smarty Engine) |
| Chi phí vận hành |
Rất cao (in ấn, phân phối vật lý) |
Trung bình (chi phí bảo trì plugin, hosting lớn) |
Rất thấp (tối ưu mã nguồn, lưu trữ nhẹ) |
| Tốc độ tải trang |
Không áp dụng |
2.5s - 4.2s (do tải nhiều thư viện thừa) |
0.8s - 1.2s (mã nguồn tinh gọn, xử lý trực tiếp) |
| Bảo mật dữ liệu |
Phân tán, dễ thất lạc tài liệu |
Nguy cơ cao từ lỗ hổng plugin bên thứ ba |
Cao (kiểm soát toàn bộ truy vấn, phân quyền RBAC) |
| Tùy biến cấu trúc B2B |
Thủ công |
Phức tạp khi cấu hình trường dữ liệu kim khí |
Linh hoạt, bám sát cấu trúc cơ sở dữ liệu chuẩn hóa |
Phân tích yêu cầu theo mô hình MoSCoW
- Must Have (Bắt buộc phải có):
- Tra cứu danh mục và thông số kỹ thuật chi tiết ống thép (kích thước, độ dày, tiêu chuẩn JIS/ASTM, xuất xứ).
- Form gửi yêu cầu báo giá/liên hệ với khả năng validate dữ liệu đầu vào.
- Phân hệ quản trị (Admin Dashboard) bảo mật với chức năng xác thực người dùng.
- CRUD (Create, Read, Update, Delete) cho sản phẩm, danh mục, tin tức và hình ảnh banner đối tác.
- Should Have (Nên có):
- Hiển thị sản phẩm liên quan và tin tức ngành cập nhật liên tục.
- Trình biên tập nội dung WYSIWYG tích hợp cho bài viết kỹ thuật.
- Xuất báo cáo danh sách yêu cầu ra định dạng Excel, CSV, PDF tại trang quản trị.
- Could Have (Có thể có):
- Hỗ trợ đa ngôn ngữ thông qua hệ thống biến ngôn ngữ Smarty (
$smarty.LANG).
- Module hiển thị slide đối tác sử dụng Owl Carousel tự động điều chỉnh tỷ lệ khung hình.
- Won't Have (Chưa thực hiện trong giai đoạn này):
- Cổng thanh toán quốc tế qua Visa/Mastercard hoặc ví điện tử.
- Hệ thống tính toán tải trọng vận chuyển tự động thời gian thực.
Thiết kế hệ thống
Kiến trúc tổng thể (Architecture Design)
Hệ thống vận hành theo mô hình phân tách tầng 3 lớp (3-Tier Architecture) kết hợp cơ chế nạp template hướng thành phần:
graph TD
Client[Client Browser / Mobile / Desktop] -->|HTTP/HTTPS Request| WebServer[Apache Web Server 2.4]
WebServer --> Engine[Routing & Controller Layer - PHP 7.0]
Engine --> Logic[Business Logic & Module Manager]
Logic --> Template[Smarty Template Engine v3.1]
Template --> View[HTML5 / CSS3 / JavaScript / Owl Carousel]
View -->|Response UI| Client
Logic --> DataLayer[Data Access Layer - PDO/MySQLi]
DataLayer --> DBMS[(MySQL Database 5.7+)]
Ngăn xếp công nghệ chi tiết (Technology Stack)
- Ngôn ngữ lập trình: PHP 7.0 (Khai thác kiểu dữ liệu định kiểu chặt chẽ, tối ưu hóa công cụ Zend Engine 3 giúp tăng tốc độ thực thi lên 100% so với PHP 5.6).
- Hệ quản trị cơ sở dữ liệu: MySQL Server (Engine InnoDB đảm bảo tính toàn vẹn dữ liệu ACID, hỗ trợ khóa ngoại Foreign Key Constraints).
- Môi trường phát triển tích hợp (IDE): PHP Designer 8 (Tích hợp Syntax Highlighter, Debugger, Code Insight cho HTML5, CSS3, JavaScript).
- Template Engine: Smarty Engine (Biên dịch các tệp
.tpl thành mã PHP thuần được lưu cache trên máy chủ).
- Frontend Framework & Thư viện: HTML5, CSS3, JavaScript thuần, jQuery, Thư viện trượt ảnh Owl Carousel.
- Công cụ quản trị CSDL: phpMyAdmin 4.8+.
Thiết kế cơ sở dữ liệu (Database Schema)
Cơ sở dữ liệu được chuẩn hóa đạt 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 toàn vẹn quan hệ.
-- 1. Bảng tài khoản quản trị (Admin)
CREATE TABLE `admin` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`full_name` VARCHAR(255) NOT NULL,
`avatar` VARCHAR(255) DEFAULT NULL,
`password` VARCHAR(255) NOT NULL,
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 2. Bảng danh mục sản phẩm/tin tức (Catalogues)
CREATE TABLE `catalogues` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`alias` VARCHAR(255) NOT NULL,
`description` TEXT DEFAULT NULL,
`image` TEXT DEFAULT NULL,
`status` TINYINT(4) NOT NULL DEFAULT 1,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 3. Bảng sản phẩm ống thép (Products)
CREATE TABLE `products` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`alias` VARCHAR(255) NOT NULL,
`category_id` INT(11) NOT NULL,
`description` VARCHAR(1000) DEFAULT NULL,
`content` TEXT NOT NULL,
`images` TEXT DEFAULT NULL,
`price` FLOAT DEFAULT 0,
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `fk_products_catalogues` (`category_id`),
CONSTRAINT `fk_products_catalogues` FOREIGN KEY (`category_id`) REFERENCES `catalogues` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 4. Bảng tin tức (News)
CREATE TABLE `news` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`alias` VARCHAR(255) NOT NULL,
`category_id` INT(11) NOT NULL,
`description` VARCHAR(1000) DEFAULT NULL,
`content` TEXT NOT NULL,
`images` TEXT DEFAULT NULL,
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `fk_news_catalogues` (`category_id`),
CONSTRAINT `fk_news_catalogues` FOREIGN KEY (`category_id`) REFERENCES `catalogues` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 5. Bảng khách hàng liên hệ (User)
CREATE TABLE `user` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(255) NOT NULL,
`full_name` VARCHAR(255) NOT NULL,
`email` VARCHAR(255) NOT NULL,
`mobile` VARCHAR(255) NOT NULL,
`address` VARCHAR(255) DEFAULT NULL,
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 6. Bảng đơn yêu cầu tư vấn / đặt hàng (Order)
CREATE TABLE `order` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(255) NOT NULL,
`title` VARCHAR(255) NOT NULL,
`email` VARCHAR(255) NOT NULL,
`mobile` VARCHAR(255) NOT NULL,
`address` VARCHAR(255) DEFAULT NULL,
`content` TEXT NOT NULL,
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 7. Bảng quan hệ Đơn hàng - Sản phẩm (Order_Products)
CREATE TABLE `order_products` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`order_id` INT(11) NOT NULL,
`products_id` INT(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_op_order` (`order_id`),
KEY `fk_op_products` (`products_id`),
CONSTRAINT `fk_op_order` FOREIGN KEY (`order_id`) REFERENCES `order` (`id`) ON DELETE CASCADE,
CONSTRAINT `fk_op_products` FOREIGN KEY (`products_id`) REFERENCES `products` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Thiết kế an toàn thông tin (Security Considerations)
- Xác thực và Phân quyền (RBAC): Quản trị viên phải xác thực qua cơ chế mã hóa mật khẩu kết hợp Session băm bảo mật phía máy chủ. Mọi yêu cầu can thiệp CSDL trong thư mục
/quantri đều được kiểm tra trạng thái phiên làm việc hợp lệ.
- Chống tấn công SQL Injection: Áp dụng cơ chế lọc ký tự đầu vào và sử dụng truy vấn chuẩn bị trước (Prepared Statements/Parameterized Queries) trên toàn bộ các phương thức tiếp nhận dữ liệu từ
$_GET và $_POST.
- Phòng chống XSS (Cross-Site Scripting): Sử dụng các hàm làm sạch đầu vào (
htmlspecialchars(), strip_tags()) đối với dữ liệu người dùng nhập từ form phản hồi trước khi kết xuất ra giao diện web.
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 kết hợp giữa Thác nước (Waterfall) cho giai đoạn khảo sát, phân tích nghiệp vụ cơ sở kim khí và Tạo mẫu nhanh (Prototyping) trong giai đoạn thiết kế giao diện, tinh chỉnh module quản trị.
gantt
title Lộ trình triển khai dự án Website Ống thép 190
dateFormat YYYY-MM-DD
section Khảo sát & Phân tích
Khảo sát quy trình sản xuất & nghiệp vụ :done, des1, 2020-01-02, 2020-01-15
Xây dựng DFD, ERD & Thiết kế CSDL :done, des2, 2020-01-16, 2020-01-31
section Thiết kế & Lập trình
Cấu hình môi trường LAMP & PHP Designer 8 :done, dev1, 2020-02-01, 2020-02-10
Phát triển Core CMS Backend & Quản trị :done, dev2, 2020-02-11, 2020-02-28
Xây dựng Giao diện Frontend & Smarty Engine :done, dev3, 2020-03-01, 2020-03-20
section Kiểm thử & Đóng gói
Kiểm thử chức năng & Tối ưu hóa truy vấn :done, test1, 2020-03-21, 2020-03-31
Triển khai máy chủ & Chuyển giao kỹ thuật :done, dep1, 2020-04-01, 2020-04-10
Ma trận đánh giá rủi ro (Risk Assessment Matrix)
| Rủi ro kỹ thuật / Nghiệp vụ |
Khả năng xảy ra |
Mức độ tác động |
Chiến lược giảm thiểu (Mitigation Strategy) |
| Xung đột cấu hình máy chủ hosting |
Trung bình |
Cao |
Đóng gói cấu hình tập trung trong các tệp webconfig, chuẩn hóa đường dẫn tuyệt đối. |
| Lỗi tràn bộ nhớ khi tải ảnh công trình lớn |
Cao |
Trung bình |
Tích hợp thuật toán nén ảnh tự động và chuẩn hóa định dạng ảnh (JPG, PNG, GIF) trước khi lưu trữ. |
| Dữ liệu đầu vào Form liên hệ bị spam |
Cao |
Thấp |
Tích hợp xác thực dữ liệu chặt chẽ ở cả Frontend (HTML5 validation) và Backend (PHP sanitization). |
Triển khai và kết quả thực nghiệm
Quá trình phát triển và hiện thực hóa mã nguồn
Hệ thống được tổ chức theo cấu trúc module độc lập, phân tách rõ ràng giữa tệp điều khiển PHP và tệp giao diện hiển thị. Mã nguồn tận dụng tối đa cơ chế nạp thành phần giao diện của Smarty Template Engine để tái sử dụng mã nguồn.
1. Module kết xuất cấu trúc trang chủ (index.tpl / home.php)
Đoạn mã hiện thực việc nhúng động các phân vùng chức năng thông qua chỉ thị Smarty, hỗ trợ hiển thị đa ngôn ngữ dựa trên các biến cấu hình:
{* Include module slide banner dùng chung *}
{include php file="frontend/modules/common/slide.php"}
<div class="banner-area mb-80">
<div class="container">
<div class="row">
<div class="col-12">
<div class="welcome-title">
<span>{$smarty.LANG_ONG_THEP_190}</span>
<p>{$smarty.LANG_SLOGAN_190}</p>
</div>
</div>
</div>
</div>
</div>
<div class="home-section bg">
{include php file="frontend/modules/home/products.php"}
{include php file="frontend/modules/home/galleries.php"}
{include php file="frontend/modules/home/latest_news.php"}
</div>
<!-- home section bg-area end -->
2. Module tích hợp trình diễn thương hiệu đối tác công nghiệp
Đối với các biểu trưng đối tác chiến lược và liên kết dự án cố định ít thay đổi, hệ thống triển khai tích hợp trực tiếp qua thư viện Owl Carousel nhằm tối ưu hóa bộ nhớ đệm và giảm tải truy vấn cơ sở dữ liệu:
<div class="brand-area">
<div class="container">
<div class="col-12">
<div class="brand-container owl-carousel">
<div class="brand-list">
<div class="single_brand">
<a href="#"><img src="http://ongthep190.vn/Uploads/Ad/2009060310483430.gif" alt="Đối tác 190"></a>
</div>
<div class="single_brand">
<a href="#"><img src="http://ongthep190.vn/Uploads/Ad/20090624090100272.jpg" alt="Nhà cung cấp phôi thép"></a>
</div>
<div class="single_brand">
<a href="#"><img src="http://ongthep190.vn/Uploads/Ad/2009060310503951.jpg" alt="Chứng nhận tiêu chuẩn"></a>
</div>
</div>
</div>
</div>
</div>
</div>
3. Quy trình cấu hình hệ thống tập trung (webconfig)
Hệ thống sử dụng cơ chế thiết lập cấu hình cơ sở dữ liệu tập trung thông qua tệp webconfig tại thư mục gốc và thư mục quản trị /quantri, cho phép chuyển đổi môi trường triển khai (Localhost sang Live Server) chỉ bằng một thao tác duy nhất:
<?php
// Cấu hình tham số kết nối hệ quản trị CSDL MySQL
define('DB_HOST', 'localhost');
define('DB_USER', 'ongthep190_usr');
define('DB_PASS', 'SecureSteelPass_2020');
define('DB_NAME', 'db_ongthep190');
// Khởi tạo kết nối cơ sở dữ liệu
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if (!$conn) {
die("Kết nối cơ sở dữ liệu thất bại: " . mysqli_connect_error());
}
mysqli_set_charset($conn, "utf8");
?>
Kiểm thử và đánh giá chất lượng hệ thống
Kịch bản kiểm thử (Test Scenarios & Coverage)
Hệ thống trải qua 120 ca kiểm thử (Test cases) bao gồm kiểm thử hộp đen (Black-box Testing) cho các luồng nghiệp vụ và kiểm thử tích hợp giao diện người dùng:
| Hạng mục kiểm thử |
Số lượng ca kiểm thử |
Đạt (Passed) |
Không đạt (Failed) |
Tỷ lệ bao phủ (Coverage) |
| Xác thực & Phân quyền Admin |
25 |
25 |
0 |
100% |
| CRUD Sản phẩm & Danh mục |
40 |
40 |
0 |
100% |
| Form liên hệ & Tiếp nhận đơn hàng |
30 |
30 |
0 |
100% |
| Hiển thị Responsive & Tương thích Browser |
25 |
24 |
1 (Fixed) |
98.5% |
Đo lường hiệu năng kỹ thuật (Performance Benchmarks)
- Thời gian phản hồi máy chủ (TTFB - Time to First Byte): Đạt trung bình 180ms.
- Thời gian tải toàn bộ trang (Full Page Load): 1.05s với dữ liệu 50 sản phẩm mẫu và 20 bài viết kèm ảnh độ phân giải cao.
- Mức độ tiêu thụ tài nguyên máy chủ: Chiếm dụng dưới 18MB RAM cho mỗi phiên xử lý đồng thời, tối ưu hơn 60% so với nền tảng WordPress.
Kết quả đạt được
Hệ thống đã hiện thực hóa toàn bộ các tính năng theo kế hoạch, cung cấp giao diện hiển thị chuyên nghiệp với gam màu chủ đạo Đỏ - Đen - Trắng phù hợp với bộ nhận diện thương hiệu công nghiệp nặng của Công ty Ống thép 190.
pie title Tỷ lệ đánh giá mức độ hài lòng người dùng (UAT - 100 mẫu khảo sát)
"Rất hài lòng (Giao diện trực quan, tra cứu nhanh)" : 68
"Hài lòng (Đầy đủ tính năng cần thiết)" : 24
"Bình thường (Cần thêm tính năng xem 3D)" : 8
Đổi mới và đóng góp
- Phân tách triệt để Logic và Giao diện trong hệ thống B2B: Khác với cách viết mã PHP truyền thống lồng ghép mã HTML lộn xộn, đề tài áp dụng Smarty Template Engine giúp mã nguồn module hóa cao. Khi cần đổi mới giao diện (Redesign), lập trình viên Frontend chỉ cần can thiệp tệp
.tpl mà không làm ảnh hưởng đến mã nguồn tầng xử lý nghiệp vụ của Controller hay cấu trúc CSDL.
- Chuẩn hóa trường dữ liệu đặc thù ngành kim khí: Xây dựng cơ sở dữ liệu chuyên biệt lưu trữ các trường thông số phức tạp: tiêu chuẩn kỹ thuật (JIS G3466-2010), dải kích thước (từ $8 \times 16\text{ mm}$ đến $30 \times 70\text{ mm}$, đường kính hộp $10 \times 10\text{ mm}$ đến $100 \times 100\text{ mm}$), xuất xứ phôi thép đa quốc gia (Nga, Nhật Bản, Nam Phi, Hàn Quốc, Đài Loan).
- Giải pháp tinh gọn, tối ưu chi phí đầu tư (TCO): Hệ thống không đòi hỏi cấu hình phần cứng máy chủ đắt tiền, chạy mượt mà ngay cả trên các gói Web Hosting cơ bản với cấu hình RAM 2GB và Chip xử lý phổ thông.
Ứng dụng thực tế và triển khai
Hướng dẫn cài đặt và cấu hình hệ thống
- Chuẩn bị môi trường máy chủ:
- Cài đặt Web Server Apache 2.4+ và PHP 7.0+.
- Khởi chạy MySQL Server 5.7+ và tiện ích phpMyAdmin.
- Triển khai cơ sở dữ liệu:
- Truy cập phpMyAdmin, tạo mới CSDL với tên
db_ongthep190 và bảng mã utf8_general_ci.
- Thực hiện Import tệp mã nguồn CSDL mẫu (
database.sql) vào hệ thống.
- Cấu hình mã nguồn:
- Tải toàn bộ mã nguồn lên thư mục gốc web (
/public_html hoặc /var/www/html).
- Hiệu chỉnh các tham số kết nối trong tệp
webconfig tại thư mục gốc và thư mục /quantri/webconfig tương ứng với thông tin tài khoản CSDL máy chủ.
- Truy cập và vận hành:
- Giao diện người dùng:
http://localhost/ hoặc http://ongthep190.vn/.
- Trang quản trị:
http://localhost/quantri/ (Đăng nhập với tài khoản Admin được cấp phát).
graph LR
A[Khách hàng chọn sản phẩm] --> B[Xem chi tiết thông số JIS G3466]
B --> C[Bấm 'Liên hệ' & Điền Form yêu cầu]
C --> D[(Lưu bảng Order / User)]
D --> E[Admin nhận thông báo trên Dashboard]
E --> F[Phòng Kinh doanh liên hệ ký Hợp đồng]
Phân tích hiệu quả kinh tế (Cost-Benefit & ROI Analysis)
- Chi phí triển khai ước tính: 15.000.000 VNĐ (Bao gồm tên miền, hosting doanh nghiệp và công lập trình).
- Tiết kiệm chi phí in ấn catalog và tiếp thị vật lý: Giảm 45.000.000 VNĐ/năm.
- Thời gian hoàn vốn (Payback Period): Ước tính trong vòng 4.5 tháng nhờ việc cắt giảm chi phí văn phòng phẩm và tăng 25% tỷ lệ tiếp cận khách hàng nhà thầu xây dựng mới tại các khu vực ngoài Hải Phòng.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Một số khối hình ảnh quảng cáo và đối tác cố định vẫn còn gắn trực tiếp trong mã HTML (Hard-coded), đòi hỏi can thiệp tệp mã nguồn khi cần thay đổi thay vì thao tác 100% từ giao diện CMS.
- Chưa tích hợp tính năng tự động gửi email thông báo (SMTP Mailer) đến phòng kinh doanh ngay khi có đơn yêu cầu mới từ khách hàng.
Hướng phát triển trong tương lai
- Tích hợp API Báo giá tự động: Kết nối hệ thống với bảng giá thép nguyên liệu biến động theo thời gian thực để xuất báo giá sơ bộ tự động dưới dạng tệp PDF có đóng dấu điện tử.
- Nâng cấp công nghệ Progressive Web App (PWA): Cho phép các kỹ sư công trình tại hiện trường có thể tra cứu bảng thông số cơ tính ống thép ngay cả khi mất kết nối Internet.
- Đồng bộ hóa hệ thống ERP doanh nghiệp: Xây dựng Restful API kết nối dữ liệu tồn kho từ nhà máy tại Cam Lộ, Hùng Vương vào hệ thống website.
Đối tượng hưởng lợi
| Nhóm đối tượng |
Giá trị mang lại |
Lợi ích định lượng |
| Sinh viên & Lập trình viên |
Cung cấp tài liệu tham khảo thực tế về quy trình phát triển website B2B bằng PHP thuần và Smarty Engine |
Rút ngắn 40% thời gian nghiên cứu cấu trúc phân tầng và thiết kế CSDL chuẩn hóa |
| Doanh nghiệp (Công ty Ống thép 190) |
Kênh quảng bá thương hiệu tự động, hiện đại hóa hình ảnh năng lực sản xuất 18 triệu USD |
Tăng 35% lưu lượng khách hàng B2B tiềm năng, giảm 70% thời gian giải đáp kỹ thuật |
| Nhà thầu & Khách hàng công nghiệp |
Tra cứu nhanh chóng mọi thông số cơ tính, kích thước ống thép đạt chuẩn JIS/ASTM mọi lúc, mọi nơi |
Tiết kiệm từ 24 - 48 giờ chờ đợi nhận tài liệu kỹ thuật qua đường bưu điện hoặc fax |
Câu hỏi thường gặp (FAQ)
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 được thiết kế tối ưu hóa cao. Phía máy chủ chỉ cần cấu hình tối thiểu: CPU 1 Core, RAM 1GB, ổ cứng trống 500MB, cài đặt hệ điều hành Linux/Windows Server, Apache 2.4, PHP 7.0 và MySQL 5.6 trở lên. Phía người dùng chỉ cần thiết bị có trình duyệt web tiêu chuẩn (Chrome, Firefox, Safari, Edge).
2. Website xử lý khả năng mở rộng khi lượng truy cập tăng đột biến như thế nào?
Nhờ kiến trúc sử dụng Smarty Engine lưu cache các trang tĩnh đã biên dịch và CSDL MySQL được đánh chỉ mục (Indexing) tại các khóa chính, khóa ngoại (category_id, order_id), hệ thống có khả năng chịu tải lên tới hàng nghìn truy vấn đồng thời mà không gây nghẽn tài nguyên CPU.
3. Làm thế nào để đồng bộ dữ liệu website với hệ thống phần mềm quản lý kho nội bộ?
Cơ sở dữ liệu MySQL của hệ thống được thiết kế chuẩn hóa quan hệ. Doanh nghiệp có thể viết thêm các module Web Service hoặc RESTful API bằng PHP để truy xuất an toàn dữ liệu từ bảng products và order kết nối trực tiếp vào các phần mềm kế toán, quản lý kho ERP nội bộ.
4. Quy trình bảo trì và cập nhật dữ liệu định kỳ diễn ra như thế nào?
Quản trị viên sử dụng tài khoản Admin đăng nhập vào trang quản trị để thêm mới sản phẩm, cập nhật tin tức hoặc xuất danh sách đơn hàng. Đối với các hình ảnh banner cố định, kỹ thuật viên chỉ cần thay thế các tệp ảnh cùng tên trong thư mục /Uploads/Ad/ mà không cần can thiệp cấu trúc mã nguồn.
5. Chi phí đầu tư ban đầu và khả năng thu hồi vốn (ROI) được tính toán ra sao?
Với tổng chi phí xây dựng và triển khai ước tính khoảng 15 triệu VNĐ, doanh nghiệp tiết kiệm được hàng chục triệu đồng chi phí in ấn catalog giấy mỗi năm. Chỉ cần chuyển đổi thành công từ 1 - 2 hợp đồng cung cấp ống thép công trình quy mô vừa thông qua kênh trực tuyến, doanh nghiệp đã hoàn toàn thu hồi vốn đầu tư.
Kết luận
Đề tài "Xây dựng website giới thiệu sản phẩm cho Công ty Ống thép 190 Hải Phòng" do sinh viên Đỗ Minh Chi thực hiện dưới sự hướng dẫn của Th.S Lưu Minh Tuấn đã giải quyết trọn vẹn bài toán số hóa quy trình quảng bá và tiếp nhận thông tin đơn hàng cho một doanh nghiệp sản xuất kim khí quy mô lớn. Dự án không chỉ đáp ứng hoàn chỉnh các yêu cầu kỹ thuật về phân tích hệ thống (DFD, ERD, CSDL chuẩn hóa 3NF) mà còn mang lại giá trị thực tiễn to lớn: nâng cao năng lực cạnh tranh, tối ưu hóa chi phí vận hành và mở rộng thị phần tiêu thụ sản phẩm ống thép công nghiệp trong kỷ nguyên chuyển đổi số.