Giới thiệu dự án
Thương mại điện tử (E-Commerce) tại Việt Nam đang duy trì tốc độ tăng trưởng ấn tượng từ 20-25%/năm, làm thay đổi toàn diện hành vi tiêu dùng từ mô hình bán lẻ truyền thống sang mua sắm kỹ thuật số. Ngành bán lẻ sách cũng không nằm ngoài quỹ đạo này khi độc giả ngày càng đòi hỏi trải nghiệm tìm kiếm nhanh chóng, danh mục sản phẩm phong phú và khả năng tương tác hỗ trợ tức thì 24/7. Tuy nhiên, các nhà sách truyền thống đang đối mặt với bài toán chi phí mặt bằng đắt đỏ, nhân sự vận hành ca đêm tốn kém và sự thiếu hụt các công cụ phân tích tự động hóa hành vi khách hàng.
Đồ án tốt nghiệp "Xây dựng website bán sách trực tuyến" được thực hiện bởi sinh viên Trịnh Ngọc Khánh (MSSV: 19110377) và Nguyễn Anh Phú (MSSV: 19110429) dưới sự hướng dẫn của ThS. Lê Thị Minh Châu tại Khoa Công nghệ Thông tin – Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE). Đề tài tập trung giải quyết các bài toán cốt lõi:
- Xóa bỏ rào cản thời gian và vị trí địa lý thông qua nền tảng web thương mại điện tử chuyên biệt cho ngành sách.
- Tự động hóa dịch vụ tư vấn khách hàng bằng việc tích hợp hệ thống trí tuệ nhân tạo (Chatbot AI) thông minh xử lý hội thoại tự nhiên theo thời gian thực.
- Chuẩn hóa quy trình quản trị dữ liệu tập trung, theo dõi đơn hàng và phân tích doanh thu minh bạch cho nhà quản lý.
+-----------------------------------------------------------------------------------+
| MỤC TIÊU DỰ ÁN |
+-----------------------------------------------------------------------------------+
| 1. Xây dựng CSDL chuẩn hóa trên Microsoft SQL Server cho hơn 10.000 đầu sách. |
| 2. Phát triển hệ thống Backend RESTful API vững chắc với Java Spring Boot. |
| 3. Xây dựng giao diện Frontend Responsive bằng Thymeleaf, AngularJS & Bootstrap. |
| 4. Triển khai AI Chatbot bằng Rasa 3.x với NLU và Dialogue Management. |
| 5. Tối ưu hóa hiệu năng: Tải trang < 1.5s, phục vụ đồng thời 200+ active users. |
+-----------------------------------------------------------------------------------+
Phương pháp tiếp cận của dự án là sự kết hợp giữa mô hình kiến trúc đa tầng (Multi-tier Architecture) hướng dịch vụ và mô hình xử lý ngôn ngữ tự nhiên (NLP) tiên tiến. Hệ thống giới hạn phạm vi trong phân hệ bán lẻ B2C (Business-to-Consumer), hỗ trợ thanh toán khi nhận hàng (COD), quản lý kho vận cơ bản và tích hợp cổng tương tác Facebook Messenger kết hợp Rasa AI Chatbot chuyên sâu.
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 tế các nền tảng phân phối sách trực tuyến lớn tại Việt Nam như Fahasa, Tiki và Nhà sách Phương Nam cho thấy những ưu thế vượt trội về mặt quy mô nhưng cũng bộc lộ những rào cản nhất định đối với các nhà sách quy mô vừa và nhỏ:
| Tiêu chí phân tích |
Tiki / Fahasa |
Nhà sách Phương Nam |
Giải pháp của đồ án |
| Kiến trúc hệ thống |
Microservices phức tạp |
Monolithic truyền thống |
RESTful Modular Spring Boot |
| Hỗ trợ khách hàng |
CSKH trực tiếp / Chatbot Rule |
Tổng đài viên truyền thống |
Rasa AI Chatbot (NLU + TEDPolicy) |
| Chi phí triển khai |
Rất cao (Hàng trăm triệu VNĐ) |
Cao (Bảo trì định kỳ lớn) |
Tối ưu mã nguồn mở, chi phí thấp |
| Khả năng tùy biến |
Khó đóng gói cho nhà sách nhỏ |
Phụ thuộc bên thứ ba |
Dễ dàng tùy biến mã nguồn & CSDL |
| Tốc độ phản hồi Bot |
2 - 5 giây |
Không hỗ trợ Chatbot |
Dưới 500ms qua Action Server |
Áp dụng phương pháp phân tích MoSCoW để xác định yêu cầu nghiệp vụ:
- Must have (Bắt buộc): Đăng nhập/Đăng ký xác thực JWT, Danh mục sách phân tầng, Giỏ hàng, Đặt hàng, Thanh toán COD, Quản trị sản phẩm, Quản trị người dùng, Chatbot tra cứu tự động.
- Should have (Nên có): Mã giảm giá/Voucher (
Discount), Đánh giá & Bình luận sao (Comments), Yêu thích (Favorites), Thống kê doanh thu theo tuần/tháng/năm.
- Could have (Có thể có): Tích hợp Plugin Facebook Messenger, Phân quyền chi tiết nhân viên (
Roles, User_Role).
- Won't have (Chưa làm đợt này): Tích hợp cổng thanh toán quốc tế Visa/Mastercard tự động trừ tiền qua Webhook ngân hàng.
Thiết kế hệ thống
Kiến trúc hệ thống tuân theo mô hình phân lớp hiện đại, tách bạch rõ ràng giữa Presentation Layer, Business Logic Layer, Data Access Layer và AI Engine Service:
Hệ thống công nghệ được chuẩn hóa với các phiên bản ổn định:
- Ngôn ngữ Backend: Java JDK 11, Python 3.8+ (Dành cho AI Chatbot).
- Backend Framework: Spring Boot 2.7.x, Spring Data JPA, Spring Security, Hibernate ORM 5.6.x.
- Database Management System: Microsoft SQL Server 2019 Enterprise.
- Frontend Stack: HTML5, CSS3, JavaScript ES6, JQuery 3.6.0, Bootstrap 5.2, AngularJS 1.8.2, Thymeleaf Engine.
- AI & NLP Engine: Rasa Framework 3.5.x, Spacy, Transformers.
- Build & Server Tools: Apache Maven 3.8.x, Apache Tomcat 9.0 Embedded.
Thiết kế cơ sở dữ liệu quan hệ (RDBMS)
Cơ sở dữ liệu bao gồm 14 thực thể chính được chuẩn hóa ở dạng chuẩn 3NF. Dưới đây là lược đồ DDL cho 3 thực thể cốt lõi (Products, Orders, Discount):
CREATE TABLE Products (
ID INT IDENTITY(1,1) PRIMARY KEY,
Code NVARCHAR(20) NOT NULL UNIQUE,
Name NVARCHAR(MAX) NOT NULL,
Price INT NOT NULL CHECK (Price >= 0),
Point INT DEFAULT 0,
Views INT DEFAULT 0,
Description NVARCHAR(MAX),
Specification NVARCHAR(MAX),
Image1 NVARCHAR(100),
Image2 NVARCHAR(100),
Image3 NVARCHAR(100),
Active BIT DEFAULT 1,
Menu_Id INT FOREIGN KEY REFERENCES MenuOne(Id),
Cate_Id INT FOREIGN KEY REFERENCES Categories(Id),
NameSearch NVARCHAR(50),
CreateDay DATETIME DEFAULT GETDATE(),
PersonCreate INT
);
CREATE TABLE Discount (
Id INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(50) NOT NULL,
Code VARCHAR(10) NOT NULL UNIQUE,
Price INT NOT NULL,
Quantity INT NOT NULL,
ApplyDay DATE NOT NULL,
Expiration DATE NOT NULL,
MoneyLimit INT NOT NULL,
CreateDay DATETIME DEFAULT GETDATE()
);
CREATE TABLE Orders (
Id INT IDENTITY(1,1) PRIMARY KEY,
Code VARCHAR(6) NOT NULL UNIQUE,
Product_Id INT NOT NULL FOREIGN KEY REFERENCES Products(ID),
Address_Id INT NOT NULL FOREIGN KEY REFERENCES Address(Id),
Discount_Id INT FOREIGN KEY REFERENCES Discount(Id),
Quantity INT NOT NULL CHECK (Quantity > 0),
Date DATE DEFAULT GETDATE(),
Method CHAR(1) DEFAULT '1', -- 1: COD, 2: Online
Status CHAR(1) DEFAULT '0', -- 0: Cho duyet, 1: Dang giao, 2: Hoan thanh, 3: Huy
Comment NVARCHAR(255)
);
Thiết kế RESTful API Specification
| Endpoint |
Method |
Role |
Mô tả chức năng |
Request Body / Param |
Response Code |
/api/v1/auth/login |
POST |
Public |
Xác thực người dùng & cấp token |
{"email", "password"} |
200 OK, 401 Unauthorized |
/api/v1/products |
GET |
Public |
Lấy danh sách sản phẩm phân trang |
?page=0&size=12&cateId=1 |
200 OK |
/api/v1/products/{id} |
GET |
Public |
Xem chi tiết thông tin sách |
id: Integer |
200 OK, 404 Not Found |
/api/v1/orders |
POST |
User |
Đặt đơn hàng mới kèm mã giảm giá |
{"productId", "addressId", "codeDiscount"} |
201 Created, 400 Bad Request |
/api/v1/admin/orders |
PUT |
Admin |
Cập nhật trạng thái xử lý đơn |
{"orderCode", "status"} |
200 OK, 403 Forbidden |
Methodology
Quy trình phát triển phần mềm áp dụng mô hình Agile/Scrum với chu kỳ 4 Sprint (mỗi Sprint kéo dài 4 tuần, tổng thời gian thực hiện 16 tuần):
- Sprint 1 (Tuần 1 - 4): Khảo sát nghiệp vụ, thu thập tài liệu đặc tả, thiết kế mô hình Use Case, ERD CSDL trên MS SQL Server và khởi tạo khung dự án Spring Boot.
- Sprint 2 (Tuần 5 - 8): Xây dựng tầng Data Access (JPA Entities, Repositories), phát triển các REST API CRUD cho Sách, Danh mục, Người dùng, Giỏ hàng và viết API Security bằng JWT.
- Sprint 3 (Tuần 9 - 12): Thiết kế giao diện Frontend với Bootstrap và AngularJS, binding dữ liệu qua Thymeleaf, xây dựng kịch bản hội thoại và huấn luyện Rasa NLU Model.
- Sprint 4 (Tuần 13 - 16): Tích hợp Rasa Action Server với Spring Boot API, kiểm thử tích hợp (Integration Test), kiểm thử chấp nhận người dùng (UAT) và triển khai Demo.
Đánh giá rủi ro và giải pháp khắc phục:
- Rủi ro tràn kết nối CSDL khi lưu lượng tăng cao: Cấu hình HikariCP Connection Pool (Max Pool Size = 20, Min Idle = 5).
- Rủi ro Intent sai lệch trong Chatbot: Thiết lập ngưỡng tin cậy
fallback_threshold = 0.7 và sử dụng RulePolicy để chuyển hướng cuộc gọi hỗ trợ khi điểm tương đồng thấp.
Implementation và kết quả
Development process
Backend áp dụng nguyên lý Clean Architecture và Dependency Injection. Dưới đây là đoạn mã nguồn xử lý nghiệp vụ đặt hàng và kiểm tra tính hợp lệ của mã giảm giá trong OrderServiceImpl.java:
@Service
@Transactional
public class OrderServiceImpl implements OrderService {
@Autowired
private ProductRepository productRepo;
@Autowired
private DiscountRepository discountRepo;
@Autowired
private OrderRepository orderRepo;
@Override
public OrderResponse createOrder(OrderRequest request, Integer userId) {
Product product = productRepo.findById(request.getProductId())
.orElseThrow(() -> new ResourceNotFoundException("Sản phẩm không tồn tại"));
if (product.getQuantity() < request.getQuantity()) {
throw new InsufficientStockException("Số lượng sách trong kho không đủ");
}
int finalPrice = product.getPrice() * request.getQuantity();
if (request.getDiscountCode() != null && !request.getDiscountCode().isEmpty()) {
Discount discount = discountRepo.findByCodeAndExpirationAfter(
request.getDiscountCode(), new Date()
).orElseThrow(() -> new InvalidVoucherException("Mã giảm giá không hợp lệ hoặc đã hết hạn"));
if (discount.getQuantity() > 0 && finalPrice >= discount.getMoneyLimit()) {
finalPrice = Math.max(0, finalPrice - discount.getPrice());
discount.setQuantity(discount.getQuantity() - 1);
discountRepo.save(discount);
}
}
Orders order = new Orders();
order.setCode("ORD" + System.currentTimeMillis() % 1000000);
order.setProductId(product.getId());
order.setQuantity(request.getQuantity());
order.setDate(new java.sql.Date(System.currentTimeMillis()));
order.setStatus("0"); // Đang chờ duyệt
Orders savedOrder = orderRepo.save(order);
product.setQuantity(product.getQuantity() - request.getQuantity());
productRepo.save(product);
return new OrderResponse(savedOrder.getCode(), finalPrice, "Đặt hàng thành công");
}
}
Đối với phân hệ AI Chatbot, Rasa 3.x sử dụng Action Server bằng Python để truy vấn ngược lại API sách từ hệ thống Backend nhằm cung cấp phản hồi động:
from typing import Any, Text, Dict, List
from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
import requests
class ActionSearchBook(Action):
def name(self) -> Text:
return "action_search_book"
def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
book_title = tracker.get_slot("book_title")
backend_url = f"http://localhost:8080/api/v1/products/search?name={book_title}"
try:
response = requests.get(backend_url, timeout=3)
if response.status_code == 200 and len(response.json()) > 0:
book = response.json()[0]
msg = f"Đã tìm thấy sách: {book['name']} - Giá: {book['price']:,} VNĐ. Bạn có muốn đặt mua không?"
else:
msg = f"Rất tiếc, hiện tại nhà sách chưa có tựa sách '{book_title}'."
except requests.exceptions.RequestException:
msg = "Hệ thống tra cứu đang bận, vui lòng thử lại sau giây lát."
dispatcher.utter_message(text=msg)
return []
Testing và validation
Quá trình kiểm thử phần mềm được thực hiện đa tầng từ Unit Test, API Functional Test đến Performance Load Test:
- Unit & Integration Testing: Sử dụng JUnit 5 và Mockito kiểm thử toàn bộ Service Layer với độ phủ mã nguồn (Code Coverage) đạt 84.6% qua công cụ JaCoCo.
- API Testing: Thực hiện kiểm thử tự động 56 kịch bản API thông qua Postman Runner, tỷ lệ Pass đạt 100%.
- Hiệu năng chịu tải (JMeter Load Test):
- Số lượng luồng giả lập (Concurrent Virtual Users): 200 người dùng liên tục trong 10 phút.
- Tần suất yêu cầu: 1.200 requests/phút.
- Thời gian phản hồi trung bình (Average Response Time): 245 ms.
- Tỷ lệ lỗi (Error Rate): 0.00%.
- Băng thông xử lý (Throughput): 42.8 requests/second.
+-----------------------------------------------------------------------------------+
| KẾT QUẢ KIỂM THỬ MÔ HÌNH RASA NLU |
+------------------------------------+---------------+---------------+--------------+
| Intent | Precision | Recall | F1-Score |
+------------------------------------+---------------+---------------+--------------+
| greet (Chào hỏi) | 0.98 | 0.97 | 0.975 |
| search_book (Tìm kiếm sách) | 0.94 | 0.91 | 0.925 |
| check_order_status (Tra cứu đơn) | 0.92 | 0.95 | 0.935 |
| ask_shipping_policy (Chính sách) | 0.96 | 0.94 | 0.950 |
| out_of_scope (Ngoại vi / Fallback) | 0.89 | 0.86 | 0.875 |
+------------------------------------+---------------+---------------+--------------+
| Average / Total | 0.938 | 0.926 | 0.932 |
+------------------------------------+---------------+---------------+--------------+
Kết quả đạt được
Hệ thống đã hoàn thiện toàn diện các tính năng đã đề ra trong đề cương khóa luận:
- Về mặt tính năng: Đạt 100% mục tiêu ban đầu (16/16 use case chính bao gồm: Đăng ký, Đăng nhập, Giỏ hàng, Đặt hàng, Quản lý danh mục đa tầng
MenuOne/MenuTwo, Quản trị người dùng, Quản trị nhân viên, Thống kê biểu đồ doanh thu).
- Về phân hệ Chatbot: Huấn luyện thành công hơn 500 mẫu câu (utterances) trên 12 nhóm Intent và 6 nhóm Entity, đạt độ chính xác tổng thể F1-Score là 0.932.
- Đánh giá trải nghiệm người dùng (UAT): Thử nghiệm trên 40 sinh viên và độc giả cho điểm số hài lòng trung bình (CSAT) đạt 4.6/5.0 về tốc độ tải trang và tính tiện lợi của trợ lý ảo.
Đổi mới và đóng góp
- Ứng dụng Trí tuệ nhân tạo đàm thoại (Conversational AI): Điểm cải tiến nổi bật nhất của đề tài so với các đồ án thương mại điện tử truyền thống là việc tích hợp nền tảng Rasa 3.x. Thay vì chỉ sử dụng các chatbot dạng cây quyết định (Rule-based) đơn giản, hệ thống tận dụng
TEDPolicy (Transformer Embedding Dialogue Policy) kết hợp DIETClassifier giúp hiểu rõ ngữ cảnh câu hỏi, tự động trích xuất tên sách và mã đơn hàng ngay trong đoạn chat tự nhiên.
- Kiến trúc Catalog phân cấp 3 tầng: Mô hình dữ liệu được thiết kế mở rộng với quan hệ
Categories $\rightarrow$ MenuOne $\rightarrow$ MenuTwo, cho phép phân loại hàng ngàn đầu sách theo chuyên ngành, thể loại và tác giả một cách linh hoạt mà không làm giảm tốc độ truy vấn.
- Cải thiện hiệu suất vận hành:
- Giảm 65% thời gian chờ đợi phản hồi của khách hàng đối với các câu hỏi về chính sách giao hàng, đổi trả và tình trạng đơn hàng nhờ Chatbot AI phản hồi tức thì dưới 500ms.
- Giảm 40% khối lượng thao tác thủ công của nhân viên trực fanpage thông qua cơ chế tự động đồng bộ API.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
Hệ thống được thiết kế tối ưu cho các nhà sách vừa và nhỏ, các đơn vị xuất bản giáo dục hoặc các chuỗi cửa hàng sách tư nhân đang có nhu cầu chuyển đổi số toàn diện. Người dùng có thể tra cứu sách thông minh theo thể loại hoặc nhận gợi ý tự động từ Chatbot, trong khi quản trị viên có thể theo dõi biến động doanh thu và lượng hàng tồn kho theo thời gian thực trên giao diện Admin trực quan.
Chiến lược và yêu cầu triển khai hạ tầng
+-----------------------------------------------------------------------------------+
| YÊU CẦU HẠ TẦNG HỆ THỐNG |
+---------------------+-------------------------------------------------------------+
| Phần cứng máy chủ | 4 vCPU, 8GB RAM, 80GB SSD NVMe (Hỗ trợ mở rộng). |
| Hệ điều hành Server | Ubuntu Server 20.04 LTS hoặc RedHat Enterprise Linux 8. |
| Runtime & Container | OpenJDK 11, Python 3.8.10, Docker Engine 20.10+, Nginx 1.18|
| Cơ sở dữ liệu | Microsoft SQL Server 2019 Standard / Docker MSSQL Image. |
| Mạng & Tên miền | Băng thông tối thiểu 100 Mbps, Chứng chỉ SSL/TLS Let's |
| | Encrypt bảo mật kết nối. |
+---------------------+-------------------------------------------------------------+
Phân tích chi phí - lợi ích (ROI)
- Chi phí đầu tư ban đầu: Tiết kiệm khoảng 75% so với việc mua các gói giải pháp ERP/E-commerce thương mại nhờ tận dụng hoàn toàn công nghệ mã nguồn mở (Spring Boot, Rasa, PostgreSQL/MSSQL Express).
- Thời gian hoàn vốn (Payback Period): Dự kiến từ 6 - 9 tháng thông qua việc cắt giảm chi phí thuê mặt bằng, giảm 2 nhân sự trực tổng đài hỗ trợ và tăng trưởng 30% doanh thu từ kênh bán lẻ trực tuyến 24/7.
Hạn chế và hướng phát triển
Mặc dù đã đạt được những kết quả xuất sắc, đề tài vẫn còn một số điểm hạn chế mang tính khách quan:
- Hạn chế kỹ thuật: Cổng thanh toán trực tuyến hiện mới hỗ trợ phương thức COD và mô phỏng giao dịch, chưa liên kết trực tiếp cổng thanh toán nội địa qua VNPay/MoMo/ZaloPay.
- Tập dữ liệu huấn luyện Chatbot: Bộ dữ liệu NLU (~500 mẫu câu) chủ yếu tập trung vào các tình huống phổ biến, chưa bao quát hết các phương ngữ vùng miền hoặc lỗi chính tả phức tạp của tiếng Việt.
Hướng phát triển trong tương lai:
- Chuyển dịch toàn bộ kiến trúc từ Monolithic Modular sang Microservices Architecture với Spring Cloud, Eureka Discovery Service và Apache Kafka để xử lý hàng ngàn đơn hàng đồng thời.
- Tích hợp công cụ tìm kiếm toàn văn Elasticsearch nhằm tăng tốc độ tìm kiếm sách mờ (Fuzzy Search) lên dưới 50ms cho kho dữ liệu hàng trăm ngàn đầu sách.
- Nâng cấp mô hình Chatbot sang kiến trúc LLM-RAG (Retrieval-Augmented Generation) kết hợp LangChain và mô hình ngôn ngữ lớn để trả lời sâu hơn về tóm tắt nội dung sách.
Đối tượng hưởng lợi
- Sinh viên & Học viên ngành CNTT: Tài liệu tham khảo toàn diện về cách tổ chức mã nguồn chuẩn MVC, xây dựng CSDL quan hệ chuẩn 3NF và tích hợp AI NLU vào dự án ứng dụng thực tế.
- Lập trình viên (Developers): Nắm vững kỹ thuật lập trình an toàn với Spring Security, xử lý bất đồng bộ trong RESTful API và cấu hình Rasa Action Server kết nối Spring Boot.
- Doanh nghiệp bán lẻ sách (SMEs): Sở hữu một giải pháp công nghệ hoàn chỉnh, chi phí thấp, dễ dàng làm chủ mã nguồn và triển khai nhanh chóng để tăng trưởng doanh số.
- Nhà nghiên cứu: Nền tảng dữ liệu thực nghiệm về độ chính xác của các thuật toán phân loại Intent và Entity Extraction trong bài toán thương mại điện tử tiếng Việt.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai website lên môi trường thực tế là gì?
Hệ thống yêu cầu máy chủ chạy hệ điều hành Linux (khuyến nghị Ubuntu 20.04/22.04 LTS) với tối thiểu 4 Core CPU, 8GB RAM, cài đặt sẵn OpenJDK 11, Python 3.8+ và MS SQL Server. Ứng dụng có thể đóng gói dưới dạng các Docker Container độc lập để triển khai linh hoạt qua Docker Compose.
2. Hệ thống xử lý thế nào khi lượng truy cập tăng đột biến (Traffic Spikes)?
Nhờ kiến trúc Stateless của RESTful API và cơ chế Connection Pooling của HikariCP, hệ thống có thể scale-up dễ dàng. Đồng thời, Rasa Chatbot sử dụng cơ chế Lock Store và Tracker Store để cô lập phiên trò chuyện của từng người dùng, ngăn chặn xung đột tài nguyên hội thoại.
3. Làm thế nào để tích hợp thêm cổng thanh toán VNPay hoặc MoMo?
Hệ thống đã xây dựng sẵn Interface PaymentService. Để tích hợp VNPay/MoMo, lập trình viên chỉ cần tạo class triển khai mới (ví dụ: VNPayServiceImpl), cấu hình Secret Key, Hash Secret và viết Controller xử lý IPN URL (Instant Payment Notification) từ cổng thanh toán gửi về.
4. Chi phí bảo trì và vận hành hệ thống định kỳ ước tính bao nhiêu?
Chi phí vận hành định kỳ rất tiết kiệm, chỉ bao gồm phí thuê Cloud VPS (khoảng 300.000 – 600.000 VNĐ/tháng) và phí duy trì tên miền hàng năm. Không phát sinh chi phí bản quyền phần mềm do hệ thống dùng hoàn toàn mã nguồn mở.
5. Chatbot Rasa học dữ liệu mới bằng cách nào?
Quản trị viên chỉ cần bổ sung các cặp câu hỏi - câu trả lời mới vào file nlu.yml và stories.yml, sau đó chạy lệnh rasa train. Mô hình mới sẽ được cập nhật mà không làm gián đoạn hệ thống Backend chính.
Kết luận
Đồ án tốt nghiệp "Xây dựng website bán sách trực tuyến" của nhóm sinh viên Trịnh Ngọc Khánh và Nguyễn Anh Phú đã giải quyết trọn vẹn bài toán xây dựng một nền tảng thương mại điện tử hiện đại, ổn định và bảo mật. Bằng việc kết hợp sức mạnh kiến trúc của Java Spring Boot, sự linh hoạt của Thymeleaf/AngularJS và trí tuệ nhân tạo đàm thoại từ Rasa 3.x, đồ án đã chứng minh tính khả thi cao và giá trị ứng dụng thực tiễn to lớn cho ngành bán lẻ sách trong kỷ nguyên số hóa.