Bối cảnh và vấn đề nghiên cứu
Bối cảnh thực tiễn và lý do chọn đề tài
Sự phát triển nhanh chóng của công nghệ thông tin cùng sự phổ cập của máy tính và điện thoại di động kết nối Internet đã làm thay đổi căn bản phương thức giao tiếp, học tập, làm việc và giải trí. Trong lĩnh vực thương mại và dịch vụ, quảng bá và bán hàng qua mạng Internet trở thành hình thức tiếp thị có mục tiêu, cho phép tiếp cận lượng khách hàng tiềm năng rộng lớn, xóa bỏ các rào cản về mặt địa lý và tối ưu hóa thời gian giao dịch.
Đối với các cửa hàng kinh doanh thời trang, phương thức vận hành truyền thống bộc lộ nhiều điểm hạn chế:
- Tiếp cận khách hàng phụ thuộc vào địa điểm vật lý, quảng cáo trực tiếp hoặc hợp đồng trưng bày tại trung tâm.
- Quy trình bán hàng và tiếp nhận đơn hàng thực hiện thủ công qua nhân viên bán hàng hoặc điện thoại.
- Kế toán phải lập hóa đơn giấy, nhập số liệu thủ công (ngày, giờ, tên khách hàng, mã số mặt hàng, số lượng mua, tổng số hóa đơn) vào sổ sách kinh doanh.
- Quy trình kiểm tra tồn kho, đề xuất đặt hàng và nhập hàng từ nhà cung cấp chưa được tự động hóa đồng bộ.
Từ thực tế đó, đề tài "Xây dựng website thương mại điện tử tích hợp AI" được thực hiện tại Khoa Công nghệ thông tin, Trường Đại học Bách khoa – Đại học Đà Nẵng nhằm giải quyết các bất cập trong quản lý bán hàng thời trang, xây dựng kênh bán hàng trực tuyến hỗ trợ tương tác tự động.
Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu tổng quát của đề tài là xây dựng hệ thống phần mềm thương mại điện tử hoàn chỉnh giúp các doanh nghiệp, chủ cửa hàng thời trang quảng bá thương hiệu, giới thiệu sản phẩm và bán hàng trực tuyến cho người tiêu dùng, đồng thời hỗ trợ tư vấn tự động thông qua trí tuệ nhân tạo (Chatbot).
Các mục tiêu và nhiệm vụ cụ thể được xác định trong văn bản bao gồm:
- Cho phép nhập thông tin hàng hóa vào cơ sở dữ liệu.
- Hiển thị danh mục mặt hàng với đầy đủ hình ảnh, giá cả, số lượng và thông tin chi tiết.
- Cung cấp khả năng tìm kiếm sản phẩm theo nhiều tiêu chí (hãng, giá, tên sản phẩm, chủng loại).
- Thiết lập quy trình đặt hàng, hiển thị giỏ hàng, đơn đặt hàng và hóa đơn của khách hàng.
- Quản lý hệ thống đơn hàng, cập nhật thông tin mặt hàng, loại mặt hàng và tài khoản khách hàng.
- Hỗ trợ chức năng thống kê doanh thu, số lượng mặt hàng, khách hàng và đơn đặt hàng.
- Cho phép ban quản trị quản lý hệ thống mạng từ xa.
- Tích hợp Chatbot trí tuệ nhân tạo nhằm hỗ trợ, giải đáp thắc mắc của khách hàng tự động 24/7.
Đối tượng và phạm vi nghiên cứu
- Đối tượng khách hàng mục tiêu: Giới trẻ trong độ tuổi từ 16 đến 30 tuổi và những người có nhu cầu mua sắm thời trang trực tuyến.
- Đối tượng sử dụng hệ thống: Được phân cấp thành ba nhóm tác nhân chính: Khách vãng lai (Customer), Thành viên (Member) và Nhà quản trị (Administrator).
- Phạm vi ứng dụng: Hoạt động quản lý nghiệp vụ bán hàng, quản lý kho hàng, xử lý hóa đơn và tương tác khách hàng trong lĩnh vực kinh doanh sản phẩm và phụ kiện thời trang.
Cơ sở lý thuyết và phương pháp
Khung kiến trúc và cơ sở lý thuyết
Hệ thống được thiết kế theo mô hình kiến trúc 3 tầng (3-tier architecture):
- Tầng hiển thị (Front-end): Xây dựng giao diện người dùng tương tác động thông qua ReactJS, kết hợp các framework định dạng giao diện Bootstrap và Tailwind CSS.
- Tầng ứng dụng (Back-end): Xây dựng trên nền tảng NodeJS với web application framework ExpressJS để hiện thực hóa các dịch vụ ứng dụng và hệ thống RESTful API.
- Tầng cơ sở dữ liệu (Database): Sử dụng hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu MongoDB, quản lý dữ liệu dưới định dạng JSON/BSON, vận hành thông qua tiến trình
mongod và định tuyến truy vấn phân mảnh qua mongos.
+-------------------------------------------------------------+
| Tầng hiển thị (Front-end) |
| ReactJS, Bootstrap, Tailwind |
+------------------------------+------------------------------+
| RESTful API (HTTP / JSON)
+------------------------------v------------------------------+
| Tầng ứng dụng (Back-end) |
| NodeJS, ExpressJS |
+------------------------------+------------------------------+
| BSON Query
+------------------------------v------------------------------+
| Tầng cơ sở dữ liệu (Database) |
| MongoDB |
+-------------------------------------------------------------+
Cơ sở lý thuyết về giao tiếp và bảo mật
- Tiêu chuẩn RESTful API: Ứng dụng giao thức HTTP không duy trì trạng thái (stateless), không dùng session/cookie mà sử dụng token xác thực (
access_token) gửi kèm trong mỗi request. Dữ liệu trao đổi định dạng JSON/XML thông qua các phương thức HTTP:
GET: Lấy thông tin tài nguyên từ server.
POST: Tạo mới tài nguyên thông qua biểu mẫu HTTP.
PUT: Ghi đè toàn bộ thông tin của tài nguyên.
PATCH: Ghi đè thông tin được thay đổi của tài nguyên.
DELETE: Xóa tài nguyên trên server.
- Các phương thức hỗ trợ khác:
HEAD, CONNECT, OPTIONS, TRACE.
- Phân loại mã trạng thái phản hồi (HTTP Status Codes): 200 (OK), 201 (Created), 204 (No Content), 304 (Not Modified), 400 (Bad Request), 401 (Unauthorized), 403 (Forbidden), 404 (Not Found), 405 (Method Not Allowed), 410 (Gone), 415 (Unsupported Media Type), 422 (Unprocessable Entity), 429 (Too Many Requests).
- Mã hóa và an toàn thông tin:
- Ứng dụng thuật toán Bcrypt dựa trên mã hóa khối Blowfish kết hợp cơ chế băm (hashing), muối (salt) và kéo giãn khóa (stretching), chuẩn hóa kết quả đầu ra theo Modular Crypt Format để lưu trữ mật khẩu an toàn một chiều trong cơ sở dữ liệu.
- Sử dụng giao thức bảo mật HTTPS và cơ chế HTTPS Token để xác thực dữ liệu đường truyền.
Nền tảng trí tuệ nhân tạo xây dựng Chatbot
Chatbot được phát triển bằng ngôn ngữ Python, kết hợp thư viện xử lý ngôn ngữ tự nhiên NLTK và nền tảng mã nguồn mở Rasa:
- Rasa NLU (Natural Language Understanding): Thực hiện nhiệm vụ phân loại ý định (Intent Classification) và trích xuất thực thể (Entity Extraction) từ văn bản người dùng nhập vào.
- Rasa Core Dialogue Engine: Quản lý luồng hội thoại dựa trên trạng thái (Dialogue Management), nhận đầu vào có cấu trúc từ NLU và xác định hành động tiếp theo (Action) thông qua các kịch bản định sẵn (Stories).
- Rasa X: Công cụ hỗ trợ xây dựng, cải thiện và triển khai mô hình hội thoại.
Phương pháp nghiên cứu và công cụ phát triển
- Phương pháp phân tích - thiết kế: Sử dụng ngôn ngữ mô hình hóa UML để xây dựng các biểu đồ ca sử dụng (Use Case), biểu đồ hoạt động (Activity Diagram), biểu đồ tuần tự (Sequence Diagram) và biểu đồ cộng tác (Collaboration Diagram).
- Môi trường và công cụ phát triển:
- Ngôn ngữ lập trình: JavaScript, Python.
- Quản trị mã nguồn: GitHub.
- Công cụ kiểm thử tự động: Selenium kết hợp xây dựng kịch bản kiểm thử (test cases).
Thiết kế và triển khai
Phân tích yêu cầu chức năng theo tác nhân
Hệ thống định nghĩa ba nhóm tác nhân với quyền hạn và chức năng cụ thể:
| Nhóm tác nhân |
Chức năng chi tiết |
Mô tả luồng xử lý chính |
| Khách vãng lai (Customer) |
Đăng ký thành viên |
Nhập họ tên, email, mật khẩu, nhập lại mật khẩu; hệ thống kiểm tra và lưu vào CSDL. |
|
Tìm kiếm sản phẩm |
Tra cứu theo hãng, giá, tên hoặc chủng loại sản phẩm; truy vấn CSDL và trả về danh sách phù hợp. |
|
Xem chi tiết sản phẩm |
Chọn sản phẩm, hệ thống truy vấn CSDL theo ID để hiển thị hình ảnh, đơn giá, mô tả. |
|
Quản lý giỏ hàng |
Lưu trữ mã sản phẩm và số lượng thông qua session; cho phép thêm, sửa, xóa món hàng. |
|
Đặt hàng |
Nhập thông tin giao hàng trực tiếp mà không bắt buộc phải đăng nhập thành viên. |
| Thành viên (Member) |
Toàn quyền Customer |
Kế thừa toàn bộ quyền tìm kiếm, xem hàng, giỏ hàng, đặt hàng. |
|
Đăng nhập / Đăng xuất |
Kiểm tra username/password trong CSDL; giải phóng biến session khi đăng xuất khỏi phiên làm việc. |
|
Đổi mật khẩu |
Xác thực mật khẩu cũ trước khi cập nhật mật khẩu mới đã mã hóa vào CSDL. |
|
Xem lịch sử đơn hàng |
Truy xuất và xem chi tiết danh sách các hóa đơn đã được lập của tài khoản. |
| Quản trị viên (Administrator) |
Quản lý sản phẩm |
Thêm sản phẩm mới (kiểm tra các trường bắt buộc), chỉnh sửa thông tin, xóa sản phẩm khỏi CSDL. |
|
Quản lý khuyến mãi |
Thiết lập chương trình khuyến mãi theo hãng và sản phẩm. |
|
Quản lý đơn hàng |
Xem chi tiết hóa đơn; chuyển trạng thái từ đơn đặt hàng chưa thanh toán sang hóa đơn đã thanh toán. |
|
Quản lý người dùng |
Xem danh sách thành viên, thực hiện thao tác xóa tài khoản thành viên khỏi hệ thống. |
Thiết kế dữ liệu
Cơ sở dữ liệu MongoDB tổ chức thông tin thông qua các bảng (collections) chính:
- Bảng Tài khoản: Quản lý thông tin định danh truy cập của các nhóm người dùng.
- Bảng Người dùng: Lưu trữ thông tin cá nhân khách hàng bao gồm họ tên, địa chỉ, số điện thoại, email, thông tin liên kết tài khoản.
- Bảng Sản phẩm: Lưu trữ thông tin chi tiết từng mặt hàng gồm mã sản phẩm, tên mặt hàng, đơn giá, số lượng tồn kho, hình ảnh minh họa, thông số mô tả và hãng sản xuất.
- Bảng Giỏ hàng: Quản lý trạng thái các món hàng được chọn, số lượng mua, đơn giá và tổng giá trị đơn hàng tạm tính.
- Bảng Tin nhắn: Lưu trữ lịch sử tương tác, hội thoại giữa khách hàng và hệ thống hỗ trợ/Chatbot.
Xây dựng Chatbot AI
Quy trình xây dựng Chatbot tích hợp bao gồm:
- Thiết kế tập mẫu NLU: Khai báo danh sách các ý định (
intent) như chào hỏi, hỏi thông tin hàng hóa, đặt bàn/mua hàng và gán nhãn thực thể (entity) tương ứng (thời gian, địa điểm, tên mặt hàng).
- Xây dựng kịch bản hội thoại (
stories): Thiết lập chuỗi tương tác tuần tự giữa các phản hồi của người dùng và hành động đáp ứng của hệ thống.
- Hiện thực hành động (
action): Xây dựng các hàm xử lý logic, truy vấn dữ liệu từ API hoặc CSDL để trả lời người dùng tự động.
- Huấn luyện mô hình: Sử dụng pipeline của Rasa để trích xuất đặc trưng văn bản, huấn luyện phân loại ý định và đưa mô hình vào phục vụ giao tiếp trực tiếp qua widget giao diện trên website.
Thiết kế giao diện và kiểm thử
- Giao diện phía khách hàng: Bao gồm 17 màn hình chức năng chính (Trang đăng nhập, Trang đăng ký, Trang chủ, Trang thông tin sản phẩm, Trang giỏ hàng, Thông tin giao hàng, Phương thức thanh toán, Thông tin đơn hàng, Trang thanh toán, Cửa sổ thanh toán, Xác nhận đã thanh toán, Giỏ hàng trống, Thông tin khách hàng, Danh sách đơn hàng, Cửa sổ Chatbot, Trang khi đăng xuất, Trang thông báo lỗi 404).
- Giao diện phía quản trị viên: Bao gồm 9 màn hình quản trị (Đăng nhập Admin, Dashboard tổng quan, Danh sách sản phẩm, Thêm sản phẩm mới, Chỉnh sửa thông tin sản phẩm, Danh sách đơn hàng, Thông tin đơn hàng, Danh sách người dùng, Trang lỗi 404 Admin).
- Tài liệu API và Kiểm thử phần mềm: Hệ thống cung cấp tài liệu API chuẩn hóa cho nhà phát triển và tiến hành kiểm thử các luồng chức năng thông qua công cụ kiểm thử tự động Selenium kết hợp các bộ test case kiểm tra nhập liệu, bảo mật và tính toàn vẹn dữ liệu.
Nội dung chính theo từng chương
Mở đầu
Phần mở đầu tập trung khảo sát hiện trạng kinh doanh thực tế tại các cửa hàng thời trang bán lẻ, chỉ ra sự chuyển dịch tất yếu từ phương thức bán hàng truyền thống sang thương mại điện tử. Văn bản trình bày chi tiết khảo sát nghiệp vụ bán hàng hiện hành (tiếp nhận khách trực tiếp, ghi sổ sách thủ công, đặt hàng nhà cung cấp qua điện thoại) và đề xuất hệ thống phần mềm mới nhằm rút ngắn thời gian giao dịch, tối ưu hóa quy trình quản lý kho hàng và mở rộng đối tượng tiếp cận trong độ tuổi 16–30. Đồng thời, phần này công bố tổng quan các công nghệ sử dụng trong toàn bộ đồ án (MERN Stack, Rasa, Python, Selenium, Bcrypt).
Chương 1: Cơ sở lý thuyết
Chương 1 hệ thống hóa toàn bộ các nền tảng công nghệ và lý thuyết phần mềm được áp dụng trong đồ án:
- Trình bày bản chất, nguyên lý hoạt động và vai trò của Chatbot trong việc phản hồi tức thì 24/7 cho doanh nghiệp; giới thiệu ngôn ngữ Python và các thành phần cốt lõi của nền tảng Rasa (Rasa NLU, Rasa Core, Rasa X, Intent, Entity, Stories, Action).
- Phân tích cấu trúc kiến trúc 3 tầng của bộ công nghệ MERN Stack, chỉ rõ vai trò của từng thành phần: cơ sở dữ liệu hướng tài liệu MongoDB, framework backend ExpressJS, thư viện giao diện người dùng ReactJS (kèm nền tảng mở rộng React Native cho thiết bị di động) và môi trường thực thi NodeJS xây dựng trên V8 JavaScript engine.
- So sánh ưu nhược điểm giữa hai mô hình MERN Stack và MEAN Stack, nhấn mạnh tính linh hoạt của ReactJS trong việc kiểm soát trạng thái sự kiện và cập nhật giao diện động so với cơ chế two-way data binding của AngularJS.
- Định nghĩa chuẩn kiến trúc RESTful API, phân tích nguyên lý hoạt động không trạng thái, cấu trúc dữ liệu trả về dạng JSON/XML, 9 phương thức HTTP request, 13 mã trạng thái phản hồi HTTP tiêu chuẩn và phương thức xác thực bằng
access_token.
- Trình bày lý thuyết bảo mật website, cơ chế mã hóa một chiều lưu trữ mật khẩu của thuật toán Bcrypt dựa trên mã hóa Blowfish kết hợp kỹ thuật băm (hash), thêm muối (salt) và kéo giãn (stretching).
- Phân tích ưu nhược điểm của hai công cụ thiết kế giao diện Bootstrap và Tailwind CSS trong việc tối ưu hóa giao diện responsive và tùy biến giao diện hiện đại.
Chương 2: Phân tích và thiết kế hệ thống
Chương 2 mô tả chi tiết quá trình chuyển đổi từ yêu cầu nghiệp vụ thực tế sang mô hình kỹ thuật phần mềm:
- Đặc tả yêu cầu hệ thống hiện hành đối chiếu với hệ thống đề nghị; xác định yêu cầu giao diện (thân thiện, màu sắc hài hòa, font chữ thống nhất, phân tách rõ khu vực người dùng và khu vực quản trị) cùng yêu cầu cấu hình phần cứng tối thiểu (PC Pentium III, RAM 128MB, ổ cứng 10GB, Windows XP trở lên).
- Phân tích chi tiết ba nhóm tác nhân (Customer, Member, Administrator) kèm biểu đồ Use Case tổng thể và các biểu đồ Use Case chi tiết.
- Hiện thực hóa 13 luồng biểu đồ hoạt động (Activity Diagram), biểu đồ tuần tự (Sequence Diagram) và biểu đồ cộng tác (Collaboration Diagram) cho các nghiệp vụ: đăng nhập, đăng xuất, đăng ký, xem sản phẩm, giỏ hàng, đặt hàng, đổi mật khẩu, quản lý thành viên, thêm/sửa/xóa sản phẩm và tìm kiếm thông tin.
- Thiết kế cấu trúc các bảng dữ liệu trong MongoDB (Tài khoản, Người dùng, Sản phẩm, Giỏ hàng, Tin nhắn) cùng các trường khóa chính (PK), khóa ngoại (FK).
- Trình bày kiến trúc tệp dự án và quy trình xây dựng Chatbot NLTK & Rasa, định nghĩa các mẫu dữ liệu huấn luyện cho module NLU và Rasa Core.
Chương 3: Xây dựng chương trình và kiểm thử
Chương 3 trình bày kết quả hiện thực hóa phần mềm và đánh giá chất lượng sản phẩm:
- Minh họa chi tiết 17 giao diện chức năng phía khách hàng và 9 giao diện chức năng quản trị viên bằng hình ảnh thực tế từ hệ thống đã hoàn thiện.
- Giới thiệu cấu trúc trang tài liệu API dành cho nhà phát triển phần mềm, chuẩn hóa các điểm cuối (endpoints) phục vụ kết nối ngoại vi.
- Trình bày phương pháp kiểm thử phần mềm bằng việc xây dựng các ca kiểm thử (test cases) chức năng và chạy kiểm thử tự động thông qua công cụ Selenium để đảm bảo tính ổn định và chính xác của các luồng nghiệp vụ.
Kết luận và hướng phát triển
Phần tổng kết đánh giá mức độ hoàn thành nhiệm vụ nghiên cứu của đồ án theo các mục tiêu ban đầu và chỉ ra các hạn chế cần khắc phục cùng hướng phát triển tiếp theo của hệ thống phần mềm.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
Dựa trên các số liệu và thành phần được công bố trong văn bản đồ án, sinh viên đã hoàn thành:
- Xây dựng hoàn chỉnh một ứng dụng web thương mại điện tử chuyên ngành thời trang dựa trên kiến trúc MERN Stack (MongoDB, ExpressJS, ReactJS, NodeJS) và RESTful API.
- Hoàn thiện hệ thống bảo mật đăng nhập với cơ chế băm mật khẩu Bcrypt kết hợp token xác thực.
- Thiết kế và triển khai 26 màn hình giao diện người dùng và quản trị viên, đáp ứng đầy đủ các luồng nghiệp vụ:
- Nghiệp vụ khách hàng: duyệt danh mục, tìm kiếm theo hãng/giá/chủng loại, quản lý giỏ hàng qua session, đặt hàng trực tuyến không cần đăng nhập.
- Nghiệp vụ thành viên: quản lý tài khoản, đổi mật khẩu, tra cứu lịch sử hóa đơn đã lập.
- Nghiệp vụ quản trị: phân quyền, kiểm soát danh mục sản phẩm, cấu hình khuyến mãi, quản lý danh sách người dùng và chuyển trạng thái đơn hàng.
- Xây dựng và tích hợp thành công Chatbot thông minh sử dụng nền tảng Rasa (Rasa NLU, Rasa Core) và NLTK, hỗ trợ giải đáp tự động các thắc mắc thông thường của người mua sắm 24/7.
- Cung cấp tài liệu API dành riêng cho lập trình viên và thực hiện kiểm thử tự động các luồng chức năng chính bằng công cụ Selenium.
Đóng góp thực tiễn so với quy trình cũ
Đồ án đã tự xác định các cải tiến rõ rệt so với quy trình kinh doanh truyền thống tại cửa hàng:
- Thay thế hoàn toàn quy trình ghi chép hóa đơn giấy và lưu trữ sổ sách thủ công bằng cơ sở dữ liệu điện tử tập trung, tránh thất thoát số liệu.
- Rút ngắn thời gian đặt hàng và xử lý đơn hàng: khách hàng có thể chủ động lựa chọn, kiểm tra chi phí và gửi đơn đặt hàng trực tuyến; người quản lý chỉ cần xác nhận qua hệ thống trước khi điều phối giao hàng.
- Loại bỏ giới hạn tiếp cận khách hàng theo địa lý, tạo lập kênh bán hàng trực tuyến hướng đến phân khúc khách hàng trẻ tuổi (16–30 tuổi).
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài
Từ nội dung thuyết minh và phạm vi nghiên cứu thực tế, đồ án tồn tại một số điểm hạn chế:
- Hệ thống Chatbot AI mới dừng lại ở việc xử lý các tình huống và ý định cơ bản đã được huấn luyện sẵn theo kịch bản (Stories), chưa tự động xử lý sâu các nghiệp vụ phức tạp ngoài kịch bản định sẵn.
- Quy trình thanh toán mới hỗ trợ ghi nhận và xác nhận thanh toán chuyển trạng thái từ phía quản trị viên sau khi liên hệ khách hàng, chưa tích hợp trực tiếp các cổng thanh toán điện tử trực tuyến tự động (như thẻ ngân hàng quốc tế, ví điện tử).
- Cấu hình đề xuất cho môi trường vận hành trong văn bản còn viện dẫn mức phần cứng cũ (Pentium III, RAM 128MB, Windows XP) vốn là các thông số tham khảo mang tính lịch sử, chưa phản ánh đầy đủ nhu cầu tài nguyên thực tế của môi trường chạy NodeJS, MongoDB và Rasa hiện đại.
Hướng phát triển
Căn cứ vào định hướng phát triển của tác giả, hệ thống có thể tiếp tục mở rộng:
- Nâng cấp mô hình trí tuệ nhân tạo của Chatbot: bổ sung dữ liệu huấn luyện NLU, mở rộng kịch bản hội thoại để chatbot hiểu sâu hơn ngữ cảnh của người dùng, nâng cao tính tự nhiên trong giao tiếp.
- Hoàn thiện ứng dụng di động đa nền tảng sử dụng React Native dựa trên hệ thống RESTful API đã được thiết kế sẵn.
- Tích hợp cổng thanh toán trực tuyến tự động và hệ thống theo dõi vận chuyển của các đơn vị logistics vào quy trình xử lý đơn hàng.
Giá trị tham khảo
Tài liệu đồ án này có giá trị tham khảo chuyên môn đối với:
- Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu tham khảo trực quan về cấu trúc một đồ án tốt nghiệp kỹ thuật phần mềm hoàn chỉnh, từ bước khảo sát nghiệp vụ thực tế, xây dựng tài liệu đặc tả UML (Use Case, Activity, Sequence, Collaboration Diagrams) đến thiết kế cơ sở dữ liệu và triển khai mã nguồn.
- Người nghiên cứu và phát triển web theo MERN Stack: Cung cấp mô hình tham khảo về cách tổ chức kiến trúc 3 tầng, thiết kế RESTful API chuẩn hóa với các phương thức HTTP, mã phản hồi status code và cơ chế mã hóa mật khẩu Bcrypt.
- Lập trình viên tích hợp Chatbot vào ứng dụng Web: Cung cấp tài liệu quy trình tích hợp giữa giao diện web front-end ReactJS với nền tảng chatbot xử lý ngôn ngữ tự nhiên Rasa (NLU và Core).
Câu hỏi thường gặp
1. Hệ thống sử dụng công nghệ gì để xây dựng Chatbot và các thành phần cốt lõi của nó là gì?
Chatbot được phát triển bằng ngôn ngữ lập trình Python kết hợp thư viện NLTK và nền tảng Rasa. Ba thành phần chính bao gồm: Rasa NLU (thực hiện phân loại ý định Intent và trích xuất thực thể Entity), Rasa Core Dialogue Engine (quản lý hội thoại và kích hoạt Action dựa trên Stories) và công cụ triển khai Rasa X.
2. Sự khác biệt giữa hai đối tượng người dùng Customer và Member trong hệ thống là gì?
Customer là khách vãng lai, có quyền tìm kiếm sản phẩm, xem chi tiết, thêm hàng vào giỏ và đặt hàng trực tiếp mà không bắt buộc có tài khoản. Member là thành viên đã đăng ký, ngoài toàn bộ quyền của Customer, Member có thêm các chức năng: đăng nhập, đăng xuất, đổi mật khẩu và xem lại lịch sử các hóa đơn mua hàng đã lập.
3. Cơ chế mã hóa mật khẩu người dùng trong cơ sở dữ liệu được thực hiện như thế nào?
Hệ thống sử dụng thuật toán mã hóa Bcrypt (dựa trên thuật toán mã hóa khối Blowfish). Thuật toán kết hợp ba cơ chế: băm (hashing), thêm muối (salt) và kéo giãn khóa (stretching). Kết quả đầu ra được định dạng theo chuẩn Modular Crypt Format để lưu trữ mã băm an toàn một chiều trong CSDL, ngăn chặn khả năng khôi phục mật khẩu gốc.
4. Công cụ nào được sử dụng để kiểm thử phần mềm trong đồ án?
Đồ án sử dụng phương pháp viết các kịch bản kiểm thử (test cases) chức năng và ứng dụng công cụ kiểm thử tự động Selenium để đánh giá và kiểm tra hoạt động của hệ thống phần mềm.
5. Cơ sở dữ liệu của hệ thống gồm những bảng chính nào và lưu trữ trên hệ quản trị nào?
Hệ thống sử dụng hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu MongoDB. Dữ liệu được tổ chức thành 5 bảng (collection) chính gồm: Bảng Tài khoản, Bảng Người dùng, Bảng Sản phẩm, Bảng Giỏ hàng và Bảng Tin nhắn.
Kết luận
Đồ án tốt nghiệp "Xây dựng website thương mại điện tử tích hợp AI" của sinh viên Mai Thế Dũng đã giải quyết bài toán tin học hóa quy trình bán hàng thời trang từ mô hình truyền thống sang môi trường trực tuyến. Bằng việc kết hợp bộ công nghệ MERN Stack cho hệ thống web và nền tảng Rasa/Python cho mô-đun Chatbot, hệ thống đã cung cấp giải pháp toàn diện từ trưng bày sản phẩm, xử lý đơn hàng đến tư vấn tự động cho khách hàng. Mặc dù còn một số điểm cần tiếp tục hoàn thiện về cơ chế thanh toán trực tuyến và độ sâu hội thoại của AI, đồ án là công trình kỹ thuật phần mềm có cấu trúc chuẩn mực và tính ứng dụng thực tiễn cao.