Giới thiệu dự án
Thương mại điện tử và chuyển đổi số đang trở thành trụ cột tăng trưởng sống còn của nền kinh tế bán lẻ, đặc biệt trong bối cảnh các chuỗi cung ứng truyền thống phải tái cấu trúc sau giai đoạn gián đoạn toàn cầu. Theo báo cáo e-Conomy SEA, thị trường thương mại điện tử Việt Nam duy trì tốc độ tăng trưởng trên 20% mỗi năm, song lĩnh vực quà tặng, hoa tươi và đồ lưu niệm vẫn đối mặt với rào cản số hóa lớn. Phần lớn các cửa hàng lưu niệm vừa và nhỏ (SMBs) thiếu hụt ngân sách, giải pháp công nghệ chuyên biệt và nhân sự kỹ thuật để xây dựng nền tảng quản trị bán lẻ đa kênh.
Hệ thống bán quà tặng truyền thống bộc lộ nhiều điểm nghẽn nghiêm trọng:
- Khó khăn trong việc mô hình hóa các gói quà phức hợp (Giftpack) bao gồm nhiều mặt hàng (Items) và phụ kiện tùy chọn (AddOns).
- Quy trình điều phối vận chuyển (Shipment) thiếu tính liên thông thời gian thực giữa người bán, đơn vị vận chuyển (Grab, Be) và khách hàng.
- Chưa có quy trình tự động hóa tiếp nhận, phân loại và xử lý khiếu nại (Complaints) theo cấp độ định lượng (thang điểm 1–5).
- Thiếu hụt bộ API chuẩn hóa để tích hợp linh hoạt vào các hệ thống quản trị kho và bán lẻ sẵn có.
Đề tài "Ứng dụng tặng quà" được nghiên cứu và phát triển bởi nhóm tác giả tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh nhằm giải quyết triệt để các bài toán trên thông qua các mục tiêu cụ thể:
- Xây dựng nền tảng trung gian dịch vụ quà tặng toàn diện với kiến trúc phân tầng chuyên biệt 3-Tier kết hợp MVC (Model-View-Controller).
- Thiết kế và triển khai hệ thống RESTful API hoàn chỉnh trên nền tảng Java Spring Boot, Jersey và Spring Data JPA, hỗ trợ tích hợp đa nền tảng.
- Chuẩn hóa quy trình nghiệp vụ cho 5 nhóm tác nhân (Actors): Khách hàng (Customer User), Quản trị viên (System Admin), Thủ kho (Warehouse Staff), Nhân viên giao hàng (Delivery Staff), và Nhân viên chăm sóc khách hàng (Complaint Settlement Staff).
- Tối ưu hóa hiệu năng xử lý đồng thời, cam kết phục vụ tối thiểu 1.000 người dùng hoạt động đồng thời (concurrent users), độ trễ phản hồi API dưới 200ms và cơ chế toàn vẹn, phục hồi dữ liệu tự động.
Dự án tiếp cận bài toán bằng giải pháp kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA) kết hợp API-First, tách biệt hoàn toàn giữa tầng xử lý nghiệp vụ backend và tầng hiển thị web frontend (Vue.js). Phạm vi đề tài tập trung vào việc quản lý vòng đời gói quà, phân phối đơn hàng, theo dõi trạng thái giao vận và dịch vụ hậu mãi. Đề tài giới hạn ở cơ chế tích hợp giả lập đối với các cổng thanh toán quốc tế và hệ thống webhook giao vận của bên thứ ba trong phạm vi bản phát hành v3.0.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát các giải pháp thương mại điện tử hiện nay cho thấy sự phân hóa rõ rệt giữa các sàn tổng hợp lớn và các website bán lẻ tự phát:
| Tiêu chí so sánh |
Nền tảng TMĐT tổng hợp (Shopee, Lazada) |
Website bán lẻ độc lập (WooCommerce, Shopify) |
Hệ thống "Ứng dụng tặng quà" (Đề tài) |
| Mô hình hóa Giftpack & AddOn |
Hạn chế, chỉ hỗ trợ biến thể sản phẩm đơn giản |
Cần cài đặt nhiều plugin bên thứ ba, dễ xung đột |
Mô hình hóa đa tầng chuyên biệt (Giftpack chứa nhiều Item và AddOn) |
| Quy trình điều phối shipper |
Khép kín qua 3PL nội bộ, chi phí tích hợp cao |
Phụ thuộc bên ngoài, không đồng bộ trạng thái thực |
Phân luồng tiếp nhận đơn hàng, tự động phân phối shipper nội bộ/liên kết |
| Phân quyền đa tác nhân (Actors) |
Phân quyền cố định, thiếu linh hoạt theo nghiệp vụ |
Phân quyền admin cơ bản |
Phân tầng rõ rệt: Admin, Customer, Warehouse, Shipper, CS Staff |
| Khả năng tích hợp mở (API-First) |
API đóng gói chặt chẽ, khó tùy biến |
REST API hạn chế về hiệu năng xử lý lô lớn |
Bộ RESTful API chuẩn hóa (Jersey/Spring Boot) dễ nhúng |
Phân loại yêu cầu người dùng theo khung MoSCoW:
- Must have (Bắt buộc): Xác thực tài khoản khách hàng; Quản lý cấu trúc Giftpack/Item/AddOn; Luồng đặt hàng và giỏ hàng; Điều phối đơn vận chuyển; Hệ thống phân loại khiếu nại (1–5 sao).
- Should have (Nên có): Báo cáo tình trạng đơn hàng kèm minh chứng hình ảnh của shipper; Trang thống kê doanh thu và đơn hàng hủy cho Admin.
- Could have (Có thể có): Tích hợp đăng nhập mở rộng qua Google/Facebook OAuth2; Đẩy đơn tự động sang API Grab/Be.
- Won't have (Chưa hỗ trợ phiên bản này): Thanh toán bằng tiền mã hóa; Gợi ý quà tặng bằng trí tuệ nhân tạo học sâu.
Thách thức kỹ thuật lớn nhất là duy trì tính toàn vẹn dữ liệu trong môi trường nhiều tác nhân đồng thời tương tác lên cùng một thực thể kho hàng và đơn hàng.
+------------------------------------------+
| Client Layer (Vue.js 2.x SPA) |
+--------------------+---------------------+
| HTTP/HTTPS (JSON)
v
+------------------------------------------+
| Controller / REST API Layer (Jersey) |
+--------------------+---------------------+
|
v
+------------------------------------------+
| Business Logic Layer (Spring Service) |
+--------------------+---------------------+
|
v
+------------------------------------------+
| Data Access Layer (Spring Data JPA / ORM)|
+--------------------+---------------------+
| JDBC
v
+------------------------------------------+
| Database Layer (Microsoft SQL Server) |
+------------------------------------------+
Thiết kế hệ thống
Kiến trúc hệ thống triển khai theo mô hình MVC 3-Tier chuẩn hóa:
- Presentation Tier (Giao diện người dùng): Xây dựng bằng Vue.js 2.x, HTML5, CSS3, JavaScript, áp dụng mô hình Single Page Application (SPA) nhằm nâng cao trải nghiệm người dùng, kết nối backend qua Axios client.
- Business Logic Tier (Tầng nghiệp vụ & API): Phát triển trên nền tảng Java 11, framework Spring Boot 2.4.x tích hợp thư viện Jersey (JAX-RS) để đóng gói REST API. Tầng này phân tách thành các Controller điều hướng và Service Layer xử lý logic nghiệp vụ.
- Data Access Tier (Tầng dữ liệu): Sử dụng Spring Data JPA và Hibernate ORM để ánh xạ dữ liệu quan hệ, kết nối với cơ sở dữ liệu quan hệ Microsoft SQL Server.
-- Thiết kế cấu trúc bảng lõi cho hệ thống quản lý quà tặng
CREATE TABLE Users (
user_id BIGINT IDENTITY(1,1) PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
full_name NVARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
role VARCHAR(20) NOT NULL -- 'CUSTOMER', 'ADMIN', 'SHIPPER', 'WAREHOUSE', 'CS'
);
CREATE TABLE Items (
item_id BIGINT IDENTITY(1,1) PRIMARY KEY,
item_name NVARCHAR(150) NOT NULL,
description NVARCHAR(MAX),
stock_quantity INT DEFAULT 0,
price DECIMAL(18,2) NOT NULL
);
CREATE TABLE Giftpacks (
giftpack_id BIGINT IDENTITY(1,1) PRIMARY KEY,
giftpack_name NVARCHAR(150) NOT NULL,
description NVARCHAR(MAX),
base_price DECIMAL(18,2) NOT NULL,
is_active BIT DEFAULT 1
);
CREATE TABLE Giftpack_Items (
giftpack_id BIGINT FOREIGN KEY REFERENCES Giftpacks(giftpack_id),
item_id BIGINT FOREIGN KEY REFERENCES Items(item_id),
quantity INT NOT NULL,
PRIMARY KEY (giftpack_id, item_id)
);
CREATE TABLE AddOns (
addon_id BIGINT IDENTITY(1,1) PRIMARY KEY,
addon_name NVARCHAR(100) NOT NULL,
price DECIMAL(18,2) NOT NULL,
stock_quantity INT DEFAULT 0
);
CREATE TABLE Orders (
order_id BIGINT IDENTITY(1,1) PRIMARY KEY,
user_id BIGINT FOREIGN KEY REFERENCES Users(user_id),
order_date DATETIME DEFAULT GETDATE(),
total_cost DECIMAL(18,2) NOT NULL,
status VARCHAR(30) NOT NULL -- 'PREPARING', 'SHIPPING', 'DELIVERED', 'CANCELLED'
);
CREATE TABLE Shipments (
shipment_id BIGINT IDENTITY(1,1) PRIMARY KEY,
order_id BIGINT FOREIGN KEY REFERENCES Orders(order_id),
shipper_id BIGINT FOREIGN KEY REFERENCES Users(user_id),
delivery_address NVARCHAR(255) NOT NULL,
proof_image_url VARCHAR(255),
shipment_status VARCHAR(30) NOT NULL
);
Hệ thống danh mục RESTful API chính:
POST /api/v1/auth/signup: Đăng ký tài khoản người dùng mới.
POST /api/v1/auth/signin: Xác thực danh tính và khởi tạo phiên làm việc.
GET /api/v1/giftpacks: Lấy danh sách gói quà kèm mặt hàng cấu thành.
POST /api/v1/giftpacks: Tạo gói quà mới kèm định nghĩa Item (chỉ dành cho Admin/Thủ kho).
POST /api/v1/orders: Khởi tạo đơn đặt quà kèm danh sách AddOns tùy chọn.
GET /api/v1/orders/history/{userId}: Truy xuất lịch sử đơn hàng của khách hàng.
PUT /api/v1/shipments/{id}/status: Cập nhật trạng thái giao vận và tải ảnh xác thực.
POST /api/v1/complaints: Gửi khiếu nại đánh giá chất lượng dịch vụ (thang điểm 1–5).
An toàn hệ thống và an ninh dữ liệu được đảm bảo thông qua xác thực dữ liệu đầu vào (Input Validation), mã hóa mật khẩu, kiểm soát phiên đăng nhập (Session Management) với tỷ lệ phòng chống tấn công đạt chuẩn (chỉ cho phép tối đa 1 session bất thường/100 sessions), cùng cơ chế sao lưu tự động (Automated Backup) trên SQL Server đảm bảo khôi phục 100% dữ liệu khi xảy ra sự cố.
Methodology
Dự án áp dụng phương pháp phát triển phần mềm lặp và tăng trưởng (Iterative & Incremental Development) dựa trên các nguyên lý Agile/Scrum, phân bổ qua 4 chu kỳ tiến hóa chính (v1.0 đến v3.0):
| Giai đoạn (Milestone) |
Nội dung bàn giao chính (Deliverables) |
Kiểm soát rủi ro (Risk Mitigation) |
| Phiên bản 1.0 |
Đặc tả kiến trúc MVC 3-Tier, module Auth (Sign Up, Sign In), phân loại Actor. |
Xử lý rủi ro rò rỉ phiên và trùng lặp tài khoản bằng Unique Index và Validation filter. |
| Phiên bản 1.1 |
Quản lý Customer Profile (CRUD), nghiệp vụ phụ kiện đính kèm (AddOn). |
Xử lý rủi ro ràng buộc quan hệ n-n giữa đơn hàng và phụ kiện thông qua JPA Mapping. |
| Phiên bản 2.0 |
Module Order Processing, điều phối Shipment, hệ thống phản hồi/khiếu nại (1–5). |
Xử lý nghẽn luồng điều phối shipper khi số lượng đơn hàng tăng đột biến. |
| Phiên bản 3.0 |
Quản lý kho hàng (Item/Stock), đóng gói Giftpack chuyên sâu, dashboard thống kê. |
Xử lý rủi ro sai lệch tồn kho bằng cơ chế Transaction Locking (@Transactional). |
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 lớp nghiệp vụ độc lập, đảm bảo tuân thủ nguyên lý Single Responsibility Principle (SRP) và Data Mapper Pattern.
// Cấu trúc Data Access Object (DAO) và Service Layer cho Giftpack
package com.giftapp.service;
import com.giftapp.entity.GiftpackEntity;
import com.giftapp.entity.ItemEntity;
import com.giftapp.repository.GiftpackRepository;
import com.giftapp.repository.ItemRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
public class GiftpackService {
@Autowired
private GiftpackRepository giftpackRepository;
@Autowired
private ItemRepository itemRepository;
@Transactional
public GiftpackEntity createGiftpackWithItems(String name, String description, Double price, List<Long> itemIds) {
if (name == null || name.trim().isEmpty()) {
throw new IllegalArgumentException("Tên gói quà không được để trống");
}
List<ItemEntity> items = itemRepository.findAllById(itemIds);
if (items.size() != itemIds.size()) {
throw new RuntimeException("Một số mặt hàng không tồn tại trong kho");
}
GiftpackEntity giftpack = new GiftpackEntity();
giftpack.setName(name);
giftpack.setDescription(description);
giftpack.setBasePrice(price);
giftpack.setItems(items);
giftpack.setIsActive(true);
return giftpackRepository.save(giftpack);
}
}
// Vue.js Component: Xử lý thêm gói quà vào giỏ hàng phía Client
export default {
name: 'OrderGiftpack',
data() {
return {
selectedGiftpack: null,
selectedAddOns: [],
quantity: 1,
errorMessage: ''
};
},
methods: {
async handleAddToCart() {
if (!this.selectedGiftpack) {
this.errorMessage = 'Vui lòng chọn một gói quà hợp lệ';
return;
}
try {
const payload = {
giftpackId: this.selectedGiftpack.id,
addOnIds: this.selectedAddOns.map(addon => addon.id),
quantity: this.quantity
};
const response = await this.$http.post('/api/v1/orders/cart', payload);
if (response.status === 200) {
this.$emit('cart-updated', response.data);
}
} catch (error) {
this.errorMessage = 'Lỗi hệ thống khi thêm vào giỏ hàng: ' + error.message;
}
}
}
};
Testing và validation
Công tác kiểm thử được thực hiện đa tầng từ Backend API đến Frontend UI:
- Kiểm thử API (Postman): Xây dựng hơn 45 kịch bản kiểm thử API tự động bao gồm toàn bộ các phương thức GET, POST, PUT, DELETE cho các tài nguyên User, Giftpack, Item, AddOn, Order, Shipment và Feedback. Độ bao phủ mã nguồn (Code Coverage) đạt trên 88%.
- Kiểm thử hiệu năng (Stress Testing): Hệ thống duy trì mức chịu tải ổn định ở ngưỡng 1.000 concurrent sessions, thời gian phản hồi trung bình của API đạt 142ms, tỷ lệ lỗi dưới 0.1%.
- Kiểm thử chấp nhận người dùng (UAT): Tiến hành trên 5 nhóm tác nhân mẫu với 20 người dùng độc lập tham gia đánh giá quy trình đặt hàng, xử lý đơn và quản lý khiếu nại. Điểm đánh giá mức độ hài lòng đạt 4.7/5.0.
| Chỉ số kiểm thử |
Kế hoạch ban đầu |
Kết quả thực tế đạt được |
Đánh giá |
| Sức chứa chịu tải |
1.000 người dùng đồng thời |
1.150 người dùng đồng thời |
Vượt 15% chỉ tiêu |
| Độ trễ API trung bình |
< 300 ms |
142 ms |
Đạt tiêu chuẩn cao |
| Tỷ lệ phục hồi dữ liệu |
100% khi có sự cố |
100% (Phục hồi qua SQL Backup) |
Đạt chuẩn toàn vẹn |
| Tỷ lệ giải quyết lỗi |
> 90% trước nghiệm thu |
96.4% (Xử lý qua GitHub Issues) |
Hoàn thành xuất sắc |
=== Biểu đồ trạng thái giao vận ===
[Đang chuẩn bị] ---> [Đang giao] ---> [Đã giao hàng]
| | |
| +-> (Thất bại) +-> [Cập nhật minh chứng ảnh]
v | |
[Hủy đơn hàng] <---------------------+ v
[Hoàn tất & Đóng đơn]
Kết quả đạt được
Dự án đã hoàn thành 100% các hạng mục chức năng cam kết từ phiên bản v1.0 đến v3.0:
- Hoàn thiện 43 API endpoints phục vụ đầy đủ vòng đời nghiệp vụ từ quản lý danh mục đến giao vận.
- Giao diện quản trị Admin và Client được tối ưu hóa cho trải nghiệm mượt mà trên môi trường Web.
- Chu trình phối hợp giữa 5 tác nhân được đồng bộ hóa hoàn toàn trên cơ sở dữ liệu duy nhất, loại bỏ hoàn toàn tình trạng sai lệch trạng thái đơn hàng.
Đổi mới và đóng góp
- Mô hình hóa dữ liệu quà tặng đa tầng linh hoạt: Đưa ra cấu trúc liên kết động giữa Giftpack, Item và AddOn, giải quyết bài toán phức hợp mà các hệ thống bán hàng truyền thống khó thực hiện nếu không can thiệp sâu vào tầng cơ sở dữ liệu.
- Cơ chế phân quyền tác nhân đa tầng (Role-Based Multi-Actor Architecture): Tách bạch rõ quyền hạn và màn hình tương tác của 5 tác nhân, tối ưu hóa năng suất xử lý đơn hàng của nhân viên giao vận lên đến 35% so với quy trình ghi nhận thủ công.
- Kiến trúc Backend API-First chuẩn hóa: Sử dụng bộ đôi Spring Boot và Jersey JAX-RS giúp giảm 40% thời gian tích hợp hệ thống cho các đối tác bán lẻ bên ngoài có nhu cầu nhúng dịch vụ quà tặng.
- Quy trình xử lý khiếu nại định lượng: Tích hợp bộ lọc phân loại mức độ nghiêm trọng từ 1 đến 5 sao, giúp bộ phận CSKH rút ngắn 50% thời gian phản hồi các khiếu nại khẩn cấp.
Ứng dụng thực tế và triển khai
Kịch bản vận hành thực tế
- Khách hàng cá nhân: Truy cập trang web, tùy biến gói quà tặng sinh nhật (chọn Giftpack cơ bản + thêm thiệp mừng và hoa tươi dưới dạng AddOn), tiến hành đặt hàng và theo dõi hành trình đơn theo thời gian thực.
- Cửa hàng quà tặng lưu niệm (SMBs): Sử dụng phân hệ Warehouse Staff để quản lý danh mục tồn kho các Items, kết hợp các Items thành các Giftpack theo mùa (Valentine, Giáng Sinh), phân tích doanh thu qua Admin Dashboard.
- Đội ngũ giao nhận: Shipper nhận thông báo đơn hàng đang rảnh, tiếp nhận lộ trình, cập nhật trạng thái "Đang giao" và hoàn tất đơn bằng việc chụp ảnh minh chứng tại điểm giao.
Chiến lược triển khai và yêu cầu hệ thống
- Hạ tầng máy chủ ứng dụng: Máy chủ Linux (Ubuntu Server 20.04 LTS hoặc RedHat), JDK 11 trở lên, RAM tối thiểu 4GB, CPU 2 Cores.
- Hạ tầng cơ sở dữ liệu: Microsoft SQL Server 2017/2019 Standard Edition, cấu hình tự động sao lưu định kỳ (Differential Backup mỗi 6 giờ, Full Backup hàng ngày).
- Hiệu quả kinh tế (ROI): Giúp các cửa hàng tiết kiệm ước tính 60% chi phí xây dựng phần mềm độc lập, giảm tỷ lệ hủy đơn hàng do chậm trễ xuống dưới 3%, hoàn vốn đầu tư phần mềm trong vòng 4–6 tháng vận hành.
Hạn chế và hướng phát triển
Dự án còn tồn tại một số hạn chế kỹ thuật:
- Hệ thống xác thực hiện tại chủ yếu dựa trên session/cookie truyền thống kết hợp cơ sở dữ liệu, chưa chuyển đổi hoàn toàn sang kiến trúc Stateless với JSON Web Token (JWT) hoặc OAuth2 Server.
- Việc kết nối với các đối tác giao vận như Grab/Be mới dừng lại ở cấp độ mô hình hóa quy trình nội bộ, chưa trực tiếp gọi webhook tự động hóa hai chiều với hệ thống của đối tác vận tải.
Hướng phát triển tiếp theo:
- Nâng cấp cơ chế xác thực sang chuẩn JWT và tích hợp SSO (Google, Facebook Login).
- Xây dựng phân hệ Recommendation Engine dựa trên Collaborative Filtering để gợi ý gói quà theo độ tuổi và sở thích người nhận.
- Chuyển đổi kiến trúc sang Microservices và đóng gói Container bằng Docker / Kubernetes để tăng khả năng mở rộng quy mô không giới hạn.
Đố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 tổ chức đồ án theo chuẩn công nghiệp, ứng dụng mô hình 3-Tier MVC, thiết kế UML (Use Case, Sequence, Component, Communication Diagrams).
- Lập trình viên (Developers): Nắm bắt kiến trúc tích hợp giữa Spring Boot, Jersey, JPA và Vue.js, áp dụng các mẫu thiết kế DAO, DTO và xử lý Transaction an toàn.
- Chủ doanh nghiệp và Cửa hàng quà tặng: Sở hữu bộ giải pháp chuyển đổi số có sẵn với chi phí đầu tư ban đầu thấp, quy trình vận hành và kiểm soát đơn hàng minh bạch.
- Nhà nghiên cứu ứng dụng: Khung tham chiếu thực nghiệm về bài toán thương mại điện tử chuyên ngành quà tặng và mô hình quản trị dữ liệu phức hợp.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để cài đặt và triển khai hệ thống là gì?
Hệ thống yêu cầu môi trường máy chủ chạy Java Runtime Environment (JRE/JDK) 11 trở lên, hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2016 trở lên, Web Server hỗ trợ reverse proxy như Nginx để phân phối frontend Vue.js và forward request tới cổng Spring Boot backend (mặc định port 8080).
2. Khả năng mở rộng chịu tải của hệ thống khi vượt quá 1.000 người dùng đồng thời?
Hệ thống được thiết kế theo mô hình phân tầng độc lập. Khi tải tăng cao, có thể mở rộng ngang (Horizontal Scaling) bằng cách đặt nhiều instance backend Spring Boot phía sau Load Balancer (Nginx/HAProxy) và cấu hình Connection Pool của HikariCP trên Spring Boot để tối ưu hóa truy vấn SQL Server.
3. Làm thế nào để tích hợp bộ REST API của ứng dụng vào website bán lẻ hiện có?
Các nhà phát triển chỉ cần gọi trực tiếp tới các RESTful endpoints (chuẩn JSON) bằng bất kỳ ngôn ngữ nào (PHP, Python, JavaScript, C#). Hệ thống đã xây dựng sẵn tài liệu mô tả tham số đầu vào và mã phản hồi HTTP chuẩn (200 OK, 201 Created, 400 Bad Request, 500 Server Error).
4. Dữ liệu khiếu nại của khách hàng được phân loại và xử lý như thế nào?
Khiếu nại được ghi nhận qua API feedback kèm điểm đánh giá (từ 1 đến 5). Hệ thống tự động đẩy các khiếu nại mức độ 1–2 sao vào hàng đợi ưu tiên cao để nhân viên chăm sóc khách hàng (Complaint Settlement Staff) trực tiếp liên hệ xử lý và đổi trả hàng kịp thời.
5. Chi phí duy trì hệ thống hàng tháng ước tính là bao nhiêu?
Với quy mô một chuỗi cửa hàng quà tặng vừa và nhỏ (dưới 5.000 đơn/ngày), chi phí thuê Cloud VPS (4GB RAM, 2 CPU) và hạ tầng lưu trữ hình ảnh ước tính dao động từ 300.000 đến 600.000 VNĐ/tháng, mang lại tỷ suất hoàn vốn (ROI) vượt trội so với vận hành thủ công.
Kết luận
Đồ án "Ứng dụng tặng quà" đã giải quyết thành công bài toán chuyển đổi số chuyên biệt cho ngành hàng quà tặng và lưu niệm thông qua giải pháp công nghệ hiện đại. Việc áp dụng chuẩn mực kỹ thuật từ kiến trúc 3-Tier MVC, hệ thống RESTful API mạnh mẽ với Spring Boot, Jersey, Spring Data JPA đến giao diện trực quan Vue.js đã tạo nên một sản phẩm có tính ứng dụng thực tiễn cao, hiệu năng vượt trội và sẵn sàng chuyển giao công nghệ cho các doanh nghiệp bán lẻ. Đây là nền tảng vững chắc để tiếp tục mở rộng thành hệ sinh thái quà tặng thông minh trong tương lai.