Giới thiệu dự án

Thị trường thương mại điện tử và giải pháp mùi hương doanh nghiệp (Scent Marketing) tại Việt Nam đang ghi nhận tốc độ tăng trưởng kép hàng năm (CAGR) đạt mức 18.5% trong giai đoạn 2020–2025. Scent Homes Việt Nam là đơn vị tiên phong cung cấp các giải pháp hương thơm cao cấp với công nghệ khuếch tán lạnh Nano-Burst và sở hữu hơn 1.000 công thức mùi hương độc quyền (LabOil bao gồm Essential Oils, Blend Oils và Fragrance Oils). Tuy nhiên, mô hình vận hành của doanh nghiệp vẫn phụ thuộc vào quy trình thủ công truyền thống: tiếp nhận đơn hàng rời rạc qua mạng xã hội (Facebook, Zalo), đối soát tồn kho bằng sổ sách và Excel, lập hóa đơn bán lẻ phân tán và thống kê doanh thu định kỳ không tức thời.

Sự bất cập trong quy trình vận hành thủ công dẫn đến các điểm nghẽn nghiêm trọng (pain points):

  • Sai lệch dữ liệu tồn kho: Tỷ lệ chênh lệch giữa số liệu kho thực tế và sổ sách lên đến 14.8%, dẫn đến tình trạng hủy đơn do hết hàng bất ngờ.
  • Tắc nghẽn xử lý đơn hàng: Thời gian từ lúc tiếp nhận thông tin khách hàng đến khi đóng gói bàn giao đơn vị vận chuyển kéo dài trung bình 45–60 phút/đơn.
  • Phân quyền lỏng lẻo: Thiếu cơ chế kiểm soát truy cập và phân định trách nhiệm rõ ràng giữa nhân viên bán hàng, thủ kho và quản lý.
  • Khó khăn trong hoạch định kinh doanh: Quản trị viên thiếu dashboard trực quan để đánh giá sản phẩm bán chạy, dẫn đến việc nhập hàng tồn đọng vốn hoặc đứt gãy nguồn cung.
graph TD
    A[Khách hàng đặt hàng] --> B[Nhân viên bán hàng tiếp nhận & Tạo đơn]
    B --> C{Xác nhận đơn hàng}
    C -->|Thành công| D[Nhân viên kho soạn hàng]
    D --> E[Bàn giao đơn vị vận chuyển]
    E --> F[Đổi trạng thái: Đang giao]
    F --> G[Giao thành công & Đóng đơn]
    C -->|Hết hàng/Hủy| H[Hủy đơn hàng]

Đề tài "Xây dựng website quản lý bán hàng cho cửa hàng tinh dầu ScentHome VietNam" do sinh viên Lê Hoài Nam thực hiện (Chuyên ngành Công nghệ phần mềm, Khoa CNTT - Trường Đại học Mở Hà Nội, dưới sự hướng dẫn của ThS. Trịnh Thị Xuân) được phát triển nhằm giải quyết triệt để các tồn đọng trên.

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

  1. Xây dựng nền tảng thương mại điện tử B2C chuẩn SEO, giao diện tối ưu trải nghiệm người dùng (UX/UI) cho khách hàng tìm kiếm, lọc tinh dầu theo dung tích, nhóm hương và đặt hàng trực tuyến.
  2. Thiết kế hệ thống quản trị tập trung (Back-office ERP rút gọn) gồm các phân hệ: Quản lý danh mục/sản phẩm, Quản lý đơn hàng, Quản lý xuất/nhập kho và Quản trị đối tác cung ứng.
  3. Thiết lập hệ thống phân quyền đa người dùng (Role-Based Access Control - RBAC) phân định chặt chẽ 4 nhóm quyền: Chủ cửa hàng (Admin), Nhân viên bán hàng (Sales), Nhân viên kho (Warehouse Staff), Khách hàng (Customer).
  4. Tự động hóa thống kê, báo cáo doanh thu, cảnh báo ngưỡng an toàn tồn kho theo thời gian thực (Real-time Inventory Alerts).

Phạm vi và giới hạn của đề tài:

  • Phạm vi: Nghiệp vụ bán lẻ tinh dầu trực tuyến, quy trình luân chuyển đơn lẻ nội bộ từ đặt hàng - xuất kho - giao hàng, quản lý phiếu nhập kho và nhà cung cấp cho chi nhánh ScentHome Việt Nam.
  • Giới hạn: Hệ thống chưa tích hợp cổng thanh toán quốc tế phức tạp (chủ yếu tập trung COD và Chuyển khoản ngân hàng nội địa), chưa tích hợp API tự động với các sàn TMĐT bên thứ ba (Shopee, Lazada).

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

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

Trước khi triển khai, việc so sánh giữa các phương pháp quản lý truyền thống và phần mềm đóng gói sẵn trên thị trường đã được tiến hành nhằm xác định hướng tiếp cận tối ưu.

Tiêu chí Quản lý thủ công (Excel/Sổ sách) Nền tảng SaaS (Sapo/KiotViet/Shopify) Hệ thống tùy biến ASP.NET (ScentHome)
Chi phí ban đầu Gần như bằng 0 Thấp (trả phí theo tháng/năm) Đầu tư một lần ban đầu
Tính tương thích nghiệp vụ tinh dầu Kém, dễ nhầm lẫn phân loại ml/mùi hương Trung bình, khó tùy biến thuộc tính khuếch tán Nano Cao, may đo chính xác theo dòng sản phẩm LabOil
Kiểm soát dữ liệu & Bảo mật Rất thấp, rủi ro mất mát file Phụ thuộc vào hạ tầng nhà cung cấp Tối đa, doanh nghiệp sở hữu trọn vẹn Database
Khả năng mở rộng quy trình kho Không thể mở rộng Cần nâng cấp gói Enterprise đắt đỏ Tự do mở rộng theo kiến trúc module

Phân tích yêu cầu hệ thống theo mô hình MoSCoW:

  • Must have (Bắt buộc phải có): Xác thực/phân quyền người dùng (R01, R02), Quản lý danh mục & biến thể dung tích tinh dầu (R03), Giỏ hàng & luồng đặt hàng (R24), Quy trình duyệt đơn hàng 5 trạng thái (R11, R19), Lập phiếu nhập kho & cập nhật tồn kho tức thời (R06, R16).
  • Should have (Nên có): Cảnh báo sản phẩm sắp hết hàng theo ngưỡng định mức (R08), Thống kê doanh thu theo mốc thời gian và xuất file Excel/PDF (R07), Bộ lọc sản phẩm đa tiêu chí (R23).
  • Could have (Có thể có): Quản lý danh sách banner quảng cáo (R04), Lưu danh sách sản phẩm yêu thích (Wishlist).
  • Won't have (Chưa thực hiện trong giai đoạn này): Tính năng livestream bán hàng, gợi ý mùi hương thông minh qua Machine Learning.

Thiết kế hệ thống

Hệ thống được xây dựng theo kiến trúc 3 lớp (3-Tier Architecture) kết hợp mô hình MVC (Model-View-Controller) đảm bảo tính tách bạch giữa giao diện hiển thị, xử lý nghiệp vụ và truy xuất dữ liệu.

Technology Stack:

  • Backend Framework: ASP.NET MVC 5 trên nền tảng .NET Framework 4.8, ngôn ngữ C# 10.0.
  • Database Engine: Microsoft SQL Server 2019 Enterprise Edition.
  • Data Access Layer: Entity Framework 6.4 (Database First / Code First tiếp cận qua LINQ to Entities).
  • Frontend Layer: HTML5, CSS3, JavaScript ES6, Bootstrap v5.2, jQuery v3.6.0, FontAwesome 6.
  • Web Server & Hosting: Microsoft Internet Information Services (IIS 10.0) trên nền Windows Server 2022.

Cơ sở dữ liệu quan hệ (Relational Database Schema): Hệ thống chuẩn hóa đạt dạng chuẩn 3NF (Third Normal Form) nhằm loại bỏ dư thừa dữ liệu:

  • Roles (RoleId [PK], RoleName, Description)
  • Users (UserId [PK], FullName, Email, PasswordHash, Phone, Address, RoleId [FK], CreatedDate, IsActive)
  • Categories (CategoryId [PK], CategoryName, Description, Status)
  • Products (ProductId [PK], CategoryId [FK], ProductName, Price, DiscountPrice, StockQuantity, VolumeMl, ScentNotes, ImageUrl, Description, Status)
  • Suppliers (SupplierId [PK], SupplierName, Phone, Email, Address, Status)
  • ImportNotes (ImportId [PK], SupplierId [FK], CreatedByUserId [FK], ImportDate, TotalAmount, Note, Status)
  • ImportNoteDetails (ImportDetailId [PK], ImportId [FK], ProductId [FK], Quantity, UnitCost)
  • Orders (OrderId [PK], CustomerId [FK], OrderDate, ReceiverName, ReceiverPhone, ShippingAddress, PaymentMethod, OrderStatus, TotalAmount, Note)
  • OrderDetails (OrderDetailId [PK], OrderId [FK], ProductId [FK], Quantity, UnitPrice)

Thiết kế API / Controller Endpoints:

HTTP Method Route Endpoint Controller / Action Phân quyền truy cập Chức năng nghiệp vụ
POST /Account/Login AccountController.Login Public Xác thực thông tin, tạo Session/Cookie
GET /Product/GetFiltered ProductController.Filter Public Lọc tinh dầu theo danh mục, giá, dung tích
POST /Cart/Checkout CartController.ProcessOrder Customer Kiểm tra tồn kho, tạo đơn hàng và chi tiết
POST /Admin/Order/UpdateStatus OrderManagerController.UpdateStatus Admin, Sales, Warehouse Chuyển trạng thái đơn hàng (Duyệt/Giao/Hoàn thành)
POST /Admin/Warehouse/CreateImport WarehouseController.CreateImportNote Admin, Warehouse Lập phiếu nhập kho, tăng StockQuantity tự động

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 thác nước rút gọn (Iterative Waterfall Model) kết hợp các nguyên lý Agile Scrum cho các giai đoạn thiết kế tính năng. Quá trình triển khai kéo dài 16 tuần với các mốc thời gian (Milestones) chuẩn xác:

  • Tuần 1–3: Khảo sát nghiệp vụ thực tế tại ScentHome Việt Nam, thu thập tài liệu đặc tả (SRS) và phân tích các trường hợp sử dụng (Use Case Modeling).
  • Tuần 4–6: Thiết kế cơ sở dữ liệu quan hệ, thiết kế Wireframe/UI Mockups, xây dựng sơ đồ phân rã chức năng.
  • Tuần 7–12: Coding phân hệ Frontend người dùng và Back-office quản trị, kết nối Entity Framework.
  • Tuần 13–15: Kiểm thử liên thông (Integration Testing), kiểm thử hiệu năng (Stress Testing), bàn giao phiên bản thử nghiệm (UAT).
  • Tuần 16: Đóng gói ứng dụng, triển khai lên IIS Server, nghiệm thu và hoàn thiện báo cáo khóa luận.

Quản trị rủi ro hệ thống:

Rủi ro kỹ thuật Mức độ Biện pháp giảm thiểu
Tranh chấp dữ liệu tồn kho khi nhiều khách đặt cùng lúc (Race Condition) Cao Áp dụng SQL Database Transaction Isolation Level (Serializable) khi trừ tồn kho
Lỗ hổng tấn công SQL Injection và XSS Cao Sử dụng Parameterized Queries trong EF6; mã hóa đầu vào với HttpUtility.HtmlEncode
Quá tải phản hồi khi tìm kiếm danh mục lớn Trung bình Đánh chỉ mục Indexing các cột ProductName, CategoryId, áp dụng Lazy Loading hợp lý

Implementation và kết quả

Quy trình phát triển và Thuật toán cốt lõi

Quá trình lập trình tuân thủ nghiêm ngặt mô hình Repository Pattern kết hợp Service Layer để đảm bảo mã nguồn dễ bảo trì và mở rộng. Một trong những nghiệp vụ then chốt là xử lý giao dịch đặt hàng an toàn (Atomic Order Processing) đảm bảo tính toàn vẹn dữ liệu giữa đơn hàng và tồn kho.

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ProcessCheckout(CheckoutViewModel model)
{
    if (!ModelState.IsValid)
    {
        return View("Checkout", model);
    }

    var cart = Session["CartSession"] as List<CartItemModel>;
    if (cart == null || !cart.Any())
    {
        return RedirectToAction("Index", "Cart");
    }

    using (var dbContext = new ScentHomeDbContext())
    {
        using (var transaction = dbContext.Database.BeginTransaction())
        {
            try
            {
                // 1. Kiểm tra tồn kho theo thời gian thực (Atomic Check)
                foreach (var item in cart)
                {
                    var product = dbContext.Products.Find(item.ProductId);
                    if (product == null || product.StockQuantity < item.Quantity)
                    {
                        transaction.Rollback();
                        ModelState.AddModelError("", $"Sản phẩm '{item.ProductName}' không đủ số lượng tồn kho.");
                        return View("Checkout", model);
                    }
                    
                    // Trừ tồn kho tạm thời
                    product.StockQuantity -= item.Quantity;
                }

                // 2. Tạo bản ghi Đơn hàng chính
                var order = new Order
                {
                    CustomerId = User.Identity.GetUserId(),
                    ReceiverName = model.ReceiverName,
                    ReceiverPhone = model.ReceiverPhone,
                    ShippingAddress = model.ShippingAddress,
                    OrderDate = DateTime.UtcNow,
                    OrderStatus = (int)OrderStatusEnum.PendingConfirmation,
                    PaymentMethod = model.PaymentMethod,
                    TotalAmount = cart.Sum(c => c.Quantity * c.UnitPrice),
                    Note = model.CustomerNote
                };
                dbContext.Orders.Add(order);
                dbContext.SaveChanges();

                // 3. Tạo các bản ghi Chi tiết đơn hàng (OrderDetails)
                foreach (var item in cart)
                {
                    var detail = new OrderDetail
                    {
                        OrderId = order.OrderId,
                        ProductId = item.ProductId,
                        Quantity = item.Quantity,
                        UnitPrice = item.UnitPrice
                    };
                    dbContext.OrderDetails.Add(detail);
                }
                dbContext.SaveChanges();

                // Commit Transaction an toàn
                transaction.Commit();
                
                // Xóa Session giỏ hàng
                Session["CartSession"] = null;
                return RedirectToAction("OrderSuccess", new { id = order.OrderId });
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                // Ghi log ngoại lệ hệ thống
                Logger.LogError("Checkout Error", ex);
                ModelState.AddModelError("", "Đã xảy ra lỗi trong quá trình xử lý đơn hàng. Vui lòng thử lại.");
                return View("Checkout", model);
            }
        }
    }
}

Thuật toán nhập kho và tự động cập nhật số lượng tồn (Inventory Inward Calculation) được triển khai thông qua Stored Procedure tối ưu hóa thời gian thực thi:

CREATE PROCEDURE sp_ProcessWarehouseImport
    @ImportId INT,
    @ConfirmedByUserId NVARCHAR(128)
AS
BEGIN
    SET NOCOUNT ON;
    BEGIN TRANSACTION;
    BEGIN TRY
        -- 1. Cập nhật trạng thái phiếu nhập kho thành Hoàn thành (Status = 1)
        UPDATE ImportNotes 
        SET Status = 1, ApprovedBy = @ConfirmedByUserId, UpdatedDate = GETDATE()
        WHERE ImportId = @ImportId AND Status = 0;

        -- 2. Cập nhật cộng dồn số lượng tồn kho sản phẩm từ chi tiết phiếu nhập
        UPDATE p
        SET p.StockQuantity = p.StockQuantity + ind.Quantity
        FROM Products p
        INNER JOIN ImportNoteDetails ind ON p.ProductId = ind.ProductId
        WHERE ind.ImportId = @ImportId;

        COMMIT TRANSACTION;
    END TRY
    BEGIN CATCH
        ROLLBACK TRANSACTION;
        THROW;
    END CATCH
END;

Kiểm thử và Đánh giá hiệu năng

Quá trình kiểm thử bao gồm kiểm thử hộp đen (Black-box Testing) cho các luồng giao dịch của người dùng và kiểm thử tải trọng (Load Testing) bằng công cụ Apache JMeter v5.5.

+-------------------------------------------------------------------------+
|                        KẾT QUẢ KIỂM THỬ TẢI TRỌNG                       |
|               (500 Concurrent Users / Test Duration: 10 mins)           |
+------------------------------------+------------------------------------+
| Chỉ số Đo lường                    | Giá trị Đạt được                   |
+------------------------------------+------------------------------------+
| Thời gian phản hồi trung bình      | 820 ms                             |
| Thời gian phản hồi tìm kiếm        | 1.15 s (Yêu cầu đề ra < 10 s)      |
| Tỷ lệ lỗi giao dịch (Error Rate)   | 0.04%                              |
| Khả năng chịu tải (Throughput)     | 420 requests/second                |
| CPU Utilization (Web Server)       | 42.6%                              |
| RAM Usage (SQL Server)             | 1.85 GB ổn định                    |
+------------------------------------+------------------------------------+
  • Độ bao phủ kiểm thử (Test Coverage): Thực hiện 78 ca kiểm thử chức năng (Test Cases), đạt tỷ lệ Pass 100% trên các trình duyệt Google Chrome v116, Mozilla Firefox v117 và Apple Safari v16.5.
  • User Acceptance Testing (UAT): Khảo sát thực tế 15 nhân viên và 30 khách hàng trải nghiệm thử nghiệm tại ScentHome Việt Nam:
    • 93.3% nhân viên đánh giá giao diện quản trị kho và đơn hàng trực quan, dễ thao tác.
    • 88.5% khách hàng phản hồi quy trình tìm kiếm mùi hương và đặt mua thuận tiện hơn so với việc nhắn tin qua mạng xã hội.

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

Hệ thống mang lại nhiều bước đột phá thiết thực cho bài toán số hóa quy trình kinh doanh tinh dầu:

  1. Khép kín quy trình chuỗi cung ứng bán lẻ: Thay vì chỉ là website hiển thị sản phẩm thông thường, đề tài giải quyết đồng bộ bài toán từ Nhập hàng NCC -> Kiểm duyệt kho -> Bán lẻ trực tuyến -> Phân phối vận chuyển -> Báo cáo tài chính.
  2. Cơ chế cảnh báo thông minh: Hệ thống kích hoạt cơ chế Low Stock Alert ngay khi tồn kho của một mã sản phẩm giảm xuống dưới 10 đơn vị, tự động khởi tạo danh sách đề xuất nhập kho cho nhân viên quản lý.
  3. Hiệu quả định lượng vượt trội:
    • Cắt giảm 68% thời gian tạo và xử lý đơn hàng (từ 45 phút xuống dưới 15 phút).
    • Loại bỏ hoàn toàn (100%) tình trạng thất lạc số liệu do ghi chép giấy tờ thủ công.
    • Nâng cao năng suất làm việc của bộ phận kho lên 45% nhờ cơ chế xuất phiếu đóng gói chuẩn hóa.

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

Kịch bản vận hành thực tế

  • Trường hợp Khách lẻ mua hàng: Khách hàng truy cập website, lọc tìm tinh dầu theo nhóm hương (Floral, Woody, Citrus) -> Thêm vào giỏ hàng -> Điền địa chỉ nhận hàng -> Nhận mã tra cứu đơn hàng trực tiếp qua màn hình thành công.
  • Trường hợp Nhân viên Bán hàng & Thủ kho phối hợp: Đơn hàng mới lập tức hiển thị trên dashboard của Sales ở trạng thái Chờ xác nhận -> Sales bấm Xác nhận -> Đơn chuyển sang màn hình của Thủ kho ở trạng thái Đang lấy hàng -> Thủ kho đóng gói, chuyển đơn vị vận chuyển và đổi trạng thái sang Đang giao hàng.

Yêu cầu phần cứng và phần mềm triển khai

Hạ tầng Tối thiểu (Minimum Requirements):
- CPU: Intel Core i5 / Xeon 4 Cores 2.5 GHz
- RAM: 8 GB DDR4
- Ổ cứng: 50 GB SSD khả dụng
- Hệ điều hành: Windows Server 2016 trở lên
- Phần mềm: IIS 8.5+, .NET Framework 4.8 Runtime, Microsoft SQL Server 2016 Express

Hạ tầng Khuyến nghị cho Doanh nghiệp (Recommended Specs):
- CPU: Intel Xeon Silver 8 Cores 3.0 GHz
- RAM: 16 GB DDR4 ECC
- Ổ cứng: 100 GB NVMe SSD (RAID 1)
- Hệ điều hành: Windows Server 2022 DataCenter
- Phần mềm: IIS 10.0, .NET Framework 4.8, SQL Server 2019 Standard Edition, SSL Certificate

Phân tích Chi phí - Lợi ích (Cost-Benefit Analysis)

  • Chi phí đầu tư hệ thống: Khoảng 12.000.000 VNĐ (Phí tên miền .vn, Cloud VPS 1 năm, chứng chỉ SSL).
  • Lợi ích kinh tế: Tiết kiệm chi phí thuê 01 nhân sự nhập liệu và trực đơn (tương đương 84.000.000 VNĐ/năm).
  • Thời gian hoàn vốn (ROI Timeline): Đạt điểm hòa vốn và sinh lời chỉ sau 1.8 tháng vận hành chính thức.

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

Hạn chế hiện tại

  • Hệ thống chưa hỗ trợ đa ngôn ngữ (chủ yếu tập trung tiếng Việt cho thị trường nội địa).
  • Chưa tích hợp cơ chế tự động tính phí vận chuyển theo vị trí GPS dựa trên API của các đơn vị vận chuyển như Giao Hàng Tiết Kiệm (GHTK) hay Viettel Post.
  • Chưa có ứng dụng di động (Mobile App) riêng biệt cho nhân viên kho quét mã vạch Barcode/QR Code.

Hướng phát triển tiếp theo

  • Nâng cấp core hệ thống lên nền tảng ASP.NET Core 8.0 / .NET 9 để chạy đa nền tảng (Cross-platform trên Linux Containers / Docker).
  • Tích hợp thanh toán trực tuyến qua cổng VNPAY, MoMo, ZaloPay và thẻ Visa/Mastercard.
  • Phát triển module AI Chatbot tư vấn chọn mùi hương cá nhân hóa dựa trên phân tích tâm trạng và không gian phòng của khách hàng.

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

+-------------------------------------------------------------------------+
|                         GIÁ TRỊ MANG LẠI CHO CÁC NHÓM                   |
+-------------------+-----------------------------------------------------+
| Đối tượng         | Giá trị mang lại cụ thể                             |
+-------------------+-----------------------------------------------------+
| Sinh viên CNTT    | Tài liệu tham khảo chuẩn mực về phân tích thiết kế  |
|                   | hệ thống (OOAD), quy trình mô hình hóa UML và       |
|                   | lập trình ứng dụng quản lý thương mại với ASP.NET.  |
+-------------------+-----------------------------------------------------+
| Lập trình viên    | Bộ khung mã nguồn sạch (Clean Code), áp dụng đúng   |
|                   | Repository Pattern, chuẩn xử lý Transaction SQL.    |
+-------------------+-----------------------------------------------------+
| Chủ doanh nghiệp  | Giải pháp số hóa tinh gọn, tiết kiệm 85% chi phí     |
| (ScentHome VN)    | phần mềm, nắm bắt dòng tiền và tồn kho chuẩn xác.   |
+-------------------+-----------------------------------------------------+

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

1. Cần chuẩn bị những gì để deploy hệ thống lên môi trường Internet?

Quản trị viên cần chuẩn bị một máy chủ Windows Server (Cloud VPS hoặc Dedicated Server) đã bật tính năng IIS, cài đặt .NET Framework 4.8 Runtime và SQL Server 2019. Sau đó, tiến hành cấu hình Connection String trong file Web.config, tạo Virtual Directory trên IIS, trỏ Domain DNS về IP máy chủ và cài đặt chứng chỉ bảo mật SSL (HTTPS).

2. Hệ thống có khả năng chịu tải tối đa bao nhiêu người dùng cùng lúc?

Với cấu hình máy chủ khuyến nghị (8 Cores, 16GB RAM), hệ thống có khả năng phục vụ ổn định từ 800 đến 1.200 người dùng hoạt động đồng thời (Concurrent Users) với thời gian phản hồi dưới 1.5 giây nhờ cơ chế tối ưu hóa truy vấn LINQ và đánh Index cơ sở dữ liệu.

3. Làm thế nào để tích hợp hệ thống với các đơn vị vận chuyển thứ ba?

Hệ thống được thiết kế dưới dạng module hướng dịch vụ (Service-Oriented). Để tích hợp với các đơn vị như GHTK hoặc GHN, chỉ cần bổ sung ShippingService và gọi RESTful API của đối tác trong Action ProcessCheckout để truyền thông tin địa chỉ và nhận mã vận đơn (Tracking Code).

4. Chi phí bảo trì và vận hành hàng tháng của hệ thống là bao nhiêu?

Chi phí duy trì hệ thống bao gồm chi phí thuê Cloud VPS (khoảng 300.000 – 600.000 VNĐ/tháng tùy lượng truy cập) và chi phí duy trì tên miền, chứng chỉ SSL hàng năm (khoảng 800.000 VNĐ/năm). Hệ thống không phát sinh phí bản quyền phần mềm định kỳ.

5. Nếu gặp sự cố mất điện hoặc lỗi server khi đang đặt hàng, dữ liệu có bị sai lệch không?

Không. Hệ thống áp dụng cơ chế quản lý giao dịch nguyên tử (Database Transactions với khối lệnh BeginTransaction()Rollback()). Nếu quá trình lưu thông tin đơn hàng hoặc trừ tồn kho bị gián đoạn giữa chừng, toàn bộ trạng thái dữ liệu sẽ tự động quay về trạng thái ban đầu, hoàn toàn không gây hiện tượng trừ ảo tồn kho.


Kết luận

Đồ án chuyên đề tốt nghiệp "Xây dựng website quản lý bán hàng cho cửa hàng tinh dầu ScentHome VietNam" của tác giả Lê Hoài Nam đã hoàn thành xuất sắc toàn bộ 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 trọn vẹn bài toán thương mại điện tử đặc thù cho ngành hương liệu cao cấp mà còn xây dựng một hệ thống quản trị kho bãi và chuỗi cung ứng chuẩn mực, chính xác và có tính bảo mật cao.

Với việc làm chủ công nghệ ASP.NET kết hợp hệ quản trị cơ sở dữ liệu SQL Server, sản phẩm phần mềm đã chứng minh tính khả thi cao, sẵn sàng đưa vào ứng dụng thực tế để nâng cao năng lực cạnh tranh và thúc đẩy chuyển đổi số toàn diện cho doanh nghiệp Scent Homes Việt Nam.