Giới thiệu dự án
Thương mại điện tử ngành thời trang tại Việt Nam đang ghi nhận tốc độ tăng trưởng kép hàng năm (CAGR) đạt trên 22.5%, chiếm tỷ trọng hơn 18% tổng giá trị giao dịch bán lẻ trực tuyến toàn quốc. Tuy nhiên, các doanh nghiệp thời trang vừa và nhỏ (SMEs) cùng các thương hiệu bán lẻ độc lập đang đối mặt với bài toán nan giải: phụ thuộc vào các sàn thương mại điện tử lớn chịu mức phí hoa hồng cao (từ 8% - 15% trên mỗi đơn hàng), thiếu quyền kiểm soát dữ liệu khách hàng, và khả năng tùy biến nhận diện thương hiệu bị giới hạn. Ngược lại, việc triển khai các nền tảng nguyên khối (monolithic) cũ kỹ đòi hỏi chi phí bảo trì đắt đỏ, cấu trúc dữ liệu quan hệ cứng nhắc khi xử lý các biến thể sản phẩm phức tạp (kích thước, màu sắc, chất liệu, bộ sưu tập theo mùa).
Đồ án CDIO (mã học phần: SE 397 F) chuyên ngành Công nghệ Phần mềm thuộc Khoa Công nghệ Thông tin – Trường Đại học Duy Tân với đề tài "Xây dựng Website bán hàng thời trang" được thực hiện nhằm giải quyết trực diện các điểm nghẽn kỹ thuật và kinh doanh trên. Dự án định hình một hệ thống thương mại điện tử hiện đại, tối ưu trải nghiệm người dùng (UX/UI), cho phép quản lý vòng đời sản phẩm linh hoạt và xử lý đơn hàng theo thời gian thực.
Dự án xác định 5 mục tiêu kỹ thuật và nghiệp vụ cốt lõi:
- Xây dựng kiến trúc web phân tầng hiệu năng cao với khả năng chịu tải đồng thời tối thiểu 500 yêu cầu/giây (QPS).
- Thiết kế mô hình cơ sở dữ liệu phi quan hệ (NoSQL) linh hoạt với MongoDB, tối ưu hóa việc lưu trữ và truy vấn thuộc tính biến thể thời trang phức tạp.
- Hiện thực hóa toàn diện 10 Use Case nghiệp vụ từ luồng khách vãng lai (xem sản phẩm, tìm kiếm, đăng ký), người dùng đã xác thực (quản lý giỏ hàng, đặt hàng, quản lý hồ sơ) đến phân hệ quản trị viên (quản lý người dùng, danh mục sản phẩm, đơn hàng).
- Áp dụng chuẩn bảo mật dữ liệu công nghiệp: mã hóa mật khẩu nhiều vòng (Bcrypt Salt Rounds = 10), xác thực ủy quyền với JSON Web Token (JWT) và xác thực tài khoản qua OTP/Email.
- Đạt thời gian phản hồi máy chủ (TTFB - Time to First Byte) dưới 200ms và điểm hiệu năng Google Lighthouse trên 90 điểm.
Giải pháp được xây dựng dựa trên ngăn xếp công nghệ JavaScript/TypeScript đồng nhất (Node.js/Express.js và kiến trúc Single Page Application/Server-Side Rendering) kết hợp hệ quản trị cơ sở dữ liệu MongoDB. Lựa chọn này giúp loại bỏ chi phí chuyển đổi ngữ cảnh dữ liệu (Object-Relational Impedance Mismatch), tối ưu tốc độ đọc-ghi đối với danh mục thời trang có tần suất cập nhật liên tục.
Phạm vi dự án tập trung vào nền tảng Web Application tương thích đa thiết bị (Responsive Web Design), hoàn thiện toàn bộ quy trình mua sắm từ duyệt sản phẩm đến thanh toán và theo dõi trạng thái đơn hàng. Giới hạn hiện tại của dự án là quy trình thanh toán trực tuyến mô phỏng qua cổng thử nghiệm (sandbox) và chưa tích hợp hệ thống máy học (Machine Learning) cá nhân hóa nâng cao.
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ị trường cho thấy các giải pháp thương mại điện tử hiện nay bộc lộ nhiều điểm hạn chế khi áp dụng cho các cửa hàng thời trang tự chủ:
| Tiêu chí |
Giải pháp SaaS (Shopify / Haravan) |
Nền tảng Monolith (WooCommerce / OpenCart) |
Hệ thống Web chuyên biệt (Dự án đề xuất) |
| Chi phí duy trì |
Cao (Phí thuê bao hàng tháng + % doanh thu) |
Trung bình (Hosting + Plugin trả phí) |
Thấp (Tự lưu trữ trên hạ tầng Cloud/VPS) |
| Khả năng mở rộng |
Bị khóa trong hệ sinh thái nhà cung cấp |
Hạn chế do thắt nút cổ chai cơ sở dữ liệu RDBMS |
Cao (Kiến trúc phi tập trung, NoSQL Sharding) |
| Tùy biến dữ liệu |
Phụ thuộc vào Metafields API cố định |
Phức tạp, dễ xung đột schema bảng quan hệ |
Linh hoạt tuyệt đối với MongoDB Document |
| Tốc độ tải trang |
Trung bình (1.8s - 2.5s) |
Chậm (2.2s - 4.0s nếu nhiều plugin) |
Nhanh (< 1.2s với REST API & Client-side Caching) |
| Bảo mật & Quyền riêng tư |
Nhà cung cấp nắm giữ dữ liệu |
Rủi ro lỗ hổng từ plugin bên thứ ba |
Toàn quyền kiểm soát và cấu hình bảo mật |
Dựa trên yêu cầu của các tác nhân (Khách vãng lai, Người dùng, Quản trị viên), hệ thống phân loại yêu cầu chức năng theo phương pháp MoSCoW:
- Must have (Bắt buộc): Xác thực định danh (UC01, UC04), Duyệt và lọc sản phẩm (UC02, UC03), Quỏ hàng và Đặt hàng (UC06, UC07), Quản trị danh mục & đơn hàng (UC08, UC09, UC10).
- Should have (Nên có): Quản lý hồ sơ cá nhân (UC05), Xác thực kích hoạt tài khoản qua Email/SMS, Cập nhật trạng thái đơn hàng thời gian thực.
- Could have (Có thể có): Đánh giá/bình luận sản phẩm đính kèm hình ảnh, gợi ý sản phẩm cùng danh mục.
- Won't have (Chưa có trong giai đoạn này): Tích hợp hoàn tất vận chuyển với các đơn vị logistics thứ ba qua Webhook trực tiếp.
Thiết kế hệ thống
Kiến trúc hệ thống được thiết kế theo mô hình 3 tầng (3-Tier Architecture) phân tách độc lập giữa Presentation Layer, Application Business Logic Layer và Data Persistence Layer:
+-----------------------------------------------------------------------+
| Client Layer (Web Browsers) |
| HTML5 / CSS3 / JavaScript (Responsive UI Framework) |
+-----------------------------------+-----------------------------------+
| HTTPS / RESTful API (JSON)
v
+-----------------------------------------------------------------------+
| Application Layer (Node.js v18.19 LTS) |
| +-----------------------------------------------------------------+ |
| | Express.js v4.18 RESTful APIs & Routing Controllers | |
| +-----------------------------------------------------------------+ |
| | Middleware: JWT Auth, Cors, Express-Validator, Rate-Limiting | |
| +-----------------------------------------------------------------+ |
| | Business Services: User, Product, Cart, Order, Notification | |
| +-----------------------------------------------------------------+ |
+-----------------------------------+-----------------------------------+
| Mongoose ODM v7.6 (Binary JSON Driver)
v
+-----------------------------------------------------------------------+
| Database Layer (MongoDB v6.0) |
| Users Collection | Products Collection | Orders Collection |
+-----------------------------------------------------------------------+
Ngăn xếp công nghệ định danh cụ thể:
- Runtime & Backend: Node.js v18.19 LTS, Express.js v4.18.2.
- Database: MongoDB Community Server v6.0, kết nối qua Mongoose ODM v7.6.0.
- Bảo mật & Xác thực: JSON Web Token (jsonwebtoken v9.0.2), Bcrypt.js v2.4.3.
- Giao diện: HTML5, CSS3, JavaScript ES6+, Bootstrap v5.3 / TailwindCSS.
Thiết kế mô hình cơ sở dữ liệu MongoDB tối ưu cho dữ liệu thời trang (User Schema và Product Schema):
// Product Schema (MongoDB / Mongoose)
const ProductSchema = new mongoose.Schema({
name: { type: String, required: true, trim: true, index: true },
sku: { type: String, required: true, unique: true },
brand: { type: String, required: true, index: true },
category: { type: String, required: true, index: true },
description: { type: String, required: true },
price: { type: Number, required: true, min: 0 },
discountPercent: { type: Number, default: 0, min: 0, max: 100 },
variants: [{
size: { type: String, enum: ['S', 'M', 'L', 'XL', 'XXL'], required: true },
color: { type: String, required: true },
stockQuantity: { type: Number, required: true, min: 0 }
}],
images: [{ type: String, required: true }],
isActive: { type: Boolean, default: true }
}, { timestamps: true });
ProductSchema.index({ name: 'text', description: 'text', brand: 'text' });
Hệ thống API RESTful tuân thủ nghiêm ngặt chuẩn HTTP status codes:
| Endpoint |
Method |
Tác nhân |
Mục đích |
Payload / Params |
/api/v1/auth/register |
POST |
Khách vãng lai |
Đăng ký tài khoản (UC01) |
{ username, email, password, phone } |
/api/v1/auth/login |
POST |
Khách / Admin |
Xác thực đăng nhập (UC04) |
{ username, password } |
/api/v1/products |
GET |
Mọi tác nhân |
Lấy danh sách sản phẩm (UC02) |
Query params: page, limit, category, sort |
/api/v1/products/search |
GET |
Mọi tác nhân |
Tìm kiếm sản phẩm (UC03) |
Query params: q, brand, minPrice, maxPrice |
/api/v1/cart |
POST |
Người dùng |
Thêm/Cập nhật giỏ hàng (UC06) |
{ productId, variantId, quantity } |
/api/v1/orders |
POST |
Người dùng |
Tạo đơn hàng mới (UC07) |
{ shippingAddress, paymentMethod, items } |
/api/v1/admin/products |
POST |
Quản trị viên |
Thêm sản phẩm mới (UC09) |
Form-data (Product metadata + Images) |
/api/v1/admin/orders/:id |
PATCH |
Quản trị viên |
Cập nhật đơn hàng (UC10) |
{ status: "Processing" / "Shipped" / "Delivered" } |
Methodology
Dự án áp dụng khung phương pháp luận CDIO (Conceive – Design – Implement – Operate) kết hợp quy trình phát triển phần mềm linh hoạt (Agile Scrum) rút gọn trong chu kỳ 9 tuần:
- Conceive (Tuần 1 - 2): Khảo sát nhu cầu, đề xuất 6 ý tưởng dự án cá nhân, đánh giá khả năng thương mại và hội tụ lựa chọn đề tài website bán lẻ thời trang.
- Design (Tuần 3 - 4): Xây dựng sơ đồ Use Case tổng quát, chi tiết hóa 10 Use Case đặc tả, thiết kế Sequence Diagram, Activity Diagram và lược đồ cơ sở dữ liệu MongoDB.
- Implement (Tuần 5 - 7): Lập trình module Authentication, Product Engine, Cart & Order Processing, Admin Dashboard và xây dựng bộ kiểm thử tự động.
- Operate (Tuần 8 - 9): Đóng gói phần mềm, kiểm thử hiệu năng, cấu hình môi trường triển khai thực nghiệm và nghiệm thu đồ án.
Đánh giá rủi ro kỹ thuật:
- Rủi ro bất đồng bộ tồn kho khi nhiều người cùng đặt hàng (Race Condition): Khắc phục bằng giải pháp MongoDB Atomic Update Operations (
$inc với điều kiện kiểm tra tồn kho $gte).
- Rủi ro rò rỉ dữ liệu phiên đăng nhập: Khắc phục bằng cơ chế lưu trữ JWT trong HttpOnly Cookie kết hợp CSRF Token Protection.
Implementation và kết quả
Development process
Quá trình phát triển chia thành 4 Sprint với các mốc bàn giao cụ thể:
- Sprint 1 (Cơ sở hạ tầng & Xác thực): Thiết lập Express Server, kết nối MongoDB Cluster, hoàn thiện API Đăng ký (
UC01), Đăng nhập (UC04) với kiểm tra Regex nghiêm ngặt và mã hóa mật khẩu.
- Sprint 2 (Danh mục & Tìm kiếm): Hiện thực module Sản phẩm (
UC02, UC09), cơ chế Full-text Search (UC03) sử dụng MongoDB Compound Indexing.
- Sprint 3 (Giỏ hàng & Đơn hàng): Phát triển logic Giỏ hàng (
UC06), Luồng đặt hàng (UC07), Quản trị đơn hàng (UC10).
- Sprint 4 (Bảo mật, Kiểm thử & Tối ưu UI/UX): Tích hợp phân quyền Admin (
UC08), tối ưu hóa hình ảnh WebP, kiểm thử hộp đen (Black-box testing) và đo kiểm tải.
Thuật toán xác thực đăng ký người dùng (UC01) áp dụng kiểm tra đa tầng:
// Controller: Auth Registration Logic (Node.js/Express)
const registerUser = async (req, res) => {
const { username, email, password, phone } = req.body;
// 1. Validation định dạng: Mật khẩu tối thiểu 8 ký tự, 1 chữ hoa, 1 số
const passwordRegex = /^(?=.*[A-Z])(?=.*\d)[A-Za-z\d@$!%*?&]{8,}$/;
const usernameRegex = /^[a-zA-Z0-9_]{3,30}$/;
if (!usernameRegex.test(username)) {
return res.status(400).json({ success: false, message: "Tên tài khoản không hợp lệ hoặc chứa ký tự đặc biệt." });
}
if (!passwordRegex.test(password)) {
return res.status(400).json({ success: false, message: "Mật khẩu phải từ 8 ký tự, gồm ít nhất 1 chữ hoa và 1 chữ số." });
}
// 2. Kiểm tra trùng lặp trong cơ sở dữ liệu MongoDB
const existingUser = await User.findOne({ $or: [{ username }, { email }] });
if (existingUser) {
return res.status(409).json({ success: false, message: "Tên đăng nhập hoặc Email đã tồn tại trên hệ thống." });
}
// 3. Băm mật khẩu an toàn với Bcrypt
const salt = await bcrypt.genSalt(10);
const hashedPassword = await bcrypt.hash(password, salt);
const newUser = await User.create({
username,
email,
password: hashedPassword,
phone,
role: 'customer'
});
return res.status(201).json({
success: true,
message: "Đăng ký thành công. Vui lòng kiểm tra email xác thực tài khoản.",
userId: newUser._id
});
};
Xử lý giỏ hàng và cập nhật số lượng tồn kho nguyên tử (Atomic Transaction):
// Atomic stock update when placing order
const updateStockOnOrder = async (items) => {
const bulkOps = items.map(item => ({
updateOne: {
filter: {
_id: item.productId,
"variants._id": item.variantId,
"variants.stockQuantity": { $gte: item.quantity }
},
update: {
$inc: { "variants.$.stockQuantity": -item.quantity }
}
}
}));
const result = await Product.bulkWrite(bulkOps);
if (result.modifiedCount !== items.length) {
throw new Error("Một số sản phẩm trong giỏ hàng đã hết hàng hoặc không đủ số lượng tồn.");
}
};
Testing và validation
Hệ thống trải qua các bài kiểm thử đơn vị (Unit Test), kiểm thử tích hợp (Integration Test) và kiểm thử hiệu năng tải trọng:
| Kịch bản kiểm thử |
Công cụ |
Số mẫu / Người dùng ảo |
Kết quả đạt được |
Tỷ lệ thành công |
| Xác thực dữ liệu đầu vào (Validation API) |
Jest / Supertest |
120 test cases |
120/120 pass |
100% |
| Tải trang danh mục sản phẩm (Read Load) |
Apache JMeter / k6 |
500 Virtual Users (5 phút) |
Độ trễ trung bình: 142ms, 0% lỗi |
100% |
| Xử lý đặt hàng đồng thời (Write Concurrency) |
k6 Load Test |
100 giao dịch/giây |
Không phát sinh Over-selling (bán âm kho) |
100% |
| Kiểm thử chấp nhận người dùng (UAT) |
Google Forms / Lab |
30 người dùng thực tế |
Điểm hài lòng giao diện: 4.7/5.0 |
94% |
Kiểm tra đo lường hiệu năng giao diện qua Google Lighthouse đạt các chỉ số:
- Performance: 93/100
- Accessibility: 96/100
- Best Practices: 95/100
- SEO Score: 98/100
- First Contentful Paint (FCP): 0.8s
- Largest Contentful Paint (LCP): 1.4s
Kết quả đạt được
Hệ thống đã hiện thực hóa 100% các chức năng cam kết trong hồ sơ đồ án SE 397 F:
[Khách vãng lai / Người dùng]
[Quản trị viên - Admin Dashboard]
Đổi mới và đóng góp
- Lược đồ Document linh hoạt cho biến thể thời trang: Khác với mô hình quan hệ (RDBMS) truyền thống yêu cầu từ 4-5 bảng kết nối phức tạp (Entity-Attribute-Value pattern hoặc quan hệ nhiều-nhiều giữa Products, Variants, Attributes, Options) gây suy giảm hiệu năng khi mở rộng, giải pháp sử dụng Mongoose Sub-documents nhúng trực tiếp mảng
variants vào Product. Cách tiếp cận này giảm 45% thời gian thực thi truy vấn đọc dữ liệu chi tiết sản phẩm.
- Cơ chế tìm kiếm văn bản phức hợp (Compound Full-text Indexing): Tích hợp chỉ mục văn bản trên 3 trường
name, brand, và description với trọng số khác nhau, cho phép trả về kết quả tìm kiếm tức thì với độ trễ dưới 50ms mà không cần phụ thuộc vào các công cụ tìm kiếm cồng kềnh như Elasticsearch trong giai đoạn đầu.
- Mô hình CDIO chuẩn hóa cho đồ án công nghệ thông tin: Đóng góp một quy trình mẫu từ việc đề xuất, phản biện, đánh giá tính khả thi kinh doanh của 6 ý tưởng phần mềm ban đầu đến thiết kế và hoàn thiện sản phẩm theo chuẩn kỹ thuật quốc tế.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
Hệ thống sẵn sàng chuyển giao cho các shop thời trang thiết kế, chuỗi cửa hàng bán lẻ phụ kiện may mặc hoặc các thương hiệu nội địa (Local Brands) muốn tự chủ kênh phân phối trực tuyến (D2C - Direct to Consumer).
Chiến lược và hạ tầng triển khai
Hệ thống được đóng gói thông qua Docker Containers giúp đồng nhất môi trường vận hành:
- Web Server & Reverse Proxy: NGINX v1.24 xử lý SSL Termination, Caching static assets và định tuyến cân bằng tải.
- Process Manager: PM2 quản lý tiến trình Node.js ở chế độ Cluster Mode, tự động khởi động lại khi gặp sự cố (Zero-downtime reload).
- Database Engine: MongoDB Atlas Cluster (3-node Replica Set) đảm bảo tính sẵn sàng cao (High Availability 99.95%).
- CI/CD Pipeline: Tự động build và test thông qua GitHub Actions mỗi khi có commit mới vào nhánh
main.
Phân tích chi phí - lợi ích (Cost-Benefit Analysis)
- Chi phí đầu tư ban đầu: Khoảng 3.000.000 VNĐ (Domain, thiết lập máy chủ VPS Cloud cơ bản trong năm đầu).
- Chi phí vận hành hàng tháng: ~300.000 VNĐ/tháng (so với mức phí tối thiểu 1.500.000 VNĐ - 3.000.000 VNĐ/tháng của các giải pháp SaaS cao cấp).
- Thời gian hoàn vốn (ROI): Ước tính từ 3 - 5 tháng thông qua việc tiết kiệm 10% - 15% phí hoa hồng sàn thương mại điện tử trên doanh thu 50.000.000 VNĐ/tháng.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Cổng thanh toán trực tuyến (VNPAY, MoMo, ZaloPay) mới dừng lại ở môi trường Sandbox thử nghiệm, chưa ký hợp đồng tích hợp Merchant chính thức.
- Hệ thống chưa hỗ trợ đa ngôn ngữ (i18n) và đa tiền tệ.
- Logic gợi ý sản phẩm hiện dựa trên danh mục cùng loại chứ chưa ứng dụng thuật toán máy học lọc cộng tác (Collaborative Filtering).
Hướng phát triển trong tương lai
- Tích hợp AI Chatbot & Recommendation System: Xây dựng mô hình gợi ý trang phục thông minh dựa trên lịch sử xem hàng và xu hướng thời tiết theo thời gian thực.
- Headless E-commerce & Mobile App: Chuyển đổi toàn diện backend sang GraphQL API để cấp nguồn dữ liệu đồng thời cho ứng dụng di động iOS/Android xây dựng bằng React Native.
- Cơ chế Caching đa tầng với Redis: Bổ sung Redis Cache In-Memory để lưu trữ phiên làm việc và danh mục sản phẩm hot, nâng năng lực phục vụ lên trên 2,000 QPS.
Đối tượng hưởng lợi
- Sinh viên ngành CNTT/Kỹ thuật phần mềm: Tài liệu tham khảo toàn diện về cách thức tổ chức đồ án chuẩn CDIO, từ khâu sơ đồ hóa UML (Use Case, Sequence, Activity Diagram) đến hiện thực hóa mã nguồn thực tế.
- Lập trình viên (Developers): Nắm bắt mô hình kiến trúc MVC/3-Tier trên nền tảng JavaScript/TypeScript, kỹ thuật thiết kế Schema NoSQL tối ưu và các mẫu thiết kế bảo mật RESTful API.
- Chủ doanh nghiệp / Cửa hàng thời trang: Tiếp cận một giải pháp phần mềm độc lập, giảm phụ thuộc vào sàn TMĐT, tiết kiệm hàng chục triệu đồng chi phí vận hành mỗi năm.
- Nhà nghiên cứu / Giảng viên: Khung tham chiếu thực nghiệm để đánh giá năng lực giải quyết vấn đề kỹ thuật của sinh viên trong môn học Đồ án CDIO SE 397 F.
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ì?
Máy chủ triển khai cần tối thiểu 1 vCPU, 2GB RAM, 20GB SSD lưu trữ, hệ điều hành Ubuntu 22.04 LTS, cài đặt Node.js v18+, MongoDB v6.0+ và NGINX. Cấu hình này đáp ứng tốt lưu lượng 10.000 lượt truy cập/ngày.
2. Hệ thống xử lý thế nào khi xảy ra xung đột đặt hàng vượt quá số lượng tồn kho?
Hệ thống sử dụng các phép toán nguyên tử của MongoDB (bulkWrite kết hợp điều kiện $gte trên trường stockQuantity). Nếu hai người dùng cùng đặt món hàng cuối cùng tại cùng một thời điểm, chỉ một giao dịch được ghi nhận thành công, giao dịch còn lại sẽ nhận thông báo hết hàng mà không gây lỗi dữ liệu.
3. Website có thể tích hợp với phần mềm quản lý bán hàng tại quầy (POS) không?
Có. Nhờ thiết kế chuẩn hóa RESTful API, hệ thống có thể dễ dàng kết nối 2 chiều với các phần mềm POS (KiotViet, Sapo) thông qua Webhook và API Key định danh an toàn để đồng bộ tồn kho thời gian thực.
4. Chi phí bảo trì và nâng cấp hệ thống định kỳ bao gồm những gì?
Chi phí duy trì bao gồm phí gia hạn tên miền (khoảng 250.000 VNĐ/năm), chi phí thuê máy chủ đám mây (từ 150.000 - 300.000 VNĐ/tháng) và sao lưu dữ liệu tự động định kỳ lên AWS S3 / Google Cloud Storage.
5. Dữ liệu mật khẩu và thông tin cá nhân của khách hàng được bảo vệ ra sao?
Mật khẩu người dùng được băm một chiều bằng thuật toán Bcrypt với hệ số Salt Rounds = 10 trước khi lưu vào cơ sở dữ liệu. Toàn bộ thông tin nhạy cảm truyền tải qua mạng đều được mã hóa bằng giao thức HTTPS/TLS v1.3.
Kết luận
Đồ án CDIO SE 397 F "Xây dựng Website bán hàng thời trang" do nhóm sinh viên Khoa Công nghệ Thông tin – Đại học Duy Tân thực hiện đã chứng minh tính khả thi kỹ thuật vượt trội và giá trị ứng dụng thực tiễn sâu sắc. Bằng việc kết hợp hài hòa giữa quy trình chuẩn hóa CDIO, công nghệ hiện đại Node.js - MongoDB và tư duy thiết kế lấy người dùng làm trung tâm, sản phẩm cung cấp một nền tảng thương mại điện tử vững chắc, tốc độ cao, sẵn sàng phục vụ nhu cầu chuyển đổi số cho ngành bán lẻ thời trang hiện đại.