Giới thiệu dự án

Sự bùng nổ của thương mại điện tử và quá trình chuyển đổi số trong ngành bán lẻ đã tái định hình toàn diện hành vi tiêu dùng hiện đại. Theo báo cáo từ Statista, quy mô ngành công nghiệp mỹ phẩm toàn cầu chạm mốc trên 800 tỷ USD, trong khi thị trường bán lẻ mỹ phẩm và chăm sóc cá nhân tại Việt Nam duy trì tốc độ tăng trưởng kép hàng năm (CAGR) ấn tượng trên 10%. Tuy nhiên, phần lớn các doanh nghiệp bán lẻ mỹ phẩm quy mô vừa và nhỏ (SMEs) vẫn đối mặt với những rào cản kỹ thuật nghiêm trọng: phụ thuộc vào các nền tảng mạng xã hội thiếu tính bền vững, hệ thống quản lý đơn hàng rời rạc, hiệu suất website kém tối ưu hóa cho thiết bị di động, và thiếu cơ chế phân quyền bảo mật chặt chẽ.

Đồ án chuyên ngành Công nghệ thông tin với đề tài "Xây dựng trang web bán mỹ phẩm Skin House trên nền tảng ASP.NET MVC" (thực hiện bởi sinh viên Huỳnh Thị Hồng Diễm, dưới sự hướng dẫn của ThS. Ngô Văn Linh tại Trường Đại học Kinh tế Công nghiệp Long An) tập trung giải quyết triệt để bài toán xây dựng nền tảng E-commerce thương mại mỹ phẩm hiệu năng cao, linh hoạt và bảo mật.

+-------------------------------------------------------------------------+
|                        PROJECT OBJECTIVES MATRIX                        |
+---+----------------------------+----------------------------------------+
| 1 | Kiến trúc phân tầng chuẩn  | Triển khai mô hình ASP.NET MVC5 & EF6  |
| 2 | Quản trị dữ liệu quan hệ   | Chuẩn hóa Schema MS SQL Server 10 bảng |
| 3 | Phân quyền đa cấp (RBAC)   | Tách biệt Quản trị, Biên tập, Khách    |
| 4 | Trải nghiệm Mobile-First   | Bootstrap Grid & AJAX tương tác mượt mà|
+---+----------------------------+----------------------------------------+

Mục tiêu dự án

  1. Thiết kế kiến trúc ứng dụng chuẩn MVC (Model-View-Controller): Phân tách độc lập giữa Business Logic, Data Access và Presentation Layer, loại bỏ hoàn toàn cơ chế ViewState cồng kềnh của ASP.NET WebForms truyền thống.
  2. Xây dựng cơ sở dữ liệu quan hệ tối ưu: Thiết kế hệ cơ sở dữ liệu trên Microsoft SQL Server với 10 bảng liên kết chặt chẽ, đảm bảo toàn vẹn dữ liệu giao dịch và tối ưu hóa truy vấn thông qua Entity Framework ORM.
  3. Phát triển hệ thống phân quyền đa cấp (Role-Based Access Control - RBAC): Tách biệt rõ ràng các phân hệ tương tác gồm Khách hàng (Client/Customer), Biên tập viên nội dung (Editor/Authorized Member) và Quản trị viên hệ thống (Administrator).
  4. Tối ưu hóa giao diện đa nền tảng (Responsive Web Design): Tích hợp Twitter Bootstrap theo tư duy "Mobile-First", kết hợp thư viện jQuery và kỹ thuật AJAX giúp giảm tải băng thông máy chủ và nâng cao trải nghiệm người dùng.

Giải pháp và Phạm vi

Giải pháp công nghệ được lựa chọn là ASP.NET MVC5 kết hợp với Entity Framework 6 (Database First / Code First Approach)Microsoft SQL Server. Nền tảng này mang lại khả năng kiểm soát hoàn toàn mã HTML đầu ra, hỗ trợ cơ chế Model Binding tự động, hệ thống Routing thân thiện với thuật toán tìm kiếm (SEO-friendly URLs), cùng các bộ lọc xác thực (Authentication/Authorization Filters) mạnh mẽ.

Phạm vi nghiên cứu và triển khai bao gồm: Module danh mục & chi tiết sản phẩm mỹ phẩm đa thương hiệu (như Centella, Innisfree, The Ordinary), giỏ hàng không đồng bộ (Asynchronous Shopping Cart), quản lý vòng đời đơn hàng (Order Lifecycle Management), quản lý bài viết tin tức làm đẹp (Beauty Articles CMS), và hệ thống dashboard thống kê doanh thu theo thời gian thực.


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ệ thống, việc đánh giá các công nghệ phát triển web thương mại điện tử hiện nay là yếu tố then chốt nhằm lựa chọn giải pháp tối ưu:

Tiêu chí kỹ thuật ASP.NET WebForms (Legacy) PHP Monolith (WooCommerce/OpenCart) ASP.NET MVC5 & Entity Framework (Đề tài)
Kiến trúc mã nguồn Event-driven, phụ thuộc nặng ViewState Mô hình hướng thủ tục / MVC tùy biến Phân tách 3 tầng độc lập (SoC - Separation of Concerns)
Kiểm soát HTML/CSS Hạn chế, mã sinh tự động khó tùy biến Khá linh hoạt nhưng dễ xung đột plugin Kiểm soát tuyệt đối HTML5/CSS3 chuẩn W3C
Hỗ trợ SEO & Routing Phức tạp, URL chứa đuôi .aspx Tốt thông qua Rewrite Module Tích hợp sẵn URL Routing Engine mạnh mẽ
Khả năng kiểm thử (TDD) Rất khó Unit Test do gắn chặt vòng đời trang Trung bình Hỗ trợ tuyệt vời cho Unit Testing (NUnit/MSTest)
Hiệu năng & Tài nguyên Tiêu tốn RAM máy chủ do ViewState lớn Tiêu thụ CPU cao khi xử lý lượng truy cập lớn Tối ưu hóa bộ nhớ, EntityClient mapping hiệu quả

Yêu cầu người dùng được lượng hóa thông qua mô hình MoSCoW:

  • Must-have: Danh mục sản phẩm đa cấp, giỏ hàng Session/Cookie, phân quyền Admin/Editor/Customer, xử lý đặt hàng an toàn.
  • Should-have: Bộ lọc sản phẩm theo giá/loại, cập nhật giỏ hàng bằng AJAX không reload trang, quản lý trạng thái thanh toán đơn hàng.
  • Could-have: Đăng nhập qua OAuth (Google, Facebook), hệ thống đánh giá/phản hồi của khách hàng.
  • Won't-have (giai đoạn này): Tích hợp cổng thanh toán quốc tế đa tiền tệ trực tiếp (Direct Payment Gateway API).

Thiết kế hệ thống

Kiến trúc phần mềm được xây dựng theo mô hình phân tầng chặt chẽ:

+-----------------------------------------------------------------------+
|                    PRESENTATION LAYER (UI / UX)                       |
|   Razor View Engine (.cshtml) | HTML5 | CSS3 | Bootstrap | jQuery     |
+-----------------------------------^-----------------------------------+
                                    | HTTP Requests / JSON Responses
+-----------------------------------v-----------------------------------+
|                     APPLICATION LAYER (CONTROLLER)                    |
|   AccountController | ProductController | CartController | OrderCtrl  |
|   - Authentication Filters ([Authorize], [AllowAnonymous])            |
|   - Model Binding Engine & Action Results                             |
+-----------------------------------^-----------------------------------+
                                    | Object Manipulation / LINQ
+-----------------------------------v-----------------------------------+
|                   DATA ACCESS LAYER (ENTITY FRAMEWORK)                |
|   - Object Services (ObjectContext, ObjectSet<TEntity>)               |
|   - EntityClient Data Provider & Entity SQL                           |
|   - Entity Data Model (EDM: CSDL, MSL, SSDL)                          |
+-----------------------------------^-----------------------------------+
                                    | Transact-SQL (T-SQL)
+-----------------------------------v-----------------------------------+
|                       DATABASE LAYER (RDBMS)                          |
|   Microsoft SQL Server Database Engine & SQLOS Storage                |
+-----------------------------------------------------------------------+

Ngăn xếp công nghệ (Technology Stack)

  • Framework nền tảng: Microsoft ASP.NET MVC 5.2 (chạy trên nền .NET Framework 4.7.2/4.8)
  • ORM (Object-Relational Mapping): Entity Framework 6.x
  • Hệ quản trị CSDL: Microsoft SQL Server 2017 / 2019 Enterprise
  • View Engine: Razor View Engine C# (.cshtml)
  • Frontend Framework: Twitter Bootstrap Responsive UI, jQuery 3.x, Modernizr
  • Môi trường phát triển: Microsoft Visual Studio 2022 Community / Enterprise, Azure DevOps

Thiết kế cấu trúc cơ sở dữ liệu (Database Schema)

Hệ thống gồm 10 bảng dữ liệu chuẩn hóa từ bậc chuẩn 3NF:

                  +---------------+             +----------------+
                  |   Category    | 1         N |    Product     |
                  +---------------+<------------+----------------+
                  | CategoryID(PK)|             | ProductID (PK) |
                  | CategoryName  |             | ProductName    |
                  | MetaTitle     |             | Price, Image   |
                  +---------------+             | CategoryID(FK) |
                                                +-------+--------+
                                                        | 1
                                                        |
                                                        | N
+---------------+ 1           N +---------------+ 1   N | +--------------+
|   Customer    |<--------------+     Oder      |<--------+    Detail    |
+---------------+               +---------------+         +--------------+
| CustomerID(PK)|               | OrderID (PK)  |         | DetailID(PK) |
| CustomerName  |               | OrderDate     |         | OrderID (FK) |
| Phone, Address|               | CustomerID(FK)|         | ProductID(FK)|
| Username, Pass|               | Status        |         | Quantity     |
+---------------+               +---------------+         | Price        |
                                                          +--------------+
  1. Article: Lưu trữ tin tức bài viết (ArticleID, Title, Content, Author, CreatedDate, MetaKey, MetaDesc).
  2. Category: Phân cấp loại sản phẩm (CategoryID, CategoryName, ParentID, CreatedDate, CreatedBy).
  3. Product: Thông tin chi tiết mỹ phẩm (ProductID, ProductName, Image, Description, Price, CategoryID, CreatedDate).
  4. Customer: Dữ liệu tài khoản khách hàng (CustomerID, FullName, Address, Phone, Username, Password).
  5. Oder (Order): Quản lý đơn đặt hàng (OrderID, OrderDate, CustomerID, PaymentDate, Status).
  6. Detail (Order Detail): Chi tiết sản phẩm trong đơn hàng (DetailID, OrderID, ProductID, Quantity, Price).
  7. Group: Nhóm phân quyền quản trị (GroupID, GroupName).
  8. Role: Danh mục các quyền hệ thống (RoleID, RoleName, TypeID).
  9. Authorized: Bảng ánh xạ quan hệ phân quyền (AuthorID, GroupID, RoleID).
  10. Member: Tài khoản quản trị và biên tập viên (MemberID, FullName, Username, Password, Email, GroupID).

Methodology

Dự án áp dụng mô hình phát triển phần mềm Agile/Scrum tinh gọn kết hợp kiểm thử liên tục:

  • Sprint 1 (Tuần 1 - 2): Khảo sát nghiệp vụ bán lẻ mỹ phẩm, mô hình hóa dữ liệu (ERD) và thiết lập CSDL trên SQL Server.
  • Sprint 2 (Tuần 3 - 4): Cấu hình Entity Framework, thiết kế Controller xử lý logic danh mục, sản phẩm, và giỏ hàng.
  • Sprint 3 (Tuần 5 - 6): Xây dựng giao diện Responsive với Bootstrap/Razor View, tích hợp AJAX và xây dựng phân hệ Admin/Editor.
  • Sprint 4 (Tuần 7 - 8): Kiểm thử bảo mật (Authentication Filters, SQL Injection, XSS), đánh giá tải và triển khai thử nghiệm trên IIS Server.

Implementation và kết quả

Development process

Quá trình lập trình tuân thủ nghiêm ngặt chuẩn kiến trúc phần mềm, đảm bảo mã nguồn tường minh và dễ bảo trì.

1. Xử lý Logic Controller & Truy vấn LINQ to Entities

Controller khai thác tầng Object Services của Entity Framework để thực hiện truy vấn tối ưu và liên kết dữ liệu sang View:

// Controllers/ProductController.cs
using System;
using System.Linq;
using System.Web.Mvc;
using SkinHouse.Models;

namespace SkinHouse.Controllers
{
    public class ProductController : Controller
    {
        private SkinHouseDbContext db = new SkinHouseDbContext();

        // GET: Product/CategoryList
        [HttpGet]
        [OutputCache(Duration = 60, VaryByParam = "categoryId;page")]
        public ActionResult CategoryList(int? categoryId, int page = 1, int pageSize = 12)
        {
            if (categoryId == null)
            {
                return new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest);
            }

            var productQuery = db.Products
                .Include("Category")
                .Where(p => p.CategoryID == categoryId.Value)
                .OrderByDescending(p => p.CreatedDate);

            var totalItems = productQuery.Count();
            var products = productQuery
                .Skip((page - 1) * pageSize)
                .Take(pageSize)
                .ToList();

            ViewBag.CurrentCategory = db.Categories.Find(categoryId.Value);
            ViewBag.TotalPages = (int)Math.Ceiling((double)totalItems / pageSize);
            ViewBag.CurrentPage = page;

            return View(products);
        }
    }
}

2. Phân quyền truy cập đa cấp với Authentication Filters

Áp dụng Annotation [Authorize] trên Controller quản trị nhằm ngăn chặn truy cập trái phép từ bên ngoài:

// Areas/Admin/Controllers/AdminBaseController.cs
using System.Web.Mvc;

namespace SkinHouse.Areas.Admin.Controllers
{
    [Authorize]
    public class AdminBaseController : Controller
    {
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var session = Session["AdminUser"];
            if (session == null)
            {
                filterContext.Result = new RedirectToRouteResult(
                    new System.Web.Routing.RouteValueDictionary(
                        new { controller = "Login", action = "Index", area = "Admin" }
                    )
                );
            }
            base.OnActionExecuting(filterContext);
        }
    }
}

3. Tương tác View Engine Razor và AJAX Giỏ hàng

@* Views/Product/Detail.cshtml *@
@model SkinHouse.Models.Product

<div class="product-detail-container row">
    <div class="col-md-6 col-sm-12">
        <img src="~/Uploads/Products/@Model.Image" alt="@Model.ProductName" class="img-responsive img-thumbnail" />
    </div>
    <div class="col-md-6 col-sm-12">
        <h1 class="product-title">@Model.ProductName</h1>
        <p class="product-price text-danger font-weight-bold">@string.Format("{0:N0} VNĐ", Model.Price)</p>
        <div class="product-desc">@Html.Raw(Model.Description)</div>
        
        <button class="btn btn-success btn-lg btn-add-cart" data-id="@Model.ProductID">
            <i class="glyphicon glyphicon-shopping-cart"></i> Thêm vào giỏ hàng
        </button>
    </div>
</div>

<script type="text/javascript">
    $(document).on("click", ".btn-add-cart", function () {
        var productId = $(this).data("id");
        $.ajax({
            url: '@Url.Action("AddToCart", "Cart")',
            type: 'POST',
            data: { id: productId, quantity: 1 },
            success: function (res) {
                if (res.status === true) {
                    $('#cart-counter').text(res.totalQuantity);
                    alert("Đã thêm sản phẩm vào giỏ hàng thành công!");
                }
            },
            error: function () {
                alert("Lỗi kết nối máy chủ!");
            }
        });
    });
</script>

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử tự động và thủ công đa tầng nhằm đảm bảo tính ổn định và bảo mật:

+-------------------------------------------------------------------------+
|                       SYSTEM TESTING BENCHMARK                          |
+----------------------+--------------------+-----------------------------+
| Loại kiểm thử        | Quy mô / Số test   | Kết quả đạt được            |
+----------------------+--------------------+-----------------------------+
| Unit Test (Logic)    | 65 Test Cases      | 100% Passed (Coverage: 84%) |
| Integration Test     | 28 Kịch bản        | 100% Passed (Luồng Order)   |
| Load Testing (JMeter)| 250 Concurrent req | TTFB: 185ms | Error: 0.0%   |
| Cross-Device UI Test | 8 Độ phân giải     | 100% Responsive             |
+----------------------+--------------------+-----------------------------+
  • Kiểm thử giao diện (UI/UX): Đảm bảo giao diện hiển thị đồng bộ trên Desktop (1920x1080), Laptop (1366x768), Tablet (768x1024) và Smartphone (375x812, 414x896).
  • Kiểm thử hiệu năng (Performance Benchmarking):
    • Tốc độ phản hồi trung bình (TTFB): 185ms.
    • Thời gian tải trang hoàn chỉnh (Full Page Load): 1.35s trên đường truyền 4G tiêu chuẩn.
    • Điểm hiệu năng Google Lighthouse: Performance: 89/100, SEO: 95/100, Accessibility: 92/100.

Kết quả đạt được

  1. Hoàn thiện 100% các chức năng cốt lõi: Phân hệ người dùng trực quan, lọc sản phẩm nhanh, giỏ hàng AJAX linh hoạt, phân hệ Admin quản trị danh mục, sản phẩm, tin tức, tài khoản và đơn đặt hàng toàn diện.
  2. Khả năng quản trị phân cấp hiệu quả: Biên tập viên có thể cập nhật nội dung tin tức và sản phẩm theo chuyên mục được chỉ định mà không can thiệp vào cấu hình hệ thống hay phân quyền bảo mật của Quản trị viên tối cao.

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

Đổi mới kỹ thuật

  1. Mô hình ánh xạ ORM Entity Framework kết hợp LINQ to Entities: Thay vì viết các câu lệnh truy vấn SQL thô (Raw SQL) dễ gây lỗi và rủi ro SQL Injection, hệ thống chuẩn hóa việc truy cập dữ liệu qua tầng Object Services và EntityClient, giúp giảm 45% lượng mã lệnh dư thừa trong Data Access Layer.
  2. Cấu trúc phân quyền độc lập theo nhóm (Dynamic Group-Role Authorization): Khắc phục hạn chế của việc hard-code quyền trong mã nguồn bằng cách thiết kế bảng trung gian Authorized, liên kết linh hoạt giữa Group, MemberRole.
  3. Tối ưu hóa trải nghiệm Mobile-First: Sử dụng hệ thống Grid System của Bootstrap kết hợp Razor Partial Views, cho phép tái sử dụng tối đa thành phần UI giữa phiên bản Web và Mobile mà không cần duy trì hai codebase tách biệt.
+-------------------------------------------------------------------------+
|                  ARCHITECTURAL EFFICIENCY COMPARISON                    |
+----------------------------+---------------------+----------------------+
| Thông số kỹ thuật          | WebForms Truyền thống| Skin House (ASP.NET) |
+----------------------------+---------------------+----------------------+
| Dung lượng DOM trung bình  | ~180 KB (ViewState) | ~45 KB (Clean HTML)  |
| Thời gian xử lý Server     | 320ms               | 110ms                |
| Mức độ phụ thuộc DB Client | Thủ công ADO.NET    | Tự động hóa qua EF6  |
| Khả năng mở rộng API       | Phức tạp            | Sẵn sàng tích hợp API|
+----------------------------+---------------------+----------------------+

Đóng góp thực tiễn

Đề tài cung cấp một tài liệu tham khảo hoàn chỉnh về quy trình xây dựng website thương mại điện tử chuyên ngành mỹ phẩm bằng công nghệ Microsoft .NET. Mô hình kiến trúc này có thể tái sử dụng trực tiếp cho các đồ án chuyên ngành, khóa luận tốt nghiệp, cũng như làm nền tảng phát triển cho các doanh nghiệp bán lẻ thời trang, dược mỹ phẩm vừa và nhỏ.


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

Khả năng ứng dụng thực tế

Hệ thống được thiết kế hướng tới việc áp dụng trực tiếp cho các shop mỹ phẩm độc lập, chuỗi cửa hàng mỹ phẩm xách tay hoặc các nhà phân phối sản phẩm chăm sóc sắc đẹp chính hãng.

Yêu cầu triển khai hệ thống (System Deployment Requirements)

  • Máy chủ Web (Web Server):
    • Hệ điều hành: Windows Server 2016/2019/2022 hoặc Azure App Services.
    • Web Server: Internet Information Services (IIS) phiên bản 8.5 trở lên (hỗ trợ .NET CLR v4.0).
    • Phần cứng tối thiểu: 2 vCPU, 4GB RAM, 20GB SSD Storage.
  • Máy chủ Cơ sở dữ liệu (Database Server):
    • Hệ quản trị: Microsoft SQL Server 2016/2017/2019.
    • Dung lượng lưu trữ ban đầu: 10GB (hỗ trợ tự động mở rộng Datafile).

Lộ trình triển khai (Implementation Roadmap)


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

Hạn chế hiện tại

  • Hệ thống chưa tích hợp cổng thanh toán trực tuyến tự động (như VNPAY, ZaloPay, Momo, Stripe) mà hiện tại chỉ xử lý phương thức Ship COD và chuyển khoản ngân hàng thủ công.
  • Chưa có module tự động gửi Email/SMS thông báo trạng thái đơn hàng theo thời gian thực tới khách hàng.
  • Thiếu công cụ gợi ý sản phẩm thông minh (Recommendation Engine) dựa trên lịch sử xem hàng của người dùng.

Hướng phát triển trong tương lai

  1. Nâng cấp nền tảng lên .NET 8 / .NET 9 LTS: Chuyển đổi từ ASP.NET MVC 5 (.NET Framework) sang ASP.NET Core Cross-Platform để chạy mượt mà trên môi trường Linux/Docker Container, nâng cao gấp 3 lần hiệu năng xử lý I/O.
  2. Tích hợp cổng thanh toán & Đơn vị vận chuyển: Kết nối API trực tiếp với VNPAY/OnePay và các đối tác giao vận (Giao Hàng Nhanh, Giao Hàng Tiết Kiệm) để tính phí ship tự động.
  3. Ứng dụng AI/Machine Learning: Xây dựng thuật toán phân tích hành vi khách hàng nhằm đề xuất các combo mỹ phẩm chăm sóc da phù hợp cho từng cá nhân.

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

+-------------------------------------------------------------------------+
|                        STAKEHOLDER BENEFIT MATRIX                       |
+--------------------+----------------------------------------------------+
| Sinh viên CNTT     | Nắm vững kiến trúc ASP.NET MVC5, EF6 & SQL Server  |
| Lập trình viên     | Tham khảo giải pháp phân quyền RBAC & tối ưu SEO   |
| Doanh nghiệp bán lẻ| Sở hữu website E-commerce chi phí thấp, hiệu quả   |
| Giảng viên/Nghiên cứu| Nguồn học liệu trực quan cho học phần Web ASP.NET|
+--------------------+----------------------------------------------------+
  • Sinh viên ngành CNTT & Kỹ thuật phần mềm: Có nguồn tài liệu chuẩn mực về phân tích thiết kế hệ thống, mô hình hóa CSDL quan hệ và cách thức tổ chức mã nguồn trong mô hình MVC.
  • Lập trình viên Web (.NET Developers): Tiếp cận các mẫu triển khai thực tế về Authentication Filters, Repository Pattern thu nhỏ và kỹ thuật viết Razor View tối ưu hóa SEO.
  • Chủ doanh nghiệp & Cửa hàng mỹ phẩm: Sở hữu giải pháp công nghệ độc lập, giảm thiểu 70% chi phí duy trì phần mềm so với việc thuê bao dịch vụ SaaS định kỳ.

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai website Skin House trên môi trường Production là gì?

Website yêu cầu máy chủ chạy Windows Server có cài đặt IIS 8.5+ cùng .NET Framework 4.7.2 trở lên. Cơ sở dữ liệu cần Microsoft SQL Server 2014 trở lên. Cấu hình máy chủ đám mây tối thiểu khuyến nghị: 2 Core CPU, 4GB RAM và 20GB ổ cứng SSD.

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

Với kiến trúc ASP.NET MVC5 kết hợp bộ nhớ đệm Output Caching và cơ chế truy vấn tối ưu qua Entity Framework 6, hệ thống đáp ứng tốt từ 250 - 300 phiên truy cập đồng thời (Concurrent Users) trên máy chủ tiêu chuẩn mà vẫn duy trì thời gian phản hồi dưới 1.5 giây.

3. Làm thế nào để tích hợp thêm các cổng thanh toán như VNPAY hoặc MoMo vào hệ thống?

Hệ thống hoàn toàn sẵn sàng cho việc tích hợp cổng thanh toán bên thứ ba. Lập trình viên chỉ cần tạo một PaymentController mới, cấu hình các tham số Merchant ID/Secret Key trong Web.config, và xử lý URL phản hồi (IPN/Return URL) để cập nhật trạng thái đơn hàng trong bảng Oder.

4. Cơ chế phân quyền giữa Quản trị viên (Admin) và Biên tập viên (Editor) hoạt động ra sao?

Cơ chế phân quyền được thực thi qua bảng Group, RoleAuthorized. Khi người dùng đăng nhập, hệ thống sẽ xác định nhóm quyền tương ứng. Controller áp dụng bộ lọc xác thực sẽ kiểm tra quyền hạn của phiên làm việc trước khi cho phép thực thi các hành động như thêm, sửa, xóa danh mục hay duyệt đơn hàng.

5. Chi phí ước tính để duy trì và vận hành website hàng năm là bao nhiêu?

Chi phí vận hành định kỳ rất tiết kiệm: Tên miền quốc tế/Việt Nam (~300.000 - 750.000 VNĐ/năm), Cloud Windows Hosting hoặc VPS (~1.500.000 - 3.000.000 VNĐ/năm). Website không phát sinh phí bản quyền hàng tháng như các nền tảng thương mại điện tử đóng.


Kết luận

Đồ án "Xây dựng trang web bán mỹ phẩm Skin House trên nền tảng ASP.NET MVC" của tác giả Huỳnh Thị Hồng Diễm đã giải quyết thành công bài toán chuyển đổi số trong kinh doanh bán lẻ mỹ phẩm bằng một giải pháp công nghệ vững chắc. Thông qua việc làm chủ kiến trúc ASP.NET MVC5, ORM Entity Framework và hệ quản trị Microsoft SQL Server, dự án không chỉ hoàn thiện một hệ thống E-commerce đầy đủ tính năng mà còn đảm bảo các tiêu chuẩn khắt khe về hiệu năng, bảo mật và tính mở rộng.

Đây là minh chứng rõ nét cho năng lực nghiên cứu ứng dụng thực tiễn, cung cấp một nền tảng vững chắc để tiếp tục nâng cấp lên các kiến trúc hiện đại hơn như .NET Core Microservices trong tương lai. Để tìm hiểu chi tiết về cấu trúc mã nguồn hoặc trao đổi giải pháp triển khai, bạn đọc có thể tham khảo trực tiếp tài liệu kỹ thuật tại Khoa Công nghệ - Trường Đại học Kinh tế Công nghiệp Long An.