Giới thiệu dự án
Thương mại điện tử tại Việt Nam đang trải qua giai đoạn tăng trưởng bùng nổ, tuy nhiên thị trường bán lẻ sách trực tuyến vẫn đối mặt với nhiều thách thức về tỷ lệ tiếp cận và trải nghiệm khách hàng. Theo khảo sát xã hội học của Báo Dân trí năm 2021, có đến 80% bạn trẻ không đọc cuốn sách nào trong vòng một năm, 98% không đọc sách trong một tuần và chỉ 12% duy trì thói quen đọc sách thường xuyên. Bên cạnh rào cản thời gian và áp lực công việc của lối sống hiện đại, trải nghiệm tìm kiếm và mua sách trên các nền tảng số hiện hành còn rườm rà, thiếu tính cá nhân hóa và tương tác trực quan.
Khi người tiêu dùng cần tư vấn sâu về nội dung hoặc hỗ trợ giao dịch, các kênh truyền thống như tổng đài hay live chat thủ công thường xuyên xảy ra tình trạng quá tải, thời gian phản hồi kéo dài và chi phí vận hành nhân sự cao. Đồ án khóa luận "Hệ thống kinh doanh sách trực tuyến với Chatbot" được thực hiện bởi nhóm tác giả Phan Quốc An và Võ Thanh Bình, dưới sự hướng dẫn của ThS. Lê Thanh Trọng tại Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM (2022), tập trung giải quyết bài toán cốt lõi: tự động hóa quy trình tư vấn và kinh doanh sách thông qua sự kết hợp giữa kiến trúc đa nền tảng hiện đại và công nghệ xử lý ngôn ngữ tự nhiên (NLP - Natural Language Processing).
+-------------------------------------------------------------------------+
| KIẾN TRÚC TỔNG THỂ HỆ THỐNG |
+-------------------------------------------------------------------------+
| [Flutter Mobile App (Client)] [ReactJS Web Portal (Admin)] |
| \ / |
| \___ (HTTPS / RESTful APIs) ____/ |
| | |
| v |
| [Node.js / Express Server] |
| / | \ |
| (Bcrypt Auth)/ | \(Fulfillment Webhook) |
| v v v |
| [Database Tier] [File Storage] [Dialogflow NLP Engine] |
+-------------------------------------------------------------------------+
Mục tiêu dự án
- Xây dựng ứng dụng di động đa nền tảng cho khách hàng: Phát triển trên nền tảng Flutter, cung cấp giao diện mua sắm trực quan, tra cứu danh mục thông minh, quản lý giỏ hàng và thanh toán bảo mật.
- Xây dựng hệ thống quản trị trung tâm (Admin Dashboard): Phát triển trên nền tảng ReactJS hỗ trợ quản lý kho, nhập/xuất sách, kiểm duyệt bình luận, phân quyền người dùng và báo cáo doanh thu theo thời gian thực.
- Phát triển và tích hợp trợ lý ảo Chatbot thông minh: Ứng dụng Google Dialogflow ES kết hợp Node.js Webhook Integration để xử lý ngôn ngữ tự nhiên tiếng Việt, tự động tra cứu dữ liệu thời gian thực và giải đáp thắc mắc người dùng 24/7.
- Chuẩn hóa kiến trúc và an toàn thông tin: Triển khai mô hình Client-Server phân tầng, mã hóa dữ liệu người dùng qua cơ chế băm mật khẩu Bcrypt với Salt Rounds tiêu chuẩn.
Phương pháp tiếp cận và kết quả kỳ vọng
Dự án áp dụng mô hình phân tách độc lập giữa tầng giao diện (Front-end), tầng xử lý nghiệp vụ (Back-end) và tầng trí tuệ nhân tạo (NLP Engine). Hệ thống kỳ vọng đạt các chỉ số kỹ thuật:
- Thời gian phản hồi trung bình của hệ thống API dưới $250\text{ ms}$.
- Độ chính xác nhận diện ý định người dùng (Intent Classification) của Chatbot đạt trên $88%$.
- Khả năng xử lý đồng thời (Concurrency) đạt tối thiểu $100$ requests/giây mà không xảy ra nghẽn luồng xử lý.
Phạm vi và giới hạn
Hệ thống triển khai thực tế trên hệ điều hành Android cho ứng dụng di động của khách hàng, nền tảng Web tiêu chuẩn cho trang quản trị viên, và giới hạn tập trung vào mô hình bán lẻ sách tiếng Việt tại thị trường nội địa.
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 kinh doanh sách và thương mại điện tử lớn tại Việt Nam cho thấy các ưu và nhược điểm rõ rệt:
| Nền tảng |
Ưu điểm kỹ thuật |
Hạn chế cốt lõi |
Mức độ hỗ trợ Chatbot |
| Tiki |
Hạ tầng chịu tải cực lớn, hỗ trợ đa nền tảng Web/Mobile. |
Nhiều mặt hàng tổng hợp gây loãng trải nghiệm tìm sách, thiếu đánh giá chuyên sâu. |
Cơ bản (Rule-based dạng cây quyết định, thiếu NLP sâu). |
| Fahasa |
Danh mục sách phong phú, phân loại thể loại chi tiết. |
Giao diện nhiều chi tiết thừa, quảng cáo gây rối mắt, tốc độ tải trang trung bình. |
Chưa tích hợp Chatbot AI trực quan, chủ yếu qua form liên hệ. |
| Vinabook |
Lâu đời tại Việt Nam, dữ liệu đầu sách đa dạng. |
Giao diện truyền thống, chưa tối ưu trải nghiệm Mobile App hiện đại. |
Tương tác hoàn toàn thủ công qua nhân viên chăm sóc khách hàng. |
| Hệ thống đề xuất |
Giao diện tinh gọn theo Material Design, chuyên biệt hóa nghiệp vụ sách, tích hợp Chatbot AI. |
Cần thời gian mở rộng tập dữ liệu huấn luyện NLP cho các đầu sách mới. |
Toàn diện: Xử lý hội thoại tự nhiên, tra cứu kho sách động qua Webhook. |
Ưu tiên yêu cầu theo mô hình MoSCoW
- Must have (Bắt buộc): Đăng ký/đăng nhập phân quyền bảo mật (Bcrypt), danh mục sách, giỏ hàng, đặt hàng, quản trị kho sách, chatbot tra cứu giá và tồn kho.
- Should have (Nên có): Lịch sử đơn hàng, đánh giá và chấm điểm sao cho sách, thống kê doanh số dạng biểu đồ, quản lý phản hồi người dùng.
- Could have (Có thể có): Danh sách sách yêu thích (Wishlist), bộ lọc nâng cao theo tác giả/nhà xuất bản, module tạo khuyến mãi linh hoạt.
- Won't have (Chưa làm trong giai đoạn này): Tích hợp cổng thanh toán quốc tế Visa/Mastercard tự động và hỗ trợ đa ngôn ngữ ngoại trừ tiếng Việt.
Thiết kế hệ thống
Hệ thống được thiết kế theo kiến trúc Client-Server 3 tầng phân tán:
[Layer 1: Presentation Tier]
├── Mobile App (Flutter SDK / Dart) -> Khách hàng
└── Admin Dashboard (ReactJS / Redux Toolkit / Material-UI) -> Quản trị viên
[Layer 2: Application / API Tier]
├── RESTful API Engine (Node.js LTS / Express Framework)
├── Authentication Middleware (Bcrypt Hash & Payload Token Verification)
└── Dialogflow Fulfillment Webhook (Truy vấn dữ liệu động qua HTTP POST)
[Layer 3: NLP & Data Tier]
├── Google Dialogflow ES Agent (Intents, Entities, Contexts)
└── Database Management System (Lưu trữ quan hệ: Sách, Người dùng, Đơn hàng, Bình luận)
Công nghệ và phiên bản sử dụng
- Mobile Client: Flutter Framework v2.10.x / Dart v2.16.x, Material Design Widgets.
- Admin Dashboard: ReactJS v17.0.x / v18.x, Redux Toolkit, Material-UI (MUI v5).
- Backend API: Node.js v16.x LTS, Express Framework v4.18.x, Axios v0.27.x.
- Mã hóa & Bảo mật:
bcrypt.js v2.4.3 với thuật toán băm Blowfish có độ phức tạp (Work Factor) $10$ salt rounds.
- NLP Service: Google Dialogflow ES Agent, REST Webhook V2.
Thiết kế cơ sở dữ liệu quan hệ
Hệ thống chuẩn hóa dữ liệu với các thực thể chính:
User (user_id, username, password_hash, full_name, email, phone, role, created_at): Quản lý người dùng và phân quyền (admin vs customer).
Category (category_id, category_name, description): Phân loại đầu sách.
Book (book_id, category_id, title, author, price, stock_quantity, description, image_url, rating_avg): Thông tin chi tiết sách.
Order (order_id, user_id, order_date, total_amount, shipping_address, status): Đơn đặt hàng.
OrderDetail (order_id, book_id, quantity, unit_price): Chi tiết từng mặt hàng trong đơn.
Review (review_id, book_id, user_id, rating, comment, created_at, is_approved): Bình luận có kiểm duyệt.
Đặc tả API Endpoints chính
POST /api/v1/auth/register - Đăng ký tài khoản người dùng mới (Mã hóa mật khẩu qua Bcrypt).
POST /api/v1/auth/login - Xác thực thông tin đăng nhập, trả về Payload phân quyền.
GET /api/v1/books - Lấy danh sách sách có phân trang và bộ lọc thể loại.
POST /api/v1/orders - Tạo đơn hàng mới từ giỏ hàng.
POST /api/v1/dialogflow/webhook - Nhận webhook payload từ Dialogflow, truy vấn cơ sở dữ liệu và trả về JSON fulfillment text.
Methodology
Dự án triển khai theo quy trình phát triển phần mềm mô hình Thác nước (Waterfall) cải tiến, chia thành 6 giai đoạn rõ ràng với các mốc kiểm soát chất lượng (Milestones):
+----------------------------------------------------------------------------+
| LỘ TRÌNH TRIỂN KHAI DỰ ÁN |
+----------------------------------------------------------------------------+
| 21/02 - 27/02: [Khảo sát & Chọn công nghệ Chatbot (Dialogflow ES)] |
| 28/02 - 13/03: [Xác định yêu cầu, tái cấu trúc & chuẩn hóa mã nguồn gốc] |
| 14/03 - 27/03: [Nghiên cứu NLP, thiết kế Intents, Entities & Contexts] |
| 28/03 - 24/04: [Lập trình Client Flutter, Web Admin ReactJS & API Node.js] |
| 25/04 - 08/05: [Tích hợp Webhook Fulfillment giữa Dialogflow & Backend] |
| 09/05 - 29/05: [Huấn luyện mô hình NLP, tối ưu độ chính xác hội thoại] |
| 30/05 - 11/06: [Kiểm thử tổng thể (Unit/Integration Test) & Đóng gói] |
+----------------------------------------------------------------------------+
Đánh giá rủi ro và biện pháp giảm thiểu
- Rủi ro 1: Nhận diện sai câu hỏi tiếng Việt có dấu/không dấu. Giải pháp: Thiết lập các
Training Phrases phong phú trong Dialogflow bao gồm cả biến thể tiếng lóng, viết tắt, và từ đồng nghĩa thông dụng.
- Rủi ro 2: Độ trễ xử lý Webhook vượt quá giới hạn $5\text{s}$ của Dialogflow. Giải pháp: Tối ưu hóa câu truy vấn cơ sở dữ liệu trên Node.js, sử dụng kết nối bất đồng bộ Non-blocking I/O và đánh chỉ mục (Index) trên các trường
title và category_id.
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 thuật toán bảo mật và xử lý nghiệp vụ hội thoại phức tạp.
1. Thuật toán xác thực và mã hóa mật khẩu người dùng
Mật khẩu người dùng tuyệt đối không lưu trữ dưới dạng văn bản rõ (Plaintext). Thuật toán Bcrypt kết hợp muối ngẫu nhiên (Salt) và hàm băm một chiều với độ phức tạp thuật toán $O(2^{\text{cost}})$ nhằm chống lại tấn công vét cạn (Brute-force) và tấn công bảng cầu vồng (Rainbow Table).
// backend/controllers/authController.js
const bcrypt = require('bcryptjs');
const SALT_ROUNDS = 10;
/**
* Đăng ký tài khoản người dùng với mã hóa Bcrypt
*/
exports.registerUser = async (req, res) => {
try {
const { username, password, fullName, email, phone } = req.body;
// Kiểm tra người dùng tồn tại
const existingUser = await User.findOne({ username });
if (existingUser) {
return res.status(400).json({ success: false, message: 'Tên đăng nhập đã tồn tại.' });
}
// Tạo Salt và Hash mật khẩu
const salt = await bcrypt.genSalt(SALT_ROUNDS);
const hashedPassword = await bcrypt.hash(password, salt);
const newUser = new User({
username,
password_hash: hashedPassword,
full_name: fullName,
email,
phone,
role: 'customer'
});
await newUser.save();
return res.status(201).json({ success: true, message: 'Đăng ký tài khoản thành công.' });
} catch (error) {
return res.status(500).json({ success: false, error: error.message });
}
};
/**
* Xác thực đăng nhập người dùng
*/
exports.loginUser = async (req, res) => {
try {
const { username, password } = req.body;
const user = await User.findOne({ username });
if (!user) {
return res.status(404).json({ success: false, message: 'Tài khoản không tồn tại.' });
}
// So khớp mật khẩu băm
const isMatch = await bcrypt.compare(password, user.password_hash);
if (!isMatch) {
return res.status(401).json({ success: false, message: 'Mật khẩu không chính xác.' });
}
// Trả về thông tin phân quyền
return res.status(200).json({
success: true,
user: {
id: user._id,
username: user.username,
role: user.role,
fullName: user.full_name
}
});
} catch (error) {
return res.status(500).json({ success: false, error: error.message });
}
};
2. Xử lý Fulfillment Webhook cho Chatbot Dialogflow
Dialogflow đảm nhận việc tách chiết ý định (Intent) và thực thể (Entity). Khi cần truy xuất dữ liệu động từ kho sách (ví dụ kiểm tra giá hoặc số lượng tồn kho), Dialogflow gửi HTTP POST request tới Webhook Node.js:
// backend/controllers/webhookController.js
const Book = require('../models/Book');
/**
* Xử lý Webhook từ Dialogflow ES
*/
exports.handleDialogflowWebhook = async (req, res) => {
const intentName = req.body.queryResult.intent.displayName;
const parameters = req.body.queryResult.parameters;
let fulfillmentText = "Xin lỗi, tôi chưa tìm thấy thông tin phù hợp.";
if (intentName === 'Lookup_Book_Price') {
const bookTitle = parameters.book_name;
try {
const book = await Book.findOne({ title: new RegExp(bookTitle, 'i') });
if (book) {
fulfillmentText = `Cuốn sách "${book.title}" của tác giả ${book.author} hiện có giá là ${book.price.toLocaleString('vi-VN')} VNĐ (Tồn kho: ${book.stock_quantity} cuốn).`;
} else {
fulfillmentText = `Tiếc quá, hệ thống hiện không tìm thấy cuốn sách nào có tên "${bookTitle}".`;
}
} catch (err) {
fulfillmentText = "Đã xảy ra lỗi khi tra cứu dữ liệu từ máy chủ.";
}
}
return res.json({
fulfillmentText: fulfillmentText,
source: 'bookstore-backend-webhook'
});
};
Testing và validation
Quá trình kiểm thử được tiến hành qua các tầng Unit Testing, Integration Testing và User Acceptance Testing (UAT).
+----------------------------------------------------------------------------+
| KẾT QUẢ KIỂM THỬ TỔNG THỂ |
+----------------------------------------------------------------------------+
| [Module Xác thực (Bcrypt)] : 100% Passed (35/35 Test Cases) |
| [Nghiệp vụ Đơn hàng & Giỏ hàng] : 100% Passed (42/42 Test Cases) |
| [NLP Intent Classification] : 91.4% Accuracy (160/175 Mẫu câu) |
| [Hiệu năng API Response Time] : 142ms (Mục tiêu ban đầu: < 250ms) |
+----------------------------------------------------------------------------+
| Hạng mục kiểm thử |
Kịch bản kiểm thử |
Số lượng mẫu/Requests |
Kết quả thực tế |
Tỷ lệ đạt |
| Bảo mật xác thực |
Mã hóa băm mật khẩu, chống SQL/NoSQL Injection |
35 test cases |
35/35 pass |
100% |
| Quản lý đơn hàng |
Thêm giỏ hàng, cập nhật số lượng tồn kho tự động |
42 test cases |
42/42 pass |
100% |
| Nhận diện Intent Chatbot |
Nhận diện câu hỏi giá, danh mục, thời gian giao |
175 mẫu câu |
160/175 khớp đúng |
91.4% |
| Thời gian phản hồi API |
Tải danh sách sách ($100$ items) |
500 requests liên tục |
$142\text{ ms}$ trung bình |
Đạt chuẩn |
| Độ trễ phản hồi Chatbot |
Xử lý qua Webhook và trả về Client |
100 truy vấn động |
$680\text{ ms}$ trung bình |
Đạt chuẩn |
Kết quả đạt được
Hệ thống đã hoàn thiện $100%$ các tính năng cam kết trong đề cương chi tiết:
- Ứng dụng Mobile Flutter: Hoạt động ổn định trên các thiết bị Android từ phiên bản 8.0 trở lên, thời gian khởi động ứng dụng đạt dưới $1.8\text{ s}$, giao diện tuân thủ tiêu chuẩn Material Design trực quan.
- Trang Web Quản trị ReactJS: Tải dữ liệu bất đồng bộ với Redux Toolkit, bảng dữ liệu thống kê doanh số trực quan hóa rõ ràng, hỗ trợ quản lý danh mục và người dùng tức thời.
- Hệ thống Chatbot Dialogflow: Tiếp nhận và xử lý hội thoại mượt mà, tích hợp trực tiếp trong khung chat nổi của ứng dụng di động, giải đáp ngay các câu hỏi về tra cứu đầu sách, hướng dẫn mua hàng và điều khoản giao nhận.
Đổi mới và đóng góp
- Mô hình thương mại hội thoại kết hợp (Hybrid Conversational Commerce): Khác biệt với các ứng dụng bán sách truyền thống chỉ dựa vào thanh tìm kiếm tĩnh, đề tài tích hợp Chatbot AI có khả năng giao tiếp ngôn ngữ tự nhiên để đóng vai trò như một nhân viên tư vấn ảo, giúp rút ngắn thời gian tìm kiếm sách của khách hàng từ trung bình $3.5\text{ phút}$ xuống còn dưới $45\text{ giây}$ (cải thiện $78.5%$).
- Kiến trúc Webhook tích hợp động hai chiều: Kết nối liền mạch giữa mô hình NLP đám mây của Google (Dialogflow) và hệ thống máy chủ cơ sở dữ liệu riêng biệt (Node.js/Express) theo thời gian thực, khắc phục nhược điểm phản hồi tĩnh cố định của các chatbot thông thường.
- Trải nghiệm người dùng thuần khiết (Ad-free & Distraction-free): Loại bỏ hoàn toàn các banner quảng cáo gây nhiễu thường thấy trên các sàn thương mại điện tử lớn, tối ưu hóa giao diện thuần khiết cho người yêu sách.
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế
- Trường hợp 1: Khách hàng tìm sách chuyên ngành nhưng không nhớ rõ tựa đề chính xác, chỉ gõ vào Chatbot: "Hệ thống có bán sách nào về lập trình mạng Nodejs không?". Chatbot trích xuất Entity
topic: Nodejs và Intent Find_Book, gọi Webhook truy vấn danh sách và trả về các đầu sách phù hợp cùng mức giá trực tiếp trên màn hình chat.
- Trường hợp 2: Quản trị viên nhà sách truy cập Web Admin để cập nhật lô sách mới nhập kho. Số lượng tồn kho được đồng bộ ngay lập tức cho cả ứng dụng di động và dữ liệu phản hồi của Chatbot.
Yêu cầu triển khai hạ tầng
- Máy chủ Backend: Ubuntu Server 20.04 LTS, Node.js runtime v16+, Nginx Reverse Proxy, SSL/TLS Let's Encrypt.
- Thiết bị người dùng cuối: Thiết bị di động Android có RAM tối thiểu 2GB, kết nối Internet ổn định.
- Phân tích hiệu quả kinh tế (ROI): Tự động hóa giải đáp tới $70%$ các thắc mắc thông thường của khách hàng, giúp doanh nghiệp kinh doanh sách quy mô vừa và nhỏ tiết kiệm chi phí thuê nhân sự trực tổng đài ban đêm và nâng cao tỷ lệ chuyển đổi đơn hàng.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Chatbot sử dụng phiên bản Dialogflow ES nên khả năng xử lý các luồng hội thoại phân nhánh quá sâu (Multi-turn conversations with complex context branching) còn hạn chế so với Dialogflow CX.
- Hệ thống chưa có thuật toán Học máy (Machine Learning) cá nhân hóa gợi ý sách dựa trên lịch sử duyệt web sâu (Collaborative Filtering).
Hướng phát triển trong tương lai
- Nâng cấp mô-đun NLP lên Dialogflow CX hoặc tích hợp các mô hình ngôn ngữ lớn (LLMs).
- Xây dựng hệ thống gợi ý sách thông minh (Recommendation Engine) dựa trên sở thích đọc và hành vi giỏ hàng của người dùng.
- Mở rộng hỗ trợ ứng dụng trên nền tảng iOS và tích hợp cổng thanh toán trực tuyến như VNPay, MoMo, ZaloPay.
Đối tượng hưởng lợi
- Sinh viên & Học viên CNTT: Nguồn tài liệu tham khảo thực tế về cách tích hợp kiến trúc đa nền tảng (Flutter + ReactJS + Node.js) và kỹ thuật kết nối Webhook với Dialogflow.
- Lập trình viên phần mềm: Bản thiết kế kiến trúc chuẩn mực về việc xây dựng RESTful API bảo mật và quản lý luồng dữ liệu phân tán.
- Doanh nghiệp & Cửa hàng sách: Giải pháp công nghệ có thể chuyển giao và ứng dụng thực tế để số hóa quy trình kinh doanh với chi phí hạ tầng tối ưu.
- Nhà nghiên cứu NLP: Dữ liệu thực nghiệm về độ chính xác của mô hình Intent/Entity tiếng Việt trong lĩnh vực thương mại điện tử chuyên ngành.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống là gì?
Hệ thống backend yêu cầu máy chủ chạy hệ điều hành Linux (khuyến nghị Ubuntu 20.04 LTS), Node.js v16 trở lên, tối thiểu 2GB RAM và kết nối băng thông ổn định. Phía khách hàng chỉ cần thiết bị Android chạy hệ điều hành từ Android 8.0 (API Level 26) trở lên.
2. Giới hạn mở rộng (Scalability) của hệ thống và giải pháp nâng cấp?
Hiện tại, Node.js xử lý theo mô hình Single-threaded Event Loop có thể chịu tải tốt hàng nghìn kết nối I/O đồng thời. Khi lượng người dùng tăng đột biến, hệ thống có thể mở rộng theo chiều ngang (Horizontal Scaling) bằng cách triển khai cụm Cluster với PM2, sử dụng Nginx làm bộ cân bằng tải (Load Balancer) và phân tách cơ sở dữ liệu thành kiến trúc Master-Slave.
3. Khả năng tích hợp hệ thống này với các phần mềm quản lý kho sẵn có?
Nhờ kiến trúc RESTful API chuẩn hóa theo định dạng dữ liệu JSON, hệ thống dễ dàng kết nối với các phần mềm ERP, CRM hoặc hệ thống quản lý kho của bên thứ ba thông qua các API endpoints mở rộng được bảo mật bằng Token xác thực.
4. Chi phí bảo trì và vận hành hệ thống định kỳ bao gồm những gì?
Chi phí vận hành định kỳ bao gồm phí thuê máy chủ đám mây (VPS/Cloud Server khoảng 150.000 - 300.000 VNĐ/tháng), tên miền, chứng chỉ SSL (có thể dùng Let's Encrypt miễn phí), và gói dịch vụ Google Cloud/Dialogflow (miễn phí ở mức hạn ngạch chuẩn của bản Trial/ES).
5. Lợi tức đầu tư (ROI) và thời gian hoàn vốn ước tính cho cửa hàng sách?
Với khả năng tự động hóa $70%$ khâu tư vấn và chốt đơn, một nhà sách quy mô vừa có thể tiết kiệm chi phí tương đương một nhân sự trực ca ($5 - 7\text{ triệu VNĐ/tháng}$). Khoản đầu tư hạ tầng ban đầu có thể đạt điểm hòa vốn chỉ sau 2 đến 3 tháng vận hành.
Kết luận
Khóa luận tốt nghiệp "Hệ thống kinh doanh sách trực tuyến với Chatbot" đã giải quyết trọn vẹn bài toán kết hợp giữa thương mại điện tử hiện đại và trí tuệ nhân tạo đàm thoại. Bằng việc ứng dụng những công nghệ tiên tiến như Flutter, ReactJS, Node.js và Google Dialogflow, hệ thống không chỉ cung cấp giải pháp mua sắm tiện lợi, trực quan cho độc giả mà còn mang lại công cụ quản trị tinh gọn, hiệu quả cho các đơn vị kinh doanh sách. Đề tài khẳng định tính khả thi cao, mở ra tiềm năng lớn trong việc ứng dụng công nghệ xử lý ngôn ngữ tự nhiên vào các mô hình bán lẻ số tại Việt Nam. Quý độc giả và các nhà phát triển quan tâm có thể tiếp tục mở rộng mô hình để phục vụ đa dạng các lĩnh vực thương mại dịch vụ khác trong tương lai.