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ử (E-commerce) tại Việt Nam, các ngành nghề thủ công truyền thống đang đứng trước cơ hội và thách thức lớn. Theo báo cáo của Hiệp hội Thương mại Điện tử Việt Nam (VECOM), tốc độ tăng trưởng thương mại điện tử duy trì ở mức trên 25%/năm, mở ra kênh phân phối chiến lược cho các sản phẩm có giá trị gia tăng cao. Tuy nhiên, các làng nghề truyền thống—điển hình như làng nghề mộc Canh Nậu (Thạch Thất, Hà Nội)—phần lớn vẫn vận hành theo mô hình phân phối truyền thống hoặc phụ thuộc vào việc bán hàng thụ động qua mạng xã hội với nhiều hạn chế cố hữu.
Đồ án tốt nghiệp chuyên ngành Công nghệ phần mềm tại Khoa Công nghệ Thông tin – Trường Đại học Mở Hà Nội với đề tài "Xây dựng website quản lý bán hàng cho cửa hàng đồ gỗ Quy Hà" (tác giả: Đỗ Đăng Định; Giảng viên hướng dẫn: TS. Lương Cao Đông) được triển khai nhằm số hóa toàn diện quy trình kinh doanh và quản lý chuỗi cung ứng bán lẻ đồ gỗ thủ công mỹ nghệ.
+-------------------------------------------------------------------------------+
| CỬA HÀNG ĐỒ GỖ QUY HÀ (LÀNG NGHỀ CANH NẬU) |
+---------------------------------------+---------------------------------------+
| HIỆN TRẠNG THỦ CÔNG | GIẢI PHÁP WEB HÓA (MVC) |
| - Ghi chép sổ sách giấy tờ | - Cơ sở dữ liệu tập trung SQL Server |
| - Rủi ro thất lạc, sai sót tính toán | - Tự động hóa tính toán & báo cáo |
| - Tư vấn thủ công, phạm vi hẹp | - Danh mục trực quan, chuẩn SEO |
| - Quản lý tồn kho rời rạc | - Kiểm soát tồn kho thời gian thực |
+---------------------------------------+---------------------------------------+
Vấn đề thực tiễn và bài toán đặt ra
Cửa hàng Đồ gỗ Quy Hà (Canh Nậu, Thạch Thất, Hà Nội) chuyên sản xuất và kinh doanh các sản phẩm nội thất mỹ nghệ cao cấp (bàn ghế, giường, tủ, đồ thờ). Hoạt động vận hành trước đây tồn tại nhiều bất cập:
- Quản lý thủ công, phân tán: Toàn bộ dữ liệu xuất-nhập-tồn và doanh thu ghi chép bằng sổ sách, dễ dẫn đến sai lệch số liệu và thất thoát thông tin.
- Trải nghiệm mua hàng trực tuyến hạn chế: Giao dịch qua Facebook/Zalo thiếu tính hệ thống, không hỗ trợ tra cứu thông số kỹ thuật chi tiết (chất liệu gỗ, kích thước thực tế, quy cách đóng gói).
- Rào cản niềm tin người tiêu dùng: Kết quả khảo sát thực tế cho thấy 47.1% khách hàng còn e ngại về chất lượng sản phẩm trực tuyến và 20% từng gặp sự cố sai lệch kích thước khi nhận hàng nội thất.
Mục tiêu dự án
- Mục tiêu 1: Xây dựng hệ thống website thương mại điện tử hoàn chỉnh theo kiến trúc MVC, tối ưu hóa trải nghiệm người dùng (UX/UI) chuyên biệt cho ngành nội thất gỗ.
- Mục tiêu 2: Tự động hóa nghiệp vụ quản lý bán hàng: quản lý tài khoản phân quyền (RBAC), quản trị danh mục và sản phẩm đa tầng, quản lý giỏ hàng và xử lý đơn hàng theo luồng trạng thái chuẩn.
- Mục tiêu 3: Thiết kế hệ thống thống kê, phân tích dữ liệu bán hàng và kiểm soát tồn kho theo thời gian thực (Real-time Analytics).
- Mục tiêu 4: Đáp ứng toàn diện các tiêu chuẩn phi chức năng: hiệu năng tải trang dưới 500ms, độ tin cậy cơ sở dữ liệu đạt chuẩn ACID, bảo mật kiểm soát truy cập và cấu trúc chuẩn SEO.
Phạm vi và giới hạn
- Phạm vi: Nghiệp vụ bán lẻ đồ gỗ nội thất B2C, quản trị danh mục, tin tức chuyên ngành làng nghề, phân quyền 3 cấp (Khách hàng, Nhân viên bán hàng/giao vận, Quản trị viên/Chủ cửa hàng).
- Giới hạn: Giai đoạn hiện tại tập trung vào thanh toán COD và chuyển khoản ngân hàng trực tiếp; chưa tích hợp cổng thanh toán quốc tế đa tiền tệ và công nghệ thực tế ảo tăng cường (AR/3D Model Rendering).
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 nghiệm trên mẫu khách hàng mục tiêu cho thấy 34.1% người tiêu dùng sẵn sàng chi trả trên 10 triệu VNĐ cho một món đồ gỗ trực tuyến nếu thông số sản phẩm minh bạch và chính sách hậu mãi rõ ràng.
| Tiêu chí so sánh |
Quản lý thủ công truyền thống |
Bán hàng qua Mạng xã hội |
Website E-Commerce Chuyên biệt (Quy Hà) |
| Quản lý dữ liệu |
Sổ sách giấy, dễ cháy hỏng/thất lạc |
Phân tán trong tin nhắn chat |
Cơ sở dữ liệu quan hệ tập trung (RDBMS) |
| Tìm kiếm & Phân loại |
Không có, phụ thuộc trí nhớ nhân viên |
Tìm kiếm theo hashtag thô sơ |
Bộ lọc đa tiêu chí (giá, loại gỗ, danh mục) |
| Kiểm soát đơn hàng |
Đối soát thủ công cuối ngày |
Dễ sót đơn khi lượng tin nhắn tăng |
Luồng trạng thái đơn hàng tự động |
| Báo cáo doanh thu |
Tính tay mất 2–3 giờ/ngày |
Khó tổng hợp chính xác |
Báo cáo trực quan tức thì (Real-time) |
| Tối ưu SEO / Thương hiệu |
Không hỗ trợ |
Phụ thuộc thuật toán mạng xã hội |
Chuẩn hóa SEO On-page, URL thân thiện |
Phân loại yêu cầu theo mô hình MoSCoW
- Must have (Bắt buộc): Quản lý tài khoản & phân quyền, CRUD sản phẩm đa thuộc tính, giỏ hàng, đặt hàng và cập nhật trạng thái đơn, thống kê doanh thu.
- Should have (Nên có): Đánh giá/bình luận sản phẩm sau trải nghiệm, lọc theo khoảng giá, quản lý tin tức làng nghề, đăng ký nhận tin khuyến mại (Newsletter).
- Could have (Có thể mở rộng): Danh sách sản phẩm yêu thích (Wishlist), theo dõi vị trí giao hàng theo thời gian thực.
- Won't have (Chưa thực hiện): Tích hợp thanh toán tiền điện tử, thử đồ nội thất bằng AR 3D.
Thiết kế hệ thống
Hệ thống được thiết kế theo mô hình 3 lớp (3-Tier Architecture) kết hợp mô hình kiến trúc MVC (Model-View-Controller), đảm bảo nguyên tắc phân tách trách nhiệm (Separation of Concerns):
+-----------------------------------------------------------------------+
| PRESENTATION TIER |
| Client Browser (HTML5, CSS3, JavaScript, Bootstrap 5, AJAX) |
+-----------------------------------+-----------------------------------+
| HTTP / HTTPS (RESTful Requests)
v
+-----------------------------------------------------------------------+
| APPLICATION TIER |
| +--------------------+ +---------------------+ +----------------+ |
| | Controllers |->| Business Logic |->| Data Access | |
| | (Routing & Auth) | | (Cart, Order, Stat) | | (EF Core / ORM)| |
| +--------------------+ +---------------------+ +----------------+ |
+-----------------------------------+-----------------------------------+
| ADO.NET / SQL Driver
v
+-----------------------------------------------------------------------+
| DATA TIER |
| Microsoft SQL Server 2022 (Normalized to 3NF) |
+-----------------------------------------------------------------------+
Technology Stack và phiên bản kỹ thuật
- Backend Framework: ASP.NET Core MVC (.NET 8.0 SDK) / C# 12.
- ORM / Data Access: Entity Framework Core 8.0 (Code-First / Database-First).
- Database Engine: Microsoft SQL Server 2022 Enterprise Edition.
- Frontend Stack: HTML5, CSS3, Bootstrap 5.3.2, jQuery 3.7.1, DataTables, SweetAlert2.
- Web Server: IIS 10.0 / Kestrel Reverse Proxy.
Thiết kế Cơ sở Dữ liệu (Database Schema)
Cơ sở dữ liệu được chuẩn hóa đạt chuẩn 3NF (Third Normal Form), bao gồm các bảng chính: Users, Roles, UserRoles, ProductCategory, Product, ProductImage, Order, OrderDetail, Review, News, Subcribe.
-- DDL Trích đoạn cấu trúc bảng Product và Order (Chuẩn 3NF)
CREATE TABLE ProductCategory (
CategoryID INT IDENTITY(1,1) PRIMARY KEY,
CategoryName NVARCHAR(150) NOT NULL,
Slug VARCHAR(150) UNIQUE NOT NULL,
IsActive BIT DEFAULT 1
);
CREATE TABLE Product (
ProductID INT IDENTITY(1,1) PRIMARY KEY,
CategoryID INT FOREIGN KEY REFERENCES ProductCategory(CategoryID),
ProductName NVARCHAR(250) NOT NULL,
WoodType NVARCHAR(100) NOT NULL, -- Đặc thù ngành đồ gỗ: Gỗ hương, Gỗ gõ, Gỗ lim...
Dimensions NVARCHAR(100) NOT NULL, -- Dài x Rộng x Cao
Price DECIMAL(18,2) NOT NULL CHECK (Price >= 0),
DiscountPrice DECIMAL(18,2) DEFAULT 0,
QuantityInStock INT NOT NULL CHECK (QuantityInStock >= 0),
DetailedDescription NVARCHAR(MAX),
IsFeatured BIT DEFAULT 0,
CreatedAt DATETIME DEFAULT GETDATE()
);
CREATE TABLE [Order] (
OrderID INT IDENTITY(1,1) PRIMARY KEY,
UserID INT FOREIGN KEY REFERENCES Users(UserID),
OrderDate DATETIME DEFAULT GETDATE(),
CustomerName NVARCHAR(150) NOT NULL,
PhoneNumber VARCHAR(15) NOT NULL,
ShippingAddress NVARCHAR(300) NOT NULL,
TotalAmount DECIMAL(18,2) NOT NULL,
OrderStatus INT DEFAULT 1 -- 1: Chờ xử lý, 2: Đang gia công/giao, 3: Đã giao, 4: Hủy
);
CREATE TABLE OrderDetail (
OrderDetailID INT IDENTITY(1,1) PRIMARY KEY,
OrderID INT FOREIGN KEY REFERENCES [Order](OrderID) ON DELETE CASCADE,
ProductID INT FOREIGN KEY REFERENCES Product(ProductID),
Quantity INT NOT NULL CHECK (Quantity > 0),
UnitPrice DECIMAL(18,2) NOT NULL
);
Kiến trúc Bảo mật và Kiểm soát quyền truy cập (RBAC)
- Authentication & Authorization: Triển khai cơ chế Cookie Authentication kết hợp Identity Role-Based Authorization.
- Mã hóa mật khẩu: Mật khẩu người dùng được băm an toàn bằng thuật toán
BCrypt với Salt tự động (Work Factor = 12).
- Phòng chống tấn công: Tích hợp
[ValidateAntiForgeryToken] cho toàn bộ biểu mẫu HTTP POST, sử dụng Parameterized Queries qua EF Core chống triệt để SQL Injection, mã hóa đầu ra chống XSS (Cross-Site Scripting).
Methodology
Dự án áp dụng mô hình phát triển phần mềm Agile/Scrum rút gọn kết hợp kiểm thử theo từng giai đoạn (Iterative Model) trong thời gian 16 tuần:
| Giai đoạn (Milestone) |
Thời gian |
Nội dung công việc |
Sản phẩm bàn giao (Deliverables) |
| Sprint 1: Khảo sát & Phân tích |
Tuần 1 – 4 |
Khảo sát cửa hàng Canh Nậu, lập Google Form, đặc tả DFD/ERD |
Bản đặc tả SRS, tài liệu thiết kế DFD/ERD |
| Sprint 2: Thiết kế & CSDL |
Tuần 5 – 8 |
Thiết kế giao diện Figma, sinh DDL, chuẩn hóa CSDL 3NF |
Cơ sở dữ liệu SQL Server, Wireframe UI |
| Sprint 3: Xây dựng Module cốt lõi |
Tuần 9 – 12 |
Lập trình Backend MVC, CRUD sản phẩm, Giỏ hàng, Đơn hàng |
Source code các module nghiệp vụ hoàn chỉnh |
| Sprint 4: Tích hợp & Kiểm thử |
Tuần 13 – 16 |
Kiểm thử chức năng, tối ưu hóa tốc độ truy vấn, triển khai IIS |
Báo cáo kiểm thử UAT, Website hoàn chỉnh |
Implementation và kết quả
Development process
Quá trình phát triển tập trung vào việc hiện thực hóa các giải thuật xử lý giỏ hàng bất đồng bộ (AJAX Shopping Cart) và quản lý giao dịch đặt hàng đảm bảo tính toàn vẹn dữ liệu (ACID Transaction).
// Trích đoạn Implementation: Xử lý Đặt hàng an toàn sử dụng Database Transaction trong C#
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Checkout(CheckoutViewModel model)
{
if (!ModelState.IsValid) return View(model);
var cart = HttpContext.Session.GetJson<List<CartItem>>("CartSession") ?? new List<CartItem>();
if (!cart.Any())
{
ModelState.AddModelError("", "Giỏ hàng rỗng, không thể tạo đơn.");
return View(model);
}
using var transaction = await _context.Database.BeginTransactionAsync();
try
{
var order = new Order
{
UserID = User.Identity.IsAuthenticated ? GetCurrentUserId() : (int?)null,
CustomerName = model.FullName,
PhoneNumber = model.PhoneNumber,
ShippingAddress = model.Address,
TotalAmount = cart.Sum(item => item.Quantity * item.Price),
OrderStatus = 1, // Chờ xử lý
OrderDate = DateTime.Now
};
_context.Orders.Add(order);
await _context.SaveChangesAsync();
foreach (var item in cart)
{
var product = await _context.Products.FindAsync(item.ProductID);
if (product == null || product.QuantityInStock < item.Quantity)
{
throw new InvalidOperationException($"Sản phẩm {item.ProductName} không đủ tồn kho.");
}
// Trừ số lượng tồn kho theo thời gian thực
product.QuantityInStock -= item.Quantity;
var orderDetail = new OrderDetail
{
OrderID = order.OrderID,
ProductID = item.ProductID,
Quantity = item.Quantity,
UnitPrice = item.Price
};
_context.OrderDetails.Add(orderDetail);
}
await _context.SaveChangesAsync();
await transaction.CommitAsync();
HttpContext.Session.Remove("CartSession");
return RedirectToAction("OrderSuccess", new { id = order.OrderID });
}
catch (Exception ex)
{
await transaction.RollbackAsync();
_logger.LogError(ex, "Lỗi xảy ra trong quá trình xử lý đơn hàng.");
ModelState.AddModelError("", "Giao dịch không thành công: " + ex.Message);
return View(model);
}
}
Testing và validation
Hệ thống được kiểm thử qua 3 cấp độ: Unit Testing (kiểm thử đơn vị các hàm logic tính toán giá tiền), Integration Testing (kiểm thử tích hợp luồng Đặt hàng - Giảm tồn kho), và User Acceptance Testing (UAT) trên mẫu người dùng thật.
+-------------------------------------------------------------------------------+
| BÁO CÁO KIỂM THỬ VÀ ĐÁNH GIÁ HIỆU NĂNG |
+-----------------------+-----------------------+-------------------------------+
| LOẠI KIỂM THỬ | PHẠM VI / ĐỐI TƯỢNG | KẾT QUẢ ĐẠT ĐƯỢC |
+-----------------------+-----------------------+-------------------------------+
| Unit Testing | Logic Cart, Discount | 38/38 Test Cases Passed (100%)|
| Integration Testing | Order Checkout Flow | 24/24 Test Cases Passed (100%)|
| UAT (Người dùng thật) | 25 Người dùng thử | 92.8% Đánh giá hài lòng |
| Performance Benchmark| Apache JMeter (100 CC)| Phản hồi TB: 285ms, 0% lỗi |
| SEO / Audit | Google Lighthouse | Performance: 94, SEO: 98/100 |
+-----------------------+-----------------------+-------------------------------+
Kết quả đạt được
Hệ thống đã hoàn thành 100% các yêu cầu chức năng (F1 đến F25) và phi chức năng đã đề ra trong đề cương:
- Module Khách hàng: Giao diện hiển thị sản phẩm trực quan, lọc nhanh theo chất liệu gỗ, hỗ trợ giỏ hàng AJAX không cần tải lại trang, tra cứu lịch sử mua hàng minh bạch.
- Module Quản trị (Admin Dashboard): Bảng điều khiển trực quan hiển thị biểu đồ doanh thu theo ngày/tháng/năm, danh sách cảnh báo sản phẩm sắp hết hàng trong kho, phân quyền nghiêm ngặt giữa nhân viên bán hàng và nhân viên giao vận.
- Độ chính xác dữ liệu: Loại bỏ 100% lỗi sai sót số liệu tính toán doanh thu so với việc ghi chép sổ sách thủ công trước đây.
Đổi mới và đóng góp
- Chuẩn hóa thông số kỹ thuật đặc thù ngành nội thất gỗ: Khác với các website thương mại điện tử thông thường, hệ thống tích hợp bộ thuộc tính dữ liệu đặc thù cho đồ gỗ mỹ nghệ (loại chất liệu gỗ tự nhiên: Gỗ Hương, Gỗ Gụ, Gỗ Mun; quy cách hoàn thiện: phun sơn PU, đánh vecni; kích thước phủ bì chi tiết). Điều này giải quyết triệt để nỗi lo ngại của 20% khách hàng về sự cố sai lệch kích thước và chất liệu.
- Quy trình kết nối khép kín giữa Xưởng mộc - Bán hàng - Giao vận: Thiết lập luồng trạng thái đơn hàng phản ánh chính xác quy trình vận hành làng nghề truyền thống: từ tiếp nhận đơn -> kiểm tra tồn xưởng -> gia công hoàn thiện -> giao hàng và lắp đặt tại nhà khách hàng -> kích hoạt bảo hành.
- Cải thiện hiệu quả vận hành thực tế:
- Giảm 65% thời gian tiếp nhận và xử lý đơn hàng so với hình thức nhắn tin qua mạng xã hội.
- Giảm 100% hiện tượng nhầm lẫn đơn hoặc thất lạc hóa đơn bán lẻ.
- Tiết kiệm 80% thời gian tổng hợp báo cáo tài chính, doanh thu định kỳ cho chủ xưởng.
Ứng dụng thực tế và triển khai
Kịch bản sử dụng thực tế (Real-World Use Cases)
- Kịch bản 1 (Khách hàng từ xa): Khách hàng tại Đà Nẵng truy cập website, xem chi tiết bộ bàn ghế gỗ gụ Canh Nậu với đầy đủ hình ảnh cận cảnh vân gỗ, thông số kích thước 1m8 x 2m. Khách hàng thêm vào giỏ, nhập thông tin giao hàng và nhận mã tra cứu tiến độ đơn hàng tự động qua hệ thống.
- Kịch bản 2 (Chủ xưởng điều hành): Chủ cửa hàng truy cập Dashboard trên máy tính bảng, theo dõi số lượng giường gỗ sồi đã bán trong tuần, nhận cảnh báo tồn kho dưới 2 sản phẩm để kịp thời phân công thợ mộc trong làng gia công sản xuất lô mới.
+-------------------------------------------------------------------------------+
| LỘ TRÌNH TRIỂN KHAI VÀ CHI PHÍ (ROI) |
+-------------------------------------------------------------------------------+
| 1. Triển khai Hạ tầng: Web Hosting / VPS Linux (Chi phí: 1.5 - 2.5 tr/năm) |
| 2. Cấu hình Tên miền & SSL: Domain .vn + Cloudflare SSL (Chi phí: 800k/năm) |
| 3. Đào tạo nhân viên: Chuyển giao quy trình nhập liệu trong 3 ngày |
| 4. Điểm hòa vốn (ROI): Dự kiến hoàn vốn đầu tư sau 4-6 tháng nhờ tăng trưởng |
| doanh thu trực tuyến và cắt giảm chi phí nhân sự ghi chép sổ sách. |
+-------------------------------------------------------------------------------+
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Hệ thống chưa tích hợp cổng thanh toán trực tuyến qua VNPAY/MoMo/VietQR tự động xác nhận số dư mà vẫn cần nhân viên xác nhận thủ công đối với đơn hàng chuyển khoản.
- Chưa có module tính cước vận chuyển tự động dựa trên khoảng cách địa lý và khối lượng hàng hóa cồng kềnh (đặc thù hàng nội thất tải trọng lớn).
Hướng phát triển trong tương lai
- Tích hợp WebGL / 3D Viewer: Cho phép người dùng xoay 360 độ và phóng to chi tiết vân gỗ của sản phẩm trực tiếp trên trình duyệt.
- Tích hợp Chatbot AI tư vấn phong thủy: Hỗ trợ người dùng tra cứu kích thước đồ gỗ theo thước Lỗ Ban và tư vấn hướng kê bàn thờ, giường ngủ hợp tuổi gia chủ.
- Xây dựng Ứng dụng Di động (Mobile App): Sử dụng Flutter hoặc React Native cho đội ngũ nhân viên giao hàng cập nhật trạng thái lắp đặt và biên bản nghiệm thu bằng hình ảnh trực tiếp.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-------------------+-----------------------------------------------------------+
| Sinh viên CNTT | Tham khảo cấu trúc đồ án tốt nghiệp chuẩn mực ngành CNPM, |
| | từ khâu khảo sát thực tế đến phân tích DFD, thiết kế ERD |
+-------------------+-----------------------------------------------------------+
| Lập trình viên | Tiếp cận source code mẫu chuẩn MVC, cách xử lý Database |
| | Transaction trong E-Commerce, kỹ thuật tối ưu SEO on-page |
+-------------------+-----------------------------------------------------------+
| Chủ cửa hàng & SME| Nhận chuyển giao mô hình chuyển đổi số tinh gọn, chi phí |
| | thấp, thay thế hoàn toàn sổ sách giấy tờ cho làng nghề |
+-------------------+-----------------------------------------------------------+
| Khách hàng mua sắm| Trải nghiệm mua sắm đồ gỗ minh bạch, thông tin rõ ràng, |
| | an tâm về kích thước và bảo hành hậu mãi |
+-------------------+-----------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống có thể vận hành mượt mà trên môi trường máy chủ ảo (VPS) cấu hình tối thiểu: CPU 2 Cores, RAM 2GB, 30GB SSD lưu trữ, hệ điều hành Windows Server 2019/2022 (chạy IIS) hoặc Ubuntu Server 22.04 LTS (chạy Kestrel Reverse Proxy qua Nginx) cùng SQL Server 2019/2022 Express Edition (miễn phí bản quyền).
2. Hệ thống xử lý bài toán nghẽn tải (Concurrency) khi có nhiều đơn hàng cùng lúc như thế nào?
Hệ thống sử dụng cơ chế Asynchronous Programming (async/await) xuyên suốt từ Controller đến Database Layer, kết hợp cơ chế Database Locking ở mức dòng (Row-level lock) trong các Transaction xử lý trừ kho. Nhờ đó, hiện tượng Overselling (bán quá số lượng tồn) được loại bỏ triệt để.
3. Website có thể tích hợp với các phần mềm kế toán hoặc giao vận bên ngoài không?
Hoàn toàn có thể. Do được thiết kế theo cấu trúc tách lớp và định dạng dữ liệu chuẩn, hệ thống sẵn sàng mở rộng các RESTful API endpoints để kết nối với phần mềm quản lý kho (KiotViet, Sapo) hoặc các đơn vị vận chuyển hàng cồng kềnh (Viettel Post, Giao Hàng Nhanh).
4. Dữ liệu kinh doanh của cửa hàng được sao lưu và bảo vệ ra sao?
Cơ sở dữ liệu SQL Server được thiết lập lịch trình tự động Backup (Full Backup định kỳ hàng tuần và Differential Backup hàng ngày). Đồng thời, dữ liệu mật khẩu người dùng được băm một chiều qua BCrypt, ngăn ngừa lộ lọt thông tin ngay cả khi xảy ra sự cố truy cập trái phép vào tệp tin cơ sở dữ liệu.
5. Chi phí duy trì hệ thống hàng năm ước tính khoảng bao nhiêu?
Chi phí vận hành định kỳ rất tiết kiệm, bao gồm: phí duy trì tên miền (.vn khoảng 450.000 VNĐ/năm), dịch vụ lưu trữ Web Hosting/Cloud VPS (khoảng 1.200.000 – 2.000.000 VNĐ/năm). Hệ thống không phát sinh phí bản quyền phần mềm định kỳ nhờ tận dụng triệt để nền tảng mã nguồn mở và phiên bản miễn phí của SQL Server Express.
Kết luận
Đồ án tốt nghiệp "Xây dựng website quản lý bán hàng cho cửa hàng đồ gỗ Quy Hà" của tác giả Đỗ Đăng Định đã 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. Bằng việc kết hợp chặt chẽ giữa khảo sát thực địa làng nghề Canh Nậu và phương pháp luận kỹ thuật phần mềm chuẩn chỉ (DFD, ERD 3NF, mô hình MVC), công trình không chỉ cung cấp một giải pháp số hóa toàn diện cho cửa hàng Đồ gỗ Quy Hà mà còn đóng vai trò là một tài liệu tham khảo giá trị cho sinh viên ngành Công nghệ phần mềm. Hệ thống minh chứng rõ nét khả năng ứng dụng công nghệ thông tin để nâng cao giá trị cạnh tranh cho các làng nghề thủ công truyền thống Việt Nam trong kỷ nguyên kinh tế số.