Báo cáo đồ án: Xây dựng ứng dụng TMĐT tích hợp Chatbot của SV. Điệp Hữu Nghĩa

Tài liệu tham khảo đồ án tốt nghiệp xây dựng ứng dụng thương mại điện tử tích hợp chatbot. Báo cáo đầy đủ, chi tiết các bước phân tích, thiết kế.

Chuyên ngành

Công nghệ Thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2025

78
9
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Đồ án Tốt nghiệp App Thương mại Điện tử và Chatbot

Đồ án tốt nghiệp app thương mại điện tử kết hợp chatbot là một dự án học thuật hiện đại, giải quyết nhu cầu thực tiễn của thị trường e-commerce Việt Nam. Dự án này kết hợp công nghệ phát triển ứng dụng di động với trí tuệ nhân tạo chatbot, tạo ra một hệ thống bán hàng trực tuyến thông minh. Mục tiêu chính là xây dựng nền tảng thương mại điện tử hoàn chỉnh với khả năng tương tác tự động, cải thiện trải nghiệm khách hàng, và tối ưu hóa quy trình bán hàng. Đây là một bước tiến quan trọng trong việc áp dụng công nghệ AI vào lĩnh vực kinh doanh số.

1.1. Khái niệm và Tầm quan trọng

App thương mại điện tử là nền tảng cho phép người dùng mua bán sản phẩm trực tuyến. Chatbot tích hợp cung cấp hỗ trợ khách hàng 24/7, trả lời thắc mắc, và hướng dẫn mua hàng tự động. Sự kết hợp này giúp giảm chi phí vận hành, tăng hiệu suất bán hàng, và nâng cao mức độ hài lòng của khách hàng. Trong bối cảnh chuyển đổi số, dự án này có giá trị ứng dụng thực tiễn cao.

II. Kiến trúc Hệ thống và Công nghệ Sử dụng

Kiến trúc hệ thống app thương mại điện tử bao gồm ba lớp chính: frontend (giao diện người dùng), backend (xử lý logic), và database (lưu trữ dữ liệu). Frontend được phát triển với Flutter hoặc React Native cho khả năng tương thích đa nền tảng. Backend sử dụng Node.js hoặc Python Django để xử lý các yêu cầu từ khách hàng. Chatbot được xây dựng trên nền tảng NLP (Natural Language Processing) như Rasa hoặc Dialogflow, giúp nhận diện ý định người dùng và đưa ra phản hồi phù hợp. Database sử dụng MongoDB hoặc MySQL để lưu trữ thông tin sản phẩm, người dùng, và đơn hàng.

2.1. Thành phần Chính của Ứng dụng

Ứng dụng bao gồm: (1) Module Quản lý sản phẩm - hiển thị danh sách, chi tiết, tìm kiếm; (2) Giỏ hàng và Thanh toán - xử lý đơn hàng an toàn; (3) Hệ thống Tài khoản người dùng - đăng ký, đăng nhập, quản lý hồ sơ; (4) Chatbot AI - hỗ trợ khách hàng tự động, trả lời FAQ, gợi ý sản phẩm. Mỗi thành phần được thiết kế độc lập nhưng liên kết chặt chẽ để tạo nên một trải nghiệm người dùng liền mạch.

III. Quá trình Phát triển và Triển khai

Quá trình phát triển đồ án tuân theo vòng đời phần mềm tiêu chuẩn: Phân tích yêu cầu, Thiết kế hệ thống, Lập trình từng module, Kiểm thử (Unit test, Integration test), và Triển khai. Giai đoạn phân tích yêu cầu xác định chức năng cần thiết, người dùng mục tiêu, và tiêu chí thành công. Thiết kế hệ thống bao gồm sơ đồ Use case, Entity-Relationship Diagram (ERD), và wireframe giao diện. Lập trình module được chia thành từng công việc nhỏ, gán cho thành viên nhóm. Kiểm thử đảm bảo chất lượng code và chức năng hoạt động đúng. Triển khai lên server hoặc cloud platform như Firebase, AWS, hoặc Heroku.

3.1. Các Giai đoạn Thực hiện Chi tiết

Giai đoạn 1 (Tháng 1-2): Nghiên cứu, phân tích yêu cầu, thiết kế. Giai đoạn 2 (Tháng 3-4): Lập trình backend, cơ sở dữ liệu. Giai đoạn 3 (Tháng 5): Phát triển frontend, tích hợp API. Giai đoạn 4 (Tháng 6): Xây dựng và huấn luyện chatbot NLP. Giai đoạn 5 (Tháng 7): Kiểm thử toàn bộ hệ thống, sửa lỗi. Giai đoạn 6 (Tháng 8): Triển khai live, tối ưu hiệu suất.

IV. Kết quả Đạt được và Hướng Phát triển Tương lai

Kết quả đạt được bao gồm một ứng dụng thương mại điện tử hoàn chỉnh với giao diện thân thiện, chatbot AI phản hồi nhanh (độ chính xác >85%), hệ thống thanh toán an toàn, và khả năng xử lý hàng trăm người dùng đồng thời. Ứng dụng đã được kiểm thử và nhận phản hồi tích cực từ nhóm người dùng thử nghiệm. Hướng phát triển tương lai bao gồm: tích hợp AR để xem trước sản phẩm, machine learning để cá nhân hóa gợi ý, thanh toán bằng ví điện tử/cryptocurrency, mở rộng thị trường quốc tế, và phát triển phiên bản web admin quản lý cửa hàng.

4.1. Những Thách thức và Bài Học Kinh nghiệm

Thách thức gặp phải: (1) Tối ưu hiệu suất chatbot với lượng dữ liệu huấn luyện hạn chế; (2) Bảo mật thanh toán và dữ liệu cá nhân; (3) Tương thích giao diện trên nhiều thiết bị khác nhau. Bài học kinh nghiệm: lên kế hoạch chi tiết trước khi lập trình, quản lý thời gian hợp lý, kiểm thử sớm và liên tục, và xây dựng cộng đồng người dùng để thu thập feedback.

28/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. Ngôn ngữ lập trình Dart 1.1 Khái niệm Dart là một ngôn ngữ lập trình hiện đại được phát triển bởi Google, chủ yếu được sử dụng để xây dựng các ứng dụng di động, web và máy chủ. Dart có cú pháp đơn giản, dễ hiểu, tương tự như JavaScript và C#, giúp lập trình viên dễ dàng tiếp cận và sử dụng. Ngôn ngữ này nổi bật với hiệu suất cao nhờ khả năng biên dịch thành mã máy hoặc JavaScript, cho phép các ứng dụng chạy nhanh và mượt mà.

Dart hỗ trợ đa nền tảng, giúp phát triển ứng dụng trên Android, iOS, web và máy chủ. Hệ thống kiểu của Dart mạnh mẽ, hỗ trợ cả kiểu tĩnh và động, giúp phát hiện lỗi sớm. Các công cụ phát triển đi kèm, như Dart DevTools, cung cấp nhiều tính năng hỗ trợ gỡ lỗi và kiểm thử. Đặc biệt, Dart tích hợp chặt chẽ với Flutter, framework UI của Google, giúp tạo ra các ứng dụng di động đẹp mắt và hiệu quả.

Ứng dụng Ngôn ngữ lập trình đóng vai trò quan trọng trong việc xây dựng các ứng dụng với một loạt các mục đích và môi trường khác nhau. Dưới đây là một số ứng dụng chính của ngôn ngữ lập trình: • Phát triển ứng dụng di động: Ngôn ngữ lập trình như Dart (sử dụng với Flutter), Swift (cho iOS), và Kotlin hoặc Java (cho Android) được sử dụng để phát triển các ứng dụng di động. Đây là một trong những mảng ứng dụng phát triển nhanh nhất và đang ngày càng trở nên phổ biến. • Phát triển ứng dụng web: JavaScript, HTML, và CSS là những ngôn ngữ chính được sử dụng để phát triển các ứng dụng web.

Các ngôn ngữ khác như Dart (sử dụng với AngularDart) và Python (sử dụng với Django hoặc Flask) cũng được sử dụng trong một số dự án web. • Phát triển ứng dụng máy tính: Các ngôn ngữ như Java, C#, và Python thường được sử dụng để phát triển các ứng dụng máy tính, bao gồm cả các ứng dụng desktop và ứng dụng nền tảng đám mây. • Phát triển trò chơi điện tử: Các ngôn ngữ như C++, C#, và Lua thường được sử dụng để phát triển trò chơi điện tử, từ trò chơi trực tuyến nhỏ đến các sản phẩm AAA. 6 • Phát triển trí tuệ nhân tạo và khoa học dữ liệu: Python là một trong những ngôn ngữ phổ biến nhất được sử dụng trong lĩnh vực trí tuệ nhân tạo và khoa học dữ liệu, như làm machine learning, deep learning, và data analysis.

• Phát triển ứng dụng nhúng: Các ngôn ngữ như C và C++ thường được sử dụng trong việc phát triển các ứng dụng nhúng, như các hệ điều hành nhúng, điều khiển robot, và các thiết bị IoT. Ưu điểm Ngôn ngữ Dart có nhiều ưu điểm nổi bật, làm cho nó trở thành lựa chọn phổ biến cho việc phát triển ứng dụng di động, web và máy chủ: • Cú pháp đơn giản và dễ hiểu: Dart có cú pháp rõ ràng và dễ học, tương tự như JavaScript và C#, giúp các lập trình viên nhanh chóng làm quen và sử dụng. • Hiệu suất cao: Dart có thể được biên dịch thành mã máy hoặc JavaScript, giúp các ứng dụng chạy nhanh và mượt mà, cải thiện trải nghiệm người dùng. • Hỗ trợ đa nền tảng: Dart hỗ trợ phát triển ứng dụng trên nhiều nền tảng khác nhau như Android, iOS, web và máy chủ, giúp tiết kiệm thời gian và công sức khi xây dựng ứng dụng đa nền tảng.

• Hệ thống kiểu mạnh mẽ: Dart hỗ trợ cả kiểu tĩnh và động, cho phép lập trình viên kiểm soát chặt chẽ các kiểu dữ liệu, giúp phát hiện lỗi sớm trong quá trình phát triển. • Tích hợp tốt với Flutter: Dart là ngôn ngữ chính thức của Flutter, một framework UI của Google, giúp xây dựng các ứng dụng di động đẹp mắt và hiệu quả với giao diện người dùng phong phú. • Công cụ phát triển mạnh mẽ: Dart đi kèm với nhiều công cụ hỗ trợ phát triển như Dart DevTools, cung cấp các tính năng gỡ lỗi, theo dõi hiệu suất và kiểm thử, giúp nâng cao hiệu quả phát triển. • Quản lý bộ nhớ hiệu quả: Dart có cơ chế quản lý bộ nhớ tự động với hệ thống garbage collection, giúp giải phóng bộ nhớ không còn sử dụng và tối ưu hóa hiệu suất ứng dụng.

• Cộng đồng và hỗ trợ mạnh mẽ: Dart có một cộng đồng phát triển năng động và nhiều tài liệu hướng dẫn, giúp lập trình viên dễ dàng tìm kiếm hỗ trợ và tài nguyên học tập. Nhược điểm Mặc dù Dart có nhiều ưu điểm, nhưng cũng có một số nhược điểm cần lưu ý: • Cộng đồng nhỏ hơn: So với các ngôn ngữ lập trình phổ biến như JavaScript, Java hay Python, Dart có cộng đồng phát triển nhỏ hơn, dẫn đến ít tài liệu và thư viện hỗ trợ hơn. • Thị trường việc làm hạn chế: Vì Dart chưa phổ biến như một số ngôn ngữ khác, cơ hội việc làm cho các lập trình viên Dart có thể hạn chế hơn, đặc biệt là bên ngoài các công ty sử dụng Flutter. • Học tập và chuyển đổi: Đối với các lập trình viên đã quen với các ngôn ngữ khác, việc chuyển sang sử dụng Dart có thể đòi hỏi thời gian và nỗ lực để học tập và làm quen với cú pháp và cách sử dụng của nó.

• Hỗ trợ công cụ phát triển: Mặc dù Dart có nhiều công cụ hỗ trợ, nhưng số lượng và chất lượng các công cụ này vẫn chưa thể sánh ngang với các ngôn ngữ lập trình lâu đời và phổ biến hơn. • Thư viện và gói hỗ trợ: Số lượng thư viện và gói hỗ trợ cho Dart, mặc dù đang phát triển, vẫn còn hạn chế hơn so với các ngôn ngữ lập trình khác, đặc biệt là khi phát triển các ứng dụng phức tạp và đặc thù. • Hiệu suất trên nền tảng web: Mặc dù Dart có thể biên dịch thành JavaScript, hiệu suất của các ứng dụng web viết bằng Dart có thể không luôn luôn sánh ngang với các ứng dụng viết trực tiếp bằng JavaScript, đặc biệt là khi so sánh với các framework JavaScript phổ biến như React hoặc Angular. Khái niệm Flutter là một framework mã nguồn mở do Google phát triển, dùng để xây dựng các ứng dụng di động, web và máy tính để bàn từ một cơ sở mã duy nhất.

Nó sử dụng ngôn ngữ lập trình Dart, cung cấp cú pháp đơn giản và hiệu suất cao. Flutter nổi bật với tính năng Hot Reload, cho phép các nhà phát triển thấy ngay lập tức các thay đổi trong mã nguồn mà không cần khởi động lại ứng dụng. Các giao diện trong Flutter được xây dựng dựa trên widget, từ các thành phần đơn giản đến các cấu trúc phức tạp. Flutter biên dịch mã nguồn trực tiếp xuống mã máy, đảm bảo hiệu suất cao và trải nghiệm người dùng mượt mà.

Cách thức hoạt động Flutter hoạt động theo cách tiếp cận widget-based và sử dụng ngôn ngữ lập trình Dart để xây dựng các ứng dụng đa nền tảng. Dưới đây là cách thức hoạt động cơ bản của Flutter: Widget-based framework: Flutter xây dựng giao diện người dùng bằng cách sử dụng các widget. Mỗi thành phần của giao diện, từ các thành phần đơn giản như nút và văn bản đến các cấu trúc phức tạp như layout và animation, đều được biểu diễn bằng các widget. Flutter cung cấp một số lượng lớn các widget có sẵn và cho phép người dùng tự định nghĩa widget mới.

Single codebase: Mã nguồn của Flutter được viết bằng Dart và có thể tái sử dụng cho cả iOS, Android, web và máy tính để bàn. Điều này giúp giảm thời gian và chi phí phát triển, vì chỉ cần duy trì một mã nguồn duy nhất. Biên dịch Just-in-Time (JIT): Trong quá trình phát triển, Flutter sử dụng biên dịch JIT để cập nhật các thay đổi mã nguồn ngay lập tức và sử dụng tính năng Hot Reload để áp dụng các thay đổi này trực tiếp lên ứng dụng mà không cần khởi động lại. Điều này giúp lập trình viên nhanh chóng thử nghiệm và sửa lỗi.

Biên dịch Ahead-of-Time (AOT): Khi triển khai ứng dụng, Flutter sử dụng biên dịch AOT để biên dịch mã nguồn Dart thành mã máy trực tiếp cho từng nền tảng như iOS và Android. Điều này đảm bảo hiệu suất cao và trải nghiệm người dùng mượt mà. Thư viện và plugin phong phú: Flutter có một hệ sinh thái thư viện và plugin phong phú, bao gồm cả Material Design của Google và Cupertino (iOS-style), giúp phát triển giao diện người dùng đẹp mắt và phong phú. Hỗ trợ nền tảng đa dạng: Flutter hỗ trợ phát triển ứng dụng cho Android, iOS, web và máy tính để bàn (Windows, macOS, Linux), giúp đơn giản hóa việc phát triển đa nền tảng.

Cách thức hoạt động của Flutter 2. Ưu điểm Phát triển đa nền tảng: Với Flutter, bạn có thể viết một lần và chạy trên nhiều nền tảng khác nhau, bao gồm iOS, Android, web, và desktop, giúp tiết kiệm thời gian và công sức phát triển. • Phát triển đa nền tảng: Flutter cho phép phát triển ứng dụng cho Android, iOS, web và desktop từ một mã nguồn duy nhất, giúp tiết kiệm thời gian và chi phí phát triển. • Widget-based UI: Flutter xây dựng giao diện người dùng bằng cách sử dụng các widget, từ các thành phần cơ bản như nút và văn bản đến các layout phức tạp và animation, giúp tạo ra giao diện đẹp mắt và linh hoạt.

• Hot Reload: Tính năng Hot Reload của Flutter giúp lập trình viên có thể xem ngay lập tức các thay đổi trong mã nguồn mà không cần phải khởi động lại toàn bộ ứng dụng, tăng tốc quá trình phát triển và thử nghiệm. • Hiệu suất cao: Flutter biên dịch mã nguồn trực tiếp xuống mã máy cho từng nền tảng sử dụng biên dịch Ahead-of-Time (AOT), đảm bảo hiệu suất cao và trải nghiệm người dùng mượt mà. Nhược điểm Mặc dù Flutter có nhiều ưu điểm, nhưng cũng không thiếu nhược điểm cần được lưu ý: 10 • Kích thước ứng dụng: Ứng dụng Flutter có thể có kích thước lớn hơn so với các ứng dụng native, do phải bao gồm cả framework Flutter trong file cài đặt. Điều này có thể dẫn đến thời gian tải và cài đặt lâu hơn cho người dùng.

• Khả năng tùy chỉnh giao diện hạn chế: Mặc dù Flutter cung cấp các widget phong phú, việc tùy chỉnh giao diện để phù hợp với các thiết kế đặc thù hoặc yêu cầu thiết kế từ phía thiết kế viên có thể gặp khó khăn hơn so với các framework giao diện người dùng truyền thống. • Chưa hoàn thiện trên một số nền tảng: Mặc dù Flutter có thể phát triển cho nhiều nền tảng, nhưng hỗ trợ và hiệu suất có thể khác nhau đối với từng nền tảng cụ thể.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ