Báo cáo Đồ án 1: Xây dựng ứng dụng đi chợ trực tuyến tích hợp gợi ý

Tài liệu đồ án xây dựng ứng dụng đi chợ trực tuyến tích hợp hệ thống gợi ý sản phẩm. Báo cáo chi tiết các bước phân tích, thiết kế và triển khai.

2024

76
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Đồ án App Đi Chợ Trực Tuyến

Đồ án app đi chợ trực tuyến tích hợp gợi ý sản phẩm là một dự án được phát triển bởi sinh viên từ Trường Đại học Công nghệ Thông tin, ĐHQG TP.HCM. Đây là một ứng dụng di động hiện đại nhằm cải thiện trải nghiệm mua sắm trực tuyến của người dùng. Ứng dụng kết hợp công nghệ React Native, Node.js, và ExpressJS để tạo nên một nền tảng mạnh mẽ và linh hoạt. Với sự tích hợp của hệ thống gợi ý sản phẩm thông minh, ứng dụng có thể cá nhân hóa trải nghiệm mua sắm dựa trên sở thích và lịch sử tìm kiếm của mỗi người dùng. Dự án này không chỉ giải quyết các vấn đề thực tiễn trong lĩnh vực thương mại điện tử mà còn áp dụng các công nghệ tiên tiến trong ngành công nghệ thông tin.

1.1. Lý do chọn đề tài

Nhu cầu mua sắm trực tuyến ngày càng gia tăng, nhưng người dùng thường gặp khó khăn trong việc tìm kiếm sản phẩm phù hợp. Đồ án app đi chợ trực tuyến ra đời để giải quyết bài toán này bằng cách tích hợp công nghệ gợi ý sản phẩm thông minh. Điều này giúp tiết kiệm thời gian tìm kiếm và tăng trải nghiệm mua sắm của khách hàng. Ngoài ra, dự án này cung cấp nền tảng để đội phát triển thực hành các kỹ năng phát triển ứng dụng di động hiện đại.

1.2. Mục tiêu chính của dự án

Mục tiêu chính là xây dựng một ứng dụng di động toàn chức năng cho phép người dùng duyệt, tìm kiếm và mua sắm các sản phẩm. Hệ thống gợi ý sản phẩm sử dụng công nghệ Recombee để đưa ra các đề xuất cá nhân hóa. Ứng dụng cũng cung cấp các tính năng như quản lý giỏ hàng, thanh toán trực tuyến, theo dõi đơn hàng, và quản lý tài khoản người dùng.

II. Công nghệ sử dụng trong Đồ án App Đi Chợ Trực Tuyến

Đồ án app đi chợ trực tuyến sử dụng một stack công nghệ hiện đại và được chọn lọc kỹ càng để đảm bảo hiệu suất, độ tin cậy và khả năng mở rộng. Phía frontend, ứng dụng được xây dựng bằng React Native, cho phép phát triển ứng dụng đa nền tảng (iOS và Android) từ một codebase duy nhất. Phía backend, dự án sử dụng Node.js kết hợp ExpressJS để tạo các API RESTful mạnh mẽ và hiệu quả. Để lưu trữ dữ liệu, ứng dụng sử dụng PostgreSQL - một cơ sở dữ liệu quan hệ mạnh mẽ và đáng tin cậy. Supabase được tích hợp để quản lý xác thực người dùng và cơ sở dữ liệu thời gian thực.

2.1. Frontend và Backend Stack

React Native là lựa chọn hàng đầu cho phát triển ứng dụng di động đa nền tảng. Nó cho phép tái sử dụng code giữa iOS và Android, giảm thời gian phát triển. Node.js cung cấp một môi trường runtime JavaScript hiệu cao cho backend, trong khi ExpressJS là framework web tối giản nhưng mạnh mẽ để xây dựng API RESTful. Sự kết hợp này tạo nên một stack MERN/MEAN hiệu quả.

2.2. Cơ sở dữ liệu và Hệ thống Gợi ý

PostgreSQL được chọn để lưu trữ tất cả dữ liệu quan trọng của ứng dụng như thông tin người dùng, sản phẩm và đơn hàng. Supabase cung cấp các dịch vụ quản lý xác thực và cơ sở dữ liệu thời gian thực. Recombee là công cụ chính để cung cấp hệ thống gợi ý sản phẩm thông minh, giúp cá nhân hóa trải nghiệm mua sắm dựa trên hành vi và sở thích người dùng.

III. Chức năng chính của Ứng dụng Đi Chợ Trực Tuyến

Đồ án app đi chợ trực tuyến cung cấp một bộ chức năng toàn diện để hỗ trợ toàn bộ quá trình mua sắm. Người dùng có thể đăng nhập/đăng ký tài khoản thông qua hệ thống xác thực bảo mật. Ứng dụng cho phép duyệt danh sách sản phẩm, tìm kiếm nâng cao theo các tiêu chí khác nhau, và nhận được gợi ý sản phẩm được cá nhân hóa dựa trên lịch sử và sở thích. Người dùng có thể quản lý giỏ hàng, thêm hoặc xóa sản phẩm, và lưu các sản phẩm yêu thích. Hệ thống thanh toán trực tuyến được tích hợp để xử lý các giao dịch an toàn. Ngoài ra, ứng dụng hỗ trợ theo dõi đơn hàng real-time, quản lý mã giảm giá, và đánh giá sản phẩm.

3.1. Quản lý Tài khoản và Xác thực

Người dùng có thể tạo tài khoản mới hoặc đăng nhập vào tài khoản hiện có. Ứng dụng sử dụng Supabase để quản lý xác thực an toàn. Người dùng có thể cập nhật thông tin cá nhân như tên, số điện thoại, địa chỉ giao hàng. Hệ thống cũng cung cấp tính năng quản lý passwordkhôi phục tài khoản nếu cần thiết.

3.2. Tìm kiếm Duyệt và Gợi ý Sản phẩm

Tìm kiếm sản phẩm có thể được thực hiện bằng từ khóa, danh mục, giá, hoặc các bộ lọc nâng cao. Hệ thống gợi ý sử dụng Recombee để đề xuất các sản phẩm phù hợp dựa trên hành vi mua sắm và đánh giá của người dùng. Người dùng có thể xem chi tiết sản phẩm, hình ảnh, giá cả, đánh giá từ khách hàng khác, và thêm vào giỏ hàng hoặc lưu vào danh sách yêu thích.

3.3. Thanh toán và Theo dõi Đơn hàng

Ứng dụng đi chợ trực tuyến cung cấp giao diện thanh toán trực tuyến an toàn. Người dùng có thể áp dụng mã giảm giá và xem tổng tiền trước khi xác nhận. Sau khi thanh toán thành công, người dùng có thể theo dõi đơn hàng của mình với thông tin giao hàng real-timecập nhật trạng thái đơn hàng.

IV. Hướng phát triển và Ứng dụng Thực tiễn

Đồ án app đi chợ trực tuyến tích hợp gợi ý sản phẩm không chỉ là một dự án học tập mà còn có giá trị ứng dụng thực tiễn cao trong lĩnh vực thương mại điện tử. Ứng dụng có thể được mở rộng với các tính năng bổ sung như thanh toán qua ví điện tử, giao hàng đồng thời, chat hỗ trợ khách hàng, và chương trình loyalty. Hệ thống gợi ý sản phẩm có thể được cải tiến bằng cách áp dụng machine learning nâng cao và phân tích big data. Dự án cũng có tiềm năng phát triển thành một nền tảng thương mại điện tử hoàn chỉnh phục vụ thị trường thực. Các nhà phát triển còn có thể tối ưu hóa hiệu suất, cải thiện giao diện người dùng, và mở rộng sang các nước khác.

4.1. Cơ hội Mở rộng và Cải tiến

Ứng dụng đi chợ trực tuyến có thể được mở rộng với các tính năng như lịch sử mua hàng chi tiết, so sánh sản phẩm, đăng ký thông báo giá, và chương trình giới thiệu bạn bè. Hệ thống gợi ý sản phẩm có thể được cải tiến bằng deep learningneural networks. Ứng dụng cũng có thể hỗ trợ nhiều ngôn ngữtiền tệ khác nhau để mở rộng phạm vi người dùng.

4.2. Ứng dụng Thực tiễn và Giá trị Kinh tế

Dự án này có thể được triển khai thành một nền tảng thương mại điện tử thực tế phục vụ các cửa hàng bán lẻ. Hệ thống gợi ý sản phẩm thông minh giúp tăng doanh số bán hàngtỷ lệ chuyển đổi. Ứng dụng cũng có giá trị trong việc thu thập dữ liệu người dùng để phân tích hành vi tiêu dùng và chiến lược tiếp thị.

28/12/2025

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

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI. Lý do chọn đề tài. Mục tiêu đề tài.

Đối tượng sử dụng. Phương pháp thực hiện. Công cụ sử dụng. TÌM HIỂU CƠ SỞ LÝ THUYẾT.

Tổng quan về React Native. Nhược điểm. Tổng quan về Nodejs. Nhược điểm.

Tổng quát về ExpressJS. Giới thiệu sơ lược. Nhược điểm. Tổng quát về PostgreSQL.

Giới thiệu sơ lược. Nhược điểm. Tổng quát về Supabase. Giới thiệu tổng quan.

Nhược điểm. Tổng quát về Heroku. Giới thiệu sơ lược. Nhược điểm.

Tổng quát về Recombee. Giới thiệu sơ lược. Nhược điểm. XÁC ĐỊNH VÀ PHÂN TÍCH YÊU CẦU.

Khảo sát hiện trạng. Xác định chức năng, yêu cầu. Yêu cầu chức năng. Yêu cầu phi chức năng.

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG. Kiến trúc hệ thống. Danh sách actor. Danh sách use case.

Sơ đồ use case tổng quát. Sơ đồ use case chi tiết. Use case quản lý xác thực người dùng. Use case quản lý tài khoản người dùng.

Use case tìm kiếm sản phẩm. Use case duyệt sản phẩm. Use case Thanh toán đơn hàng. Đặc tả use case.

UC-01: Quản lý xác thực người dùng. UC-02: Quản lý tài khoản người dùng. UC-03: Tìm kiếm sản phẩm. UC-04: Quản lý giỏ hàng.

UC-05: Thanh toán đơn hàng. UC-06: Duyệt sản phẩm. UC-07: Đánh giá và phản hồi. UC-08: Quản lý ưu đãi và khuyến mãi.

UC-09: Quản lý danh sách yêu thích. Tìm kiếm sản phẩm. Xem chi tiết sản phẩm. Thêm sản phẩm vào giỏ hàng.

Thêm sản phẩm vào mục ưu thích. Thay đổi thông tin cá nhân. Cập nhập thông tin. Xoá sản phẩm khỏi danh sách ưu thích.

Xoá sản phẩm khỏi giỏ hàng. Thiết kế dữ liệu. XÂY DỰNG ỨNG DỤNG. Màn hình đăng nhập.

Màn hình danh mục sản phẩm. Màn hình chi tiết một sản phẩm. Giỏ hàng. Yêu thích.

Xác nhận thanh toán :. Thay đổi thông tin cá nhân. Theo dõi đơn hàng. Quản lý mã giảm giá:.

Kết quả đạt được. Nhược điểm. Hướng phát triển.63 4 DANH MỤC HÌNH ẢNH Hình 2-1 React Native.6 Hình 2-2 Nodejs. 8 Hình 2-3 ExpressJS.9 Hình 2-4 PostgreSQL.10 Hình 2-5 SupaBase.

11 Hình 2-6 Heroku.12 Hình 2-7 Recombee. 13 Hình 4-1 Mô hình Client-Server.21 Hình 4-2 Use case tổng quát.23 Hình 4-3 Quản lý xác thực người dùng.24 Hình 4-4 Quản lý tài khoản người dùng.25 Hình 4-5 Tìm kiếm sản phẩm.26 Hình 4-6 Duyệt sản phẩm. 27 Hình 4-7 Thanh toán đơn hàng. 28 Hình 5-1 Đăng nhập.49 Hình 5-2 Trang chủ.

50 Hình 5-3 Danh mục sản phẩm.51 Hình 5-4 Chi tiết sản phẩm.52 Hình 5-5 Giỏ hàng. 54 Hình 5-6 Yêu thích.55 Hình 5-7 Xác nhận thanh toán. 56 Hình 5-8 Hồ sơ.57 Hình 5-9 Thay đổi thông tin cá nhân.58 Hình 5-10 Theo dõi đơn hàng.59 Hình 5-11 Thay đổi địa chỉ.60 Hình 5-12 Quản lý mã giảm giá.61 5 DANH MỤC BẢNG BIỂU Table 4-1 Danh sách actor. 22 Table 4-2 Danh sách usecase.

48 6 DANH MỤC DIAGRAM Diagram 4.4-2 Tìm kiếm sản phẩm.4-3 Xem chi tiết sản phẩm.4-4 Thâm sản phẩm vào giỏ.4-5 Thêm sản phẩm vào mục ưu thích.4-6 Thay đổi thông tin cá nhân.4-7 Cập nhật số điện thoại.4-8 Cập nhật địa chỉ giao hàng.4-11 Xóa sản phẩm khổi danh sách ưu thích.4-12 Xóa sản phẩm khỏi giỏ hàng.5-1 Thiết kế dữ liệu. GIỚI THIỆU ĐỀ TÀI 1. Lý do chọn đề tài Trong bối cảnh thời đại số hóa, thương mại điện tử đang phát triển mạnh mẽ và trở thành một phần quan trọng của cuộc sống hàng ngày. Người tiêu dùng ngày càng ưa chuộng hình thức mua sắm trực tuyến do tính tiện lợi, giúp họ tiết kiệm thời gian và chi phí di chuyển.

Tuy nhiên, sự cạnh tranh trên thị trường thương mại điện tử ngày càng gay gắt, đòi hỏi các doanh nghiệp cần cải tiến và mang lại những trải nghiệm tốt hơn cho người dùng. Điều này chính là lý do khiến đề tài “Xây dựng ứng dụng đi chợ trực tuyến tích hợp gợi ý mua hàng” trở nên cần thiết và cấp bách. Một trong những lợi ích rõ ràng của ứng dụng đi chợ trực tuyến là tối ưu trải nghiệm người dùng. Thay vì người dùng phải tự tìm kiếm từng sản phẩm theo nhu cầu, hệ thống có thể tự động gợi ý các sản phẩm phù hợp dựa trên sở thích, lịch sử mua sắm và các yếu tố cá nhân hóa khác.

Điều này không chỉ giúp giảm bớt thời gian tìm kiếm mà còn làm tăng sự hài lòng của khách hàng, khiến quá trình mua sắm trở nên dễ dàng và hiệu quả hơn. Bên cạnh đó, ứng dụng đi chợ trực tuyến tích hợp gợi ý mua hàng còn là một giải pháp hữu ích cho những người tiêu dùng bận rộn, không có nhiều thời gian để tìm kiếm từng sản phẩm. Thay vì phải tốn thời gian duyệt qua hàng loạt mặt hàng, họ chỉ cần xem qua các sản phẩm được hệ thống đề xuất dựa trên các yếu tố cá nhân hóa. Điều này giúp quá trình mua sắm trở nên nhanh chóng và tiện lợi hơn.

Mục tiêu đề tài ● Xây dựng một ứng dụng cho phép người dùng mua sắm trực tuyến, bao gồm các tính năng cơ bản như duyệt sản phẩm, tìm kiếm, thanh toán, và quản lý giỏ hàng. ● Áp dụng công nghệ trí tuệ nhân tạo (AI) và machine learning để phân tích hành vi người dùng và đưa ra các gợi ý sản phẩm phù hợp dựa trên sở thích, lịch sử mua sắm và xu hướng tiêu dùng cá nhân. ● Cải thiện giao diện và trải nghiệm mua sắm trên ứng dụng, giúp người dùng dễ dàng tìm kiếm và tiếp cận với các sản phẩm được đề xuất mà không cần phải tự mình tìm kiếm. ● Đảm bảo ứng dụng hoạt động ổn định, xử lý nhanh chóng và hiệu quả các yêu cầu từ người dùng, bao gồm cả khối lượng lớn dữ liệu về sản phẩm và người dùng.

Phạm vi - Nền tảng hỗ trợ: Triển khai trên ứng dụng di động - Chức năng: a) Chức năng tìm kiếm sản phẩm a. Người dùng có thể tìm kiếm sản phẩm bằng từ khóa, danh mục hoặc bộ lọc (theo giá, thương hiệu, đánh giá,. Hiển thị danh sách các sản phẩm với thông tin chi tiết như tên, giá cả, mô tả, hình ảnh và đánh giá từ người dùng. b) Chức năng giỏ hàng a.

Người dùng có thể thêm/bỏ sản phẩm vào giỏ hàng. Cập nhật số lượng sản phẩm và tính toán tổng giá trị đơn hàng. Lưu giỏ hàng tạm thời để người dùng có thể tiếp tục mua sắm ở các phiên sau. c) Chức năng thanh toán 2 Hỗ trợ nhiều phương thức thanh toán như thẻ tín dụng, chuyển khoản ngân hàng, ví điện tử (ZaloPay,.) và thanh toán khi nhận hàng.

d) Chức năng gợi ý sản phẩm a. Gợi ý sản phẩm theo lịch sử mua hàng: Dựa trên lịch sử mua sắm của người dùng để đề xuất những sản phẩm tương tự hoặc bổ sung. Gợi ý sản phẩm theo xu hướng: Đề xuất các sản phẩm phổ biến hoặc đang bán chạy trong danh mục mà người dùng quan tâm. Gợi ý sản phẩm cá nhân hóa: Phân tích lịch sư mua hàng và tìm kiếm để đưa ra gợi ý theo sở thích của người dùng.

Gợi ý sản phẩm có liên quan đến sản phẩm đang xem. e) Chức năng quản lý tài khoản người dùng a. Đăng ký và đăng nhập tài khoản qua email hoặc mạng xã hội (Google, Facebook). Cập nhật và quản lý thông tin cá nhân: tên, địa chỉ giao hàng, số điện thoại, email.

Xem lịch sử mua sắm. f) Chức năng quản lý danh mục yêu thích a. Người dùng có thể thêm sản phẩm vào danh mục yêu thích để theo dõi và mua sau. Dễ dàng truy cập và quản lý các sản phẩm yêu thích từ tài khoản cá nhân.

g) Chức năng quản lý đơn hàng a. Người dùng có thể theo dõi lịch sử mua hàng. Hỗ trợ việc hủy đơn hoặc yêu cầu hoàn tiền khi có vấn đề với sản phẩm. h) Chức năng quản lý khuyến mãi và mã giảm giá 3 a.

Hỗ trợ sử dụng mã giảm giá hoặc áp dụng chương trình khuyến mãi vào giỏ hàng khi thanh toán. Hiển thị các chương trình khuyến mãi hiện tại hoặc sản phẩm được giảm giá. Đối tượng sử dụng Các cá nhân có nhu cầu mua sắm lương thực, hàng hóa nhu yếu phẩm. Họ tìm kiếm một giải pháp tiện lợi, nhanh chóng và cá nhân hóa trong việc mua sắm trực tuyến.

Những người có lối sống bận rộn, không có nhiều thời gian để đi chợ hoặc mua sắm tại cửa hàng truyền thống. Họ cần một ứng dụng giúp tiết kiệm thời gian và công sức. Các cá nhân đam mê công nghệ và các tính năng mới, như gợi ý mua hàng dựa trên AI, và tìm kiếm trải nghiệm mua sắm trực tuyến hiện đại và dễ sử dụng. Phương pháp thực hiện - Tìm hiểu công nghệ: React,PostgreSQL.

- Tìm hiểu các công cụ hỗ trợ: Figma,. - Môi trường làm việc: Notion. - Thu thập yêu cầu thông qua: ● Tạo phiếu khảo sát khảo sát nhu cầu người dùng. ● Tìm hiểu các ứng dụng hiện có trên thị trường.

- Phân tích và xác định yêu cầu. - Thiết kế: ● Thiết kế đối tượng. ● Thiết kế dữ liệu. 4 ● Thiết kế giao diện.

- Hoàn thiện sản phẩm. Công cụ sử dụng - Công cụ thiết kế UI/UX: Figma. - Ngôn ngữ sử dụng: Typescript. - Xây dựng app mobile: React Native - Expo.

- Xây dựng server: NodeJS – ExpressJS. - Cơ sở dữ liệu: PostgreSQL. - Source Control: Github. TÌM HIỂU CƠ SỞ LÝ THUYẾT 2.

Tổng quan về React Native 2. Giới thiệu Hình TÌM HIỂU CƠ SỞ LÝ THUYẾT-1 React Native - React Native là một framework mã nguồn mở được sáng tạo bởi Facebook. Nó được sử dụng để phát triển ứng dụng di động Android, iOS, Web và UWP bằng cách cho phép các nhà phát triển sử dụng React cùng với môi trường ứng dụng gốc. - React Native hoạt động dựa trên 3 threads (chuỗi) sau: ● UI Thread (Main Thread): đây là chuỗi chính chịu trách nhiệm xử lý giao diện và truy cập giao diện người dùng để thực hiện các tác vụ liên quan.

● Shadow Thread: chuỗi này dùng React Native để tính toán bố cục của ứng dụng và cập nhật giao diện mà không làm ảnh hưởng đến UI Thread. Mã của chuỗi này thực thi trong một môi trường độc lập và đảm bảo ứng dụng chạy mượt mà. Ưu điểm - Khả năng tái sử dụng mã: khoảng 90% mã có thể được sử dụng lại giữa hai nền tảng Android và iOS, giúp tăng tốc độ phát triển và mang đến hiệu quả đáng kể cũng như giảm chi phí và tăng hiệu quả hơn. - Live reload: cho phép xem và làm việc với các thay đổi ngay lập tức.

Điều này giúp tiết kiệm rất nhiều thời gian và công sức tổng hợp lại app khi có thay đổi. - Tập trung vào giao diện người dùng. - Rút ngắn thời gian học: vì React Native giúp làm quen với việc tạo ứng dụng di động trên cả hai hệ điều hành iOS và Android.

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