1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn

62 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Đi Chợ Trực Tuyến Tích Hợp Gợi Ý Món Ăn
Tác giả Lê Sỹ Hội, Nguyễn Viết Đức
Người hướng dẫn Th.S Trần Anh Dũng
Trường học Trường Đại Học Công Nghệ Thông Tin
Thể loại Đồ Án
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 62
Dung lượng 4,92 MB

Cấu trúc

  • Chương 1. MỞ ĐẦU (0)
    • 1.1 Lý do chọn đề tài (13)
    • 1.2 Mục đích nghiên cứu (13)
    • 1.3 Đối tượng nghiên cứu (13)
    • 1.4 Phạm vi nghiên cứu (14)
  • Chương 2. KIẾN THỨC NỀN TẢNG (0)
    • 2.1 React Native (14)
    • 2.2 NodeJS (15)
    • 2.3 FireBase (15)
  • Chương 3. HỆ THỐNG GỢI Ý RECOMMENDER SYSTEM (0)
    • 3.1 Khái niệm (16)
    • 3.2 Utility matrix (17)
    • 3.3 Content-based Recommendation Systems (18)
    • 3.4 Collaborative filtering Recommendation Systems (20)
    • 3.5 Áp dụng vào đề tài: chức năng gợi ý thực phẩm (22)
    • 3.6 Chức năng gợi ý 2: gợi ý món ăn dựa trên thực phẩm đã chọn (0)
  • Chương 4. ĐẶC TẢ USECASE (0)
    • 4.1 Sơ đồ Usecase (24)
    • 4.2 Danh sách tác nhân (0)
    • 4.3 Danh sách Usecase (26)
    • 4.4 Mô tả chi tiết Usecase (26)
  • Chương 5. THIẾT KẾ CƠ SỞ DỮ LIỆU (0)
  • Chương 7. TỔNG KẾT (0)
    • 7.1 Kết quả đạt được (60)
    • 7.2 Hướng phát triển (61)
  • TÀI LIỆU THAM KHẢO.......................................................................................57 (62)

Nội dung

KIẾN THỨC NỀN TẢNG

React Native

React Native là một framework mã nguồn mở cho phép các nhà phát triển xây dựng ứng dụng di động đa nền tảng bằng cách sử dụng JavaScript và các thành phần giao diện đồng nhất với React React Native được phát triển bởi Facebook và đã trở thành một trong những công nghệ phổ biến nhất để phát triển ứng dụng di động trên các nền tảng iOS và Android.

Với React Native, các nhà phát triển có thể tạo các ứng dụng di động chất lượng cao nhanh chóng và hiệu quả hơn Điều này là do React Native cung cấp một số tính năng hữu ích như tái sử dụng mã, tương thích đa nền tảng, và khả năng live reload - cho phép các nhà phát triển cập nhật ứng dụng một cách nhanh chóng và thấy kết quả ngay lập tức.

NodeJS

Node.js là một nền tảng phát triển ứng dụng web mã nguồn mở được xây dựng trên nền tảng JavaScript Node.js cho phép các nhà phát triển sử dụng

JavaScript để viết các ứng dụng server-side, điều này cho phép các nhà phát triển tạo ra các ứng dụng web động và hiệu quả hơn.

Node.js cũng có nhiều thư viện và framework hỗ trợ phát triển ứng dụng web, cho phép các nhà phát triển tạo ra những ứng dụng web đa dạng và phức tạp Node.js cũng cho phép tích hợp với các công nghệ khác như cơ sở dữ liệu, bảo mật và các dịch vụ cloud, giúp các nhà phát triển tạo ra các ứng dụng web phức tạp và đáp ứng được nhu cầu của người dùng.

HỆ THỐNG GỢI Ý RECOMMENDER SYSTEM

Khái niệm

Hệ thống gợi ý, hay tiếng anh là Recommender System, là một hệ thống có khả năng tự động gợi ý cho người dùng những sản phẩm họ có thể thích Đây là một giải pháp thay thế tốt nhất cho các thuật toán tìm kiếm, khi mà những sản phẩm họ có thể thích được tự động đề xuất kể cả khi người dùng có thực hiện hành động tìm tiếm hay không Bằng cách sử dụng bộ dữ liệu thu thập được từ phía người dùng trước đó, hệ thống sẽ tiến hành dự đoán và đưa ra kết quả gợi ý cho người dùng về những sản phẩm, tính năng, hay dịch vụ liên quan phù hợp với sở thích, độ quan tâm của người dùng Từ đó giúp nâng cao được chất lượng dịch vụ cho ứng dụng cũng như thu lại được lợi nhuận cao, đặc biệt trong các sàn thương mại điện tử

Recommemder System là một trong những mảng tương đối lớn của Học Máy Machine Learning và cũng có lịch sử khá lâu đời, khi lần đầu tiên hệ thống được đề cập trong một bài báo cáo kĩ thuật năm 1990 bởi Jussi Karlgren tại Đại Học Columbia và sau đó được triển khai quy mô lớn từ năm 1994 trở đi bởi Jussi Karlgren Tuy nhiên, thực tế Recommendation Systems là chỉ thực sự bùng nổ khoảng 10-15 năm gần đây, khi việc tương tác trực tuyến của người dùng gia tăng, và sự phát triển mạnh mẽ của các sàn thương mại điện tử, và cũng không thể thiếu sự tiến bộ của ngành Khoa học dữ liệu hiện nay.

Các thuật ngữ sau đây sẽ thường được sử dụng,

 Đối tượng, hay người dùng mà hệ thống gợi ý hướng đến được gọi là users,

 Sản phẩm mà hệ thống đưa ra gợi ý được gọi là items

 Sự tương quan giữa các đối tượng và sản phẩm, mức độ quan tâm của đối tượng đối với sản phẩm đó được gọi là rating

Về phân loại, các Recommender Systems thường được chia thành hai nhóm lớn:

 Content-based systems: hoạt động dựa vào đặc điểm của items

 Collaborative filtering: hoạt động với sự cộng tác của users và rating.

Trong đề tài này, nhóm chúng em tập trung phát triển hệ thống gợi ý, RecommenderSystem theo hướng thứ nhất: Content-based systems

Utility matrix

Có hai thực thể chính trong các Recommendation Systems là users và items. Mỗi user sẽ có mức độ quan tâm tới từng item khác nhau Mức độ quan tâm này, được gọi là rating, sẽ được gán cho một giá trị ứng với mỗi cặp user-item Tập hợp tất cả các ratings, bao gồm cả những giá trị chưa biết cần được dự đoán, tạo nên một ma trận gọi là utility matrix.

Ví dụ: Các Items 1,2,3 được Users lần lượt đánh giá điểm rating theo mức độ quan tâm từ 0 đến 5 Các dấu '?' ứng với việc dữ liệu chưa tồn tại trong cơ sở dữ liệu và Recommendation Systems cần phải tính toán, đưa ra kết quả dự đoán giá trị cho các vị trí này.

Trên thực tế, có rất nhiều users và items trong hệ thống, và mỗi user thường chỉ đánh giá điểm rating cho một số lượng rất nhỏ các items, thậm chí có những user không rate item nào Với việc các ô được điền càng nhiều thì độ chính xác của hệ thống gợi ý sẽ càng được cải thiện, vì vậy, các hệ thống luôn luôn hỏi người dùng về sự quan tâm của họ tới sản phẩm, và muốn người dùng đánh giá càng nhiều sản phẩm càng tốt Việc đánh giá các sản phẩm của một người dùng, không những giúp cho các người dùng khác biết được chất lượng sản phẩm mà còn giúp hệ thống biết được sở thích của người dùng, qua đó có những đề xuất với độ chính xác cho những người dùng sau.

Content-based Recommendation Systems

Content-based Recommendation Systems (Hệ thống gợi ý dựa trên nội dung) là một phương pháp trong lĩnh vực hệ thống gợi ý được sử dụng để cung cấp các gợi ý dựa trên đặc điểm nội dung của các mục tiêu Các hệ thống này đánh giá và so sánh các thuộc tính, đặc điểm hoặc nội dung của các mục tiêu với lịch sử hoặc sở thích của người dùng để đưa ra các gợi ý tương tự. Ưu điểm của Content-based:

 Hệ thống gợi ý dựa trên nội dung tập trung vào sở thích cá nhân của người dùng Các gợi ý được tạo ra dựa trên các đặc điểm và lịch sử quan tâm của người dùng, tạo ra trải nghiệm gợi ý phù hợp và cá nhân hơn.

 Hệ thống này không yêu cầu thông tin từ người dùng khác để tạo ra gợi ý Thay vào đó, nó dựa trên thông tin nội dung của các mục tiêu, giúp tránh những hạn chế của việc thu thập thông tin từ người dùng.

 Content-based Recommendation Systems dễ triển khai và thực hiện trong thực tế Việc thu thập thông tin về nội dung của các mục tiêu thường khá khả thi và không đòi hỏi nhiều tài nguyên.

Nhược điểm của Content-based:

 Hệ thống gợi ý dựa trên nội dung có xu hướng gợi ý các mục tiêu tương tự với nhau Điều này có thể dẫn đến sự thiếu đa dạng trong gợi ý, vì nó không khám phá được những sự khác biệt hoặc những mục tiêu mới mà người dùng có thể quan tâm.

 Thiếu thông tin về sở thích mới, nếu người dùng có sở thích mới mà không có nội dung tương tự trong hệ thống, thì hệ thống sẽ gặp khó khăn trong việc đưa ra gợi ý phù hợp

 Giới hạn kiến thức người dùng: Hệ thống chỉ dựa trên thông tin đã biết về người dùng để tạo ra gợi ý Nó không khám phá được những sở thích mới của người dùng hoặc những mục tiêu mà người dùng chưa được tiếp xúc.

Khi người dùng đang mua sắm trực tuyến và đã thêm một số sản phẩm vào giỏ hàng, hệ thống gợi ý dựa trên nội dung có thể đề xuất những sản phẩm tương tự hoặc phù hợp với những sản phẩm đã có trong giỏ hàng Ví dụ, nếu người dùng đã thêm một đôi giày thể thao của một thương hiệu nào đó vào giỏ hàng, hệ thống có thể gợi ý các sản phẩm khác thuộc cùng thương hiệu đó hoặc cùng loại giày thể thao.

Việc gợi ý sản phẩm dựa trên sản phẩm hiện có trong giỏ hàng giúp người dùng tìm kiếm các sản phẩm tương tự hoặc phù hợp, tạo ra trải nghiệm mua sắm liên quan.

Hình 3.2: Cách thức hoạt động của Content-based Recommendation Systems

Mặt hạn chế trong thực tế của Content-based Recommendation Systems:

 Content-based Recommendation Systems có thể gặp khó khăn trong việc đưa ra gợi ý cho các mục tiêu mới hoặc nằm ngoài những đặc điểm nội dung đã biết.

 Hệ thống chỉ tập trung vào những sở thích đã biết của người dùng, do đó, không thể khám phá được những sở thích mới hoặc những thay đổi trong sở thích của người dùng.

 Content-based Recommendation Systems không thể hiểu hoặc dự đoán được những ý đồ, tâm trạng hoặc những yếu tố phi nội dung khác mà người dùng có thể quan tâm trong quá trình tìm kiếm gợi ý được những ý đồ, tâm trạng hoặc những yếu tố phi nội dung khác mà người dùng có thể quan tâm trong quá trình tìm kiếm gợi ý.

Collaborative filtering Recommendation Systems

Lọc cộng tác, hay còn gọi là Collaborative filtering, là một nhóm phương pháp thuộc hệ thống gợi ý, Recommender System, hoạt động dựa trên sự tương quan giữa các users, items và rating, nhằm tìm ra sản phẩm mà người dùng có khả năng thích dựa vào những sản phẩm mà những người dùng khác có hành vi tương tự đã lựa chọn trước đó Ưu điểm của Collaborative filtering,

 Hệ thống tận dụng được những thông tin từ các users khác Nếu biết được đặc điểm hành vi của một vài users tương tự nhau, hệ thống có thể suy luận ra hành vi của những users còn lại

 Đơn giản, không cần phải mô tả đặc điểm mỗi item như Content-base

Nhược điểm của Collaborative filtering,

 Hệ thống không giải quyết được các bài toán khởi đầu lạnh (cold-start problem) khi mà người dùng mới không có đặc điểm gì về hành vi, chưa đánh giá sản phẩm bất nào, hay các sản phẩm mới chưa được người dùng nào đánh giá

 Khi ma trận đánh giá lớn, tức số lượng người dùng lẫn sản phẩm lớn thì thời gian tính toán sẽ tăng cao, khó đáp ứng tư vấn thời gian thực hoặc gần thời gian thực

Ví dụ: Hai users A, và B đều thích cùng những items (tức là đều đánh giá điểm rating cho các items yêu thích ở mức từ 4 -> 5) Khi đó, dựa vào dữ liệu thu thập được trước đó của userA, ta thấy A thích một số items khác, như vậy nhiều khả năng, userB cũng sẽ thích những items này Từ đó hệ thống sẽ đề xuất những items này cho userB.

Việc xác định mức độ quan tâm của mỗi user tới một item dựa trên mức độ quan tâm của similar users tới item đó còn được gọi là User-user Collaborative Filtering

Trên thực tế, User-user Collaboration filtering cũng tồn tại mặt hạn chế

 Số lượng users luôn lớn hơn số lượng items rất nhiều Kéo theo việc tính toán rất lớn và phức tạp, và cũng gặp nhiều khó khăn trong việc lưu trữ ma trân dữ liệu

 Khi một user thay đổi rating, hoặc rating thêm items, toàn bộ tính toán sẽ phải thực hiện lại

Vì vậy mà, cũng có một hướng tiếp cận khác thay vì xác định user similarities, hệ thống sẽ xác định item similarities Hướng này được gọi là Item-Item Collaborative Filtering, có thể giải quyết các mặt hạn chế của User-user.

Áp dụng vào đề tài: chức năng gợi ý thực phẩm

Nhóm quyết định lựa chọn Content-based Recommendation Systems để thực hiện gợi ý các thực phẩm cho người dùng thông qua các thực phẩm người dùng đã cho vào giỏ hàng Và nhóm sử dụng thư viện hỗ trợ là Content Based

Recommender giúp hỗ trợ trong việc triển khai hệ thống gợi ý cũng như thuật toán.

Lý do chọn Content-based Recommendation Systems: vì đây là phương pháp gần như là dễ tiếp cận nhất Content-based sử dụng các thuật toán phân tích nội dung để tìm kiếm các sản phẩm tương tự dựa trên các đặc trưng của sản phẩm đó và chỉ phân tích độc lập trên từng user chứ không phụ thuộc vào các user khác trong hệ thống, phù hợp với các hệ thống không nhiều người dùng và mới triển khai

3.5.2 Thông tin về thư viện:

Quá trình đào tạo dữ liệu bao gồm 3 bước chính:

● Tiền xử lý nội dung dữ liệu: sử dụng kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) để làm giảm kích thước của văn bản và tăng cường khả năng phân loại và xử lý dữ liệu Và kĩ thuật chính đó là Stopwords removal và stemming: o Stopwords removal là quá trình loại bỏ các từ phổ biến và không có ý nghĩa trong văn bản như "a", "an", "the", "of" và "and" Các từ này không chứa thông tin quan trọng nên loại bỏ chúng giúp giảm kích thước của văn bản và cải thiện khả năng xử lý và phân loại dữ liệu. Ex: INPUT: “It is the biggest cake I have ever made”

OUTPUT: “It biggest cake I have made” o Stemming là quá trình loại bỏ các hậu tố của các từ để giảm bớt số lượng từ khác nhau trong văn bản Ví dụ, các từ "running", "runs" và

"runner" có thể được thu gọn lại thành từ "run" Quá trình này giúp tăng cường khả năng xử lý và phân loại dữ liệu bằng cách giảm số lượng từ khác nhau trong văn bản.

Ex: INPUT: “Do you really think it is weakness that yields to temptation” OUTPUT: “Do you really think it is weak that yield to temptat”

● Hình thành tài liệu vectơ bằng cách sử dụng tf-idf(Term Frequency-Inverse

Document Frequency) để biểu diễn văn bản thành các vector số, bao gồm hai thành phần chính: o Term Frequency (TF): Tần số xuất hiện của từ trong văn bản. o Inverse Document Frequency (IDF): Nghịch đảo tần số của từ trong các tài liệu khác. o TF-IDF tính toán mức độ quan trọng của một từ trong văn bản bằng cách tăng giá trị của các từ xuất hiện nhiều trong văn bản nhưng ít xuất hiện trong các văn bản khác Văn bản được biểu diễn dưới dạng vector số, trong đó mỗi thành phần của vector tương ứng với giá trị TF-IDF của một từ trong văn bản Các vector này có thể được sử dụng để so sánh sự tương đồng giữa các văn bản, và là cơ sở cho nhiều ứng dụng trong NLP như phân loại văn bản, tìm kiếm thông tin và dò tìm liên kết giữa các văn bản.

● Tìm điểm cosine similarity giữa tất cả các vectơ tài liệu, ta sử dụng công thức sau: o Trong đó, A và B là hai vector cần so sánh, "." là phép nhân vector và

"|| ||" là độ dài của vector Kết quả của cosine similarity sẽ nằm trong khoảng từ -1 đến 1, với 1 là điểm tương đồng hoàn hảo giữa hai vector, 0 là không có tương đồng và -1 là tương đối đối nghịch giữa hai vector. o Do đó, tính toán cosine similarity scores giữa tất cả các vector biểu diễn văn bản sẽ tạo ra một ma trận tương đồng, trong đó mỗi phần tử sẽ biểu diễn điểm tương đồng giữa hai vector tương ứng Ma trận này có thể được sử dụng để phân loại văn bản hoặc tìm kiếm các văn bản

ĐẶC TẢ USECASE

Sơ đồ Usecase

(User) Là người dùng có thể đăng nhập vào ứng dụng

(Admin) Là người quản lý các đơn đặt hàng của người dùng

Bảng 4.1: Danh sách tác nhân

STT Tính năng Mô tả/ Ghi chú

1 Xem chi tiết thực phẩm Dành cho User, xem thông tin chi tiết thực phẩm

2 Tra cứu thực phẩm Dành cho User, tìm kiếm thực phẩm

3 Thêm thực phẩm vào giỏ hàng

Dành cho User, thêm thực phẩm vào giỏ hàng

4 Chọn số lượng và loại thực phẩm

Dành cho User, một phần trong quy trình đặt hàng

5 Chọn địa chỉ giao hàng Dành cho User, một phần trong quy trình đặt hàng

6 Chọn phương thức thanh toán

Dành cho User, một phần trong quy trình đặt hàng

7 Chọn mã giảm giá Dành cho User, một phần trong quy trình đặt hàng

8 Quản lý thực phẩm trong giỏ hàng

Dành cho User, quản lý thêm xóa sửa trong giỏ hàng

9 Gợi ý món ăn Dành cho User, xem danh sách món ăn gợi ý dựa vào thực phẩm hiện có trong giỏ hàng

10 Sửa thông tin tài khoản Dành cho User, sửa hồ sơ cá nhân

11 Quản lý thông tin địa chỉ Dành cho User, quản lý thêm, sửa, xóa địa chỉ giao hàng

12 Xem lịch sử đơn hàng Dành cho User, xem lại lịch sử mua hàng

13 Đăng nhập Dành cho User hoặc Admin đã có tài khoản

14 Đăng ký tài khoản Dành cho User chưa có tài khoản

15 Đăng xuất Dành cho User hoặn Admin

16 Quản lý đơn đặt hàng Dành cho Admin, xem trạng thái đơn hàng và xác nhận đơn hàng cho User.

4.4 Mô tả chi tiết Usecase

Tên Use case Quản lý giỏ hàng

Mô tả Use case cho phép người dùng quản lý các thực phẩm trong giỏ hàng của mình Tiền điều kiện (pre-conditions) Người dùng phải đăng nhập vào ứng dụng Hậu điều kiện (post-conditions)

Mức quan trọng Trung bình

Tác nhân chính Khách hàng

Loại use case Chi tiết

Các bên liên quan Khách hàng: thêm, sửa sản phẩm trong giỏ hàng, xem gợi ý món ăn

Mối quan hệ Liên hệ: tác nhân Khách hàng

Mở rộng: use case Sửa thực phẩm, use case Xóa thực phẩm, use case Gợi ý món ăn

Luồng sự kiện chính 1) Người dùng chọn Giỏ hàng

2) Nếu người dùng chọn sản phẩm và Xóa: thực hiện luồng sự kiện phụ S1

3) Nếu người dùng chọn sản phẩm và Sửa: thực hiện luồng sự kiện phụ S2

4) Nếu người dùng chọn sản phẩm và xem gợi ý món ăn: thực hiện luồng sự kiện phụ S3

Luồng sự kiện phụ S1: Xóa thực phẩm

1) Chọn các sản phẩm cần xóa

3) Kết thúc S2: Sửa thực phẩm

1) Chọn các sản phẩm cần sửa

2) Sửa thông tin về số lượng

3) Kết thúcS3: Gợi ý món ăn chính:

1) Thông báo và yêu cầu chọn thực phẩm khác, kết thúc

Bảng 4.3: Đặc tả Uscase Quản lý giỏ hàng

Mô tả Use case cho phép người quản trị quản lý các đơn hàng của người dùng Tiền điều kiện (pre-conditions) Người dùng phải đăng nhập vào ứng dụng Hậu điều kiện (post-conditions) Phải thông báo kết quả khi xác nhận đơn hàng

Mức quan trọng Trung bình

Tác nhân chính Quản trị

Loại use case Chi tiết

Các bên liên quan Quản trị: Xác nhận đơn hàng

Mối quan hệ Liên hệ: tác nhân Khách hàng

Mở rộng: use case Xác nhận đơn hàng Luồng sự kiện chính 1) Người quản trị chọn xác nhận đơn hàng: thực hiện luồng sự kiện phụ S1 Luồng sự kiện phụ S1: Xác nhận đơn hàng

1) Chọn đơn hàng đang chờ xác nhận

2) Chọn xác nhận đơn hàng

3) Kết thúc Luồng sự kiện lỗi hoặc ngoại lệ

Bảng 4.4: Đặc tả UseCase Quản lý Đơn hàng

Hình 4.3: Sơ đồ hoạt động Quản lý Đơn hàng

Tên Use case Quản lý tài khoản

Mô tả Use case cho phép người dùng quản lý thông tin tài khoản, mã giảm giá và xem lịch sử hoạt động của mình

Tiền điều kiện (pre-conditions) Người dùng phải đăng nhập vào ứng dụng Hậu điều kiện (post-conditions) Thông tin đã được cập nhật hoặc mã giảm giá đã được thêm vào tài khoản

Mức quan trọng Trung bình

Tác nhân chính Khách hàng

Mở rộng: use case Sửa thông tin tài khoản, use case Thêm mã giảm giá, use case Xem lịch sử hoạt động

Luồng sự kiện chính 1) Người dùng chọn Tài khoản

2) Nếu người dùng chọn Sửa thông tin cá nhân: thực hiện luồng sự kiện phụ S1

3) Nếu người dùng chọn Thêm mã giảm giá: thực hiện luồng sự kiện phụ S2

4) Nếu người dùng chọn Xem lịch sử hoạt động: thực hiện luồng sự kiện phụ S3 Luồng sự kiện phụ S1: Sửa thông tin các nhân

1) Nhập các thông tin cần sửa

3) Kết thúc S2: Thêm mã giảm giá

1) Hiển thị danh sách mã giảm giá

3) Kết thúc S3: Xem lịch sử hoạt động

1) Chọn lịch sử hoạt động cần xem

2) Kết thúc Luồng sự kiện lỗi hoặc ngoại lệ

Bảng 4.5: Đặc tả UseCase Quản lý tài khoản

Hình 4.4: Sơ đồ hoạt động Quản lý tài khoản

4.4.4 Xem thông tin thực phẩm

Tác nhân chính Khách hàng

Loại use case Chi tiết

Các bên liên quan Khách hàng: tra cứu, xem chi tiết thông tin thực phẩm và thêm thực phẩm vào giỏ hàng

Mối quan hệ Liên hệ: tác nhân Khách hàng

Mở rộng: use case Tra cứu thực phẩm, use case Xem chi tiết thực phẩm, use case Thêm thực phẩm vào giỏ hàng

Luồng sự kiện chính 1) Người dùng chọn Tra cứu thực phẩm: thực hiện luồng sự kiện phụ S1

2) Nếu người dùng chọn Sản phẩm và xem chi tiết sản phẩm: thực hiện luồng sự kiện phụ S2

3) Nếu người dùng chọn Thêm thực phẩm vào giỏ hàng: thực hiện luồng sự kiện phụ S3

Luồng sự kiện phụ S1: Tra cứu thực phẩm

1) Nhập từ tên sản phẩm cần tra cứu

2) Chọn sản phẩm cần tìm từ danh sách kết quả

3) Kết thúc S2: Xem chi tiết thực phẩm

2) Xem các thông tin chi tiết của sản phẩm

3) Kết thúc S3: Thêm sản phẩm vào giỏ hàng

1) Chọn icon giỏ hàng để thêm thực phẩm vào giỏ hàng

2) Kết thúc Luồng sự kiện lỗi hoặc ngoại lệ S1.1: Không tìm được sản phẩm cần tra cứu:

1) Nhập lại thông tin tìm kiếm, kết thúc

Bảng 4.6: Đặc tả UseCase Xem thông tin thực phẩm

Hình 4.5: Sơ đồ hoạt động Xem thông tin thực phẩm

Mô tả Use case cho phép người dùng chọn phương thức thanh toán, số lượng, loại thực phẩm và địa chỉ giao hàng

Tiền điều kiện (pre-conditions) Người dùng phải đăng nhập vào ứng dụng và có thực phẩm trong giỏ hàng Hậu điều kiện (post-conditions)

Tác nhân chính Khách hàng

Loại use case Chi tiết

Các bên liên quan Khách hàng: chọn phương thức thanh toán, địa chỉ giao hàng, số lượng và loại thực phẩm

Mối quan hệ Liên hệ: tác nhân Khách hàng

Mở rộng: use case Nhập địa chỉ giao hàng, use case Chọn số lượng và loại thực phẩm, use case Chọn phương thức thanh toán

Luồng sự kiện chính 1) Người dùng chọn Nhập địa chỉ giao hàng: thực hiện luồng sự kiện phụ S1

2) Nếu người dùng chọn Chọn số lượng và loại thực phẩm: thực hiện luồng sự kiện phụ S2

3) Nếu người dùng chọn Chọn phương thức thanh toán: thực hiện luồng sự kiện phụ S3

Luồng sự kiện phụ S1: Nhập địa chỉ giao hàng

1) Nhập địa chỉ giao hàng trong ô địa chỉ giao hàng

2) Kết thúc S2: Chọn số lượng và loại thực phẩm

2) Chọn icon cộng để tăng số lượng và icon trừ để giảm số lượng thực phẩm

3) Kết thúc S3: Chọn phương thức thanh toán

1) Chọn các phương thức thanh toán hiện có trong danh mục phương thức thanh toán

2) Kết thúc Luồng sự kiện lỗi hoặc ngoại lệ

Bảng 4.7: Đặc tả UseCase Đặt hàng

Hình 5.1: Sơ đồ cơ sở dữ liệu

Bảng TRANGTHAISP Thông tin các trạng thái

Bảng HINHANHMOTA Thông tin mô tả chi tiết thực phẩm

Bảng LOAITP Thông tin loại thực phẩm

Bảng THUCPHAM Thông tin của thực phẩm

Bảng CUAHANG Thông tin cửa hàng

Bảng DANHGIASP Thông tin đánh giá sản phẩm

Bảng GIOHANG Thông tin giỏ hàng của khách hàng

Bảng LUOTTHEODOI Thông tin theo dõi cửa hàng của các khách hàng

Bảng KHACHHANG Thông tin khách hàng

Bảng CT_DONHANG Thông tin các thực phẩm trong đơn hàng

Bảng MAGIAMGIA Thông tin mã giảm giá

Bảng DONHANG Thông tin đơn hàng của khách hàng

Bảng DIACHIGIAOHANG Thông tin các địa chỉ giao hàng

Bảng KH_MAGG Thông tin mã giảm giá của khách hàng

Bảng 5.1: Danh sách các bảng trong cơ sở dữ liệu

Chương 6 THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG

STT Tên màn hình Loại

2 Đăng ký tài khoản Đăng kí

3 Trang chào mừng Hiển thị

5 Trang tìm kiếm Hiển thị và nhập liệu

6 Trang giỏ hàng Hiển thị

7 Trang chi tiết sản phẩm Hiển thị

8 Trang cửa hàng Hiển thị

9 Trang đặt hàng Hiển thị

10 Trang hoàn thành đơn hàng Hiển thị

11 Trang gợi ý món ăn Hiện thị

12 Trang chi tiết món ăn Hiển thị

13 Thông tin tài khoản Hiển thị

14 Trang địa chỉ Hiển thị và Nhập liệu

15 Trang thông tin chi tiết người dùng Hiển thị và Nhập liệu

16 Trang mã giảm giá Hiển thị

17 Trang lịch sử mua hàng Hiển thị

18 Trang đánh giá sản phẩm Hiển thị và Nhập liệu

Mô tả: Nhập thông tin để đăng ký tài khoản

 Nhập thông tin đăng ký

Mô tả: Hiển thị lời chào, giới thiệu về app

 Chọn đăng nhập với user

 Chọn đăng nhập với admin

Mô tả: Hiển thị danh sách các sản phẩm gợi ý và các danh mục sản phẩm

 Chọn xem danh mục sản phẩm

Mô tả: Nhập thông tin để tìm sản phẩm

 Nhập thông tin sản phẩm cần tìm

 Chọn xem sản phẩm tìm được

Mô tả: Hiển thị thông tin các sản phẩm của trong giỏ hàng

 Xóa, sửa số lượng sản phẩm trong giỏ hàng

 Chọn sản phẩm để mua

6.2.7 Trang chi tiết sản phẩm

Mô tả: Hiển thị thông tin chi tiết của sản phẩm

 Thêm sản phẩm vào giỏ hàng

 Chọn xem thông tin mô tả sản phẩm

 Chọn xem tất cả đánh giá

 Chọn theo dõi, hủy theo dõi cửa hàng

Hình 6.8: Trang chi tiết sản phẩm

Mô tả: Hiển thị thông tin các sản phẩm cảu cửa hàng và thông tin chi tiết cửa hàng Chức năng:

 Chọn danh mục xem danh mục sản phẩm

 Chọn xem thông tin chi tiết cửa hàng

 Chọn theo dõi, hủy theo dõi cửa hàng

 Chọn xem chi tiết sản phẩm của cửa hàng

Hình 6.9: Trang thông tin chi tiết cửa hàng

Mô tả: Chọn thông tin cần thiết để đặt đơn hàng

 Chọn địa chỉ giao hàng

 Nhập thông tin lời nhắn

 Chọn hoàn thành đơn hàng

6.2.10 Trang hoàn thành đơn hàng

Mô tả: Hiển thị đặt hàng thành công

Hình 6.12: Trang hoàn thành đặt hàng

Mô tả: Hiển thị danh sách món ăn từ các nguyên liệu đã chọn

 Chọn xem chi tiết món ăn

Hình 6.13: Trang gợi ý món ăn

6.2.12 Trang chi tiết món ăn

Mô tả: Hiển thị chi tiết món ăn gợi ý bao gồm các nguyên liệu của món ăn

 Xem nguyên liệu đã có

 Xem nguyên liệu còn thiếu

Hình 6.14: Trang chi tiết món ăn

Mô tả: Hiển thị thông tin tài khoản và các mục để quản lý tài khoản

 Chọn chỉnh sửa thông tin người dùng

 Chọn quản lý lý địa chỉ giao hàng

 Chọn xem mã giảm giá

 Chọn xem lịch sử mua hàng

Hình 6.15: Trang thông tin tài khoản

Mô tả: Hiển thị danh sách món ăn từ các nguyên liệu đã chọn

Hình 6.16: Trang địa chỉ nhận hàng

6.2.15 Trang thông tin chi tiết người dùng

Mô tả: Hiển thị thông tin chi tiết của người dùng

 Chọn đổi ảnh đại diện

 Thay đổi tên, ngày sinh, sdt, email

Hình 6.17: Trang thông tin chi tiết người dùng

Mô tả: Hiển thị danh sách các mã giảm giá của mình

 Chọn xem mục mã giảm giá

Hình 6.18: Trang mã giảm giá

6.2.17 Trang lịch sử mua hàng

Mô tả: Hiển thị danh sách lịch sử mua hàng và có thể hủy đơn hàng

 Chọn đánh giá sản phẩm với các đơn hàng đã hoàn thành

 Chọn hủy đơn hàng với các đơn hàng đang chờ xác nhận

Hình 6.19: Trang lịch sử mua hàng

6.2.18 Trang đánh giá sản phẩm

Mô tả: Nhập thông tin đánh giá sản phẩm đã mua

 Chọn hoàn thành đánh giá

Hình 6.20: Trang đánh giá sản phẩm

6.2.19 Trang quản lý đơn hàng(admin)

Mô tả: Hiển thị danh sách các đơn hàng cho phép người dùng xác nhận các đơn hàng đang chờ xác nhận

 Chọn xác nhận đơn hàng

 Chọn danh mục các đơn hàng

Hình 6.21: Trang quản lý đơn hàng

 Hoàn thành tất cả các tính năng theo kế hoạch dự kiến được đưa ra từ đầu.

 Hiểu được thêm về cách hoạt động của hệ thống gợi ý Recommender System cũng như những kiến thức về phân tích dữ liệu, đánh giá mô hình

 Biết cách quản lý mã nguồn và làm việc thông qua Github.

 Cải thiện kỹ năng lập trình.

 Các tính năng chưa được tối ưu tốt nên ứng dụng chạy còn chậm.

 Hệ thống gợi ý chưa thật sự tối ưu.

 Chưa có phiên bản dành cho hệ điểu hành IOS.

Sau quá trình thực hiện, nhóm nhận thấy còn nhiều hạn chế của đồ án vẫn còn có thể được cải thiện và được mở rộng thêm Cụ thể là một số hướng phát triển sau đây:

● Hoàn thành thêm các chức năng cho admin: o Chức năng thêm, xóa, sửa các thực phẩm, cửa hàng, mã giảm giá o Chức năng báo cáo thống kê của ứng dụng

● Hoàn thành thêm các chức năng cho user: o Thêm phương thức thanh toán khác như chuyển khoản o Tích hợp google map theo dõi quá trình giao hàng

● Tích hợp thêm tính năng để quản lý việc quản lý đồng tiền của app

● Cải thiện hệ thống gợi ý: o Áp dụng thêm các thuật toán, xử lý dữ liệu để phân tích đưa ra các gợi ý phù hợp nhất o Cải thiện dữ liệu để tối ưu hệ thống gợi ý

● Cải thiện chung: o Giao diện trực quan dễ sử dụng o Tăng cường tính bảo mật cho ứng dụng o Tăng hiệu năng xử lý

Danh sách Usecase

STT Tính năng Mô tả/ Ghi chú

1 Xem chi tiết thực phẩm Dành cho User, xem thông tin chi tiết thực phẩm

2 Tra cứu thực phẩm Dành cho User, tìm kiếm thực phẩm

3 Thêm thực phẩm vào giỏ hàng

Dành cho User, thêm thực phẩm vào giỏ hàng

4 Chọn số lượng và loại thực phẩm

Dành cho User, một phần trong quy trình đặt hàng

5 Chọn địa chỉ giao hàng Dành cho User, một phần trong quy trình đặt hàng

6 Chọn phương thức thanh toán

Dành cho User, một phần trong quy trình đặt hàng

7 Chọn mã giảm giá Dành cho User, một phần trong quy trình đặt hàng

8 Quản lý thực phẩm trong giỏ hàng

Dành cho User, quản lý thêm xóa sửa trong giỏ hàng

9 Gợi ý món ăn Dành cho User, xem danh sách món ăn gợi ý dựa vào thực phẩm hiện có trong giỏ hàng

10 Sửa thông tin tài khoản Dành cho User, sửa hồ sơ cá nhân

11 Quản lý thông tin địa chỉ Dành cho User, quản lý thêm, sửa, xóa địa chỉ giao hàng

12 Xem lịch sử đơn hàng Dành cho User, xem lại lịch sử mua hàng

13 Đăng nhập Dành cho User hoặc Admin đã có tài khoản

14 Đăng ký tài khoản Dành cho User chưa có tài khoản

15 Đăng xuất Dành cho User hoặn Admin

16 Quản lý đơn đặt hàng Dành cho Admin, xem trạng thái đơn hàng và xác nhận đơn hàng cho User.

Mô tả chi tiết Usecase

Tên Use case Quản lý giỏ hàng

Mô tả Use case cho phép người dùng quản lý các thực phẩm trong giỏ hàng của mình Tiền điều kiện (pre-conditions) Người dùng phải đăng nhập vào ứng dụng Hậu điều kiện (post-conditions)

Mức quan trọng Trung bình

Tác nhân chính Khách hàng

Loại use case Chi tiết

Các bên liên quan Khách hàng: thêm, sửa sản phẩm trong giỏ hàng, xem gợi ý món ăn

Mối quan hệ Liên hệ: tác nhân Khách hàng

Mở rộng: use case Sửa thực phẩm, use case Xóa thực phẩm, use case Gợi ý món ăn

Luồng sự kiện chính 1) Người dùng chọn Giỏ hàng

2) Nếu người dùng chọn sản phẩm và Xóa: thực hiện luồng sự kiện phụ S1

3) Nếu người dùng chọn sản phẩm và Sửa: thực hiện luồng sự kiện phụ S2

4) Nếu người dùng chọn sản phẩm và xem gợi ý món ăn: thực hiện luồng sự kiện phụ S3

Luồng sự kiện phụ S1: Xóa thực phẩm

1) Chọn các sản phẩm cần xóa

3) Kết thúc S2: Sửa thực phẩm

1) Chọn các sản phẩm cần sửa

2) Sửa thông tin về số lượng

3) Kết thúcS3: Gợi ý món ăn chính:

1) Thông báo và yêu cầu chọn thực phẩm khác, kết thúc

Bảng 4.3: Đặc tả Uscase Quản lý giỏ hàng

Mô tả Use case cho phép người quản trị quản lý các đơn hàng của người dùng Tiền điều kiện (pre-conditions) Người dùng phải đăng nhập vào ứng dụng Hậu điều kiện (post-conditions) Phải thông báo kết quả khi xác nhận đơn hàng

Mức quan trọng Trung bình

Tác nhân chính Quản trị

Loại use case Chi tiết

Các bên liên quan Quản trị: Xác nhận đơn hàng

Mối quan hệ Liên hệ: tác nhân Khách hàng

Mở rộng: use case Xác nhận đơn hàng Luồng sự kiện chính 1) Người quản trị chọn xác nhận đơn hàng: thực hiện luồng sự kiện phụ S1 Luồng sự kiện phụ S1: Xác nhận đơn hàng

1) Chọn đơn hàng đang chờ xác nhận

2) Chọn xác nhận đơn hàng

3) Kết thúc Luồng sự kiện lỗi hoặc ngoại lệ

Bảng 4.4: Đặc tả UseCase Quản lý Đơn hàng

Hình 4.3: Sơ đồ hoạt động Quản lý Đơn hàng

Tên Use case Quản lý tài khoản

Mô tả Use case cho phép người dùng quản lý thông tin tài khoản, mã giảm giá và xem lịch sử hoạt động của mình

Tiền điều kiện (pre-conditions) Người dùng phải đăng nhập vào ứng dụng Hậu điều kiện (post-conditions) Thông tin đã được cập nhật hoặc mã giảm giá đã được thêm vào tài khoản

Mức quan trọng Trung bình

Tác nhân chính Khách hàng

Mở rộng: use case Sửa thông tin tài khoản, use case Thêm mã giảm giá, use case Xem lịch sử hoạt động

Luồng sự kiện chính 1) Người dùng chọn Tài khoản

2) Nếu người dùng chọn Sửa thông tin cá nhân: thực hiện luồng sự kiện phụ S1

3) Nếu người dùng chọn Thêm mã giảm giá: thực hiện luồng sự kiện phụ S2

4) Nếu người dùng chọn Xem lịch sử hoạt động: thực hiện luồng sự kiện phụ S3 Luồng sự kiện phụ S1: Sửa thông tin các nhân

1) Nhập các thông tin cần sửa

3) Kết thúc S2: Thêm mã giảm giá

1) Hiển thị danh sách mã giảm giá

3) Kết thúc S3: Xem lịch sử hoạt động

1) Chọn lịch sử hoạt động cần xem

2) Kết thúc Luồng sự kiện lỗi hoặc ngoại lệ

Bảng 4.5: Đặc tả UseCase Quản lý tài khoản

Hình 4.4: Sơ đồ hoạt động Quản lý tài khoản

4.4.4 Xem thông tin thực phẩm

Tác nhân chính Khách hàng

Loại use case Chi tiết

Các bên liên quan Khách hàng: tra cứu, xem chi tiết thông tin thực phẩm và thêm thực phẩm vào giỏ hàng

Mối quan hệ Liên hệ: tác nhân Khách hàng

Mở rộng: use case Tra cứu thực phẩm, use case Xem chi tiết thực phẩm, use case Thêm thực phẩm vào giỏ hàng

Luồng sự kiện chính 1) Người dùng chọn Tra cứu thực phẩm: thực hiện luồng sự kiện phụ S1

2) Nếu người dùng chọn Sản phẩm và xem chi tiết sản phẩm: thực hiện luồng sự kiện phụ S2

3) Nếu người dùng chọn Thêm thực phẩm vào giỏ hàng: thực hiện luồng sự kiện phụ S3

Luồng sự kiện phụ S1: Tra cứu thực phẩm

1) Nhập từ tên sản phẩm cần tra cứu

2) Chọn sản phẩm cần tìm từ danh sách kết quả

3) Kết thúc S2: Xem chi tiết thực phẩm

2) Xem các thông tin chi tiết của sản phẩm

3) Kết thúc S3: Thêm sản phẩm vào giỏ hàng

1) Chọn icon giỏ hàng để thêm thực phẩm vào giỏ hàng

2) Kết thúc Luồng sự kiện lỗi hoặc ngoại lệ S1.1: Không tìm được sản phẩm cần tra cứu:

1) Nhập lại thông tin tìm kiếm, kết thúc

Bảng 4.6: Đặc tả UseCase Xem thông tin thực phẩm

Hình 4.5: Sơ đồ hoạt động Xem thông tin thực phẩm

Mô tả Use case cho phép người dùng chọn phương thức thanh toán, số lượng, loại thực phẩm và địa chỉ giao hàng

Tiền điều kiện (pre-conditions) Người dùng phải đăng nhập vào ứng dụng và có thực phẩm trong giỏ hàng Hậu điều kiện (post-conditions)

Tác nhân chính Khách hàng

Loại use case Chi tiết

Các bên liên quan Khách hàng: chọn phương thức thanh toán, địa chỉ giao hàng, số lượng và loại thực phẩm

Mối quan hệ Liên hệ: tác nhân Khách hàng

Mở rộng: use case Nhập địa chỉ giao hàng, use case Chọn số lượng và loại thực phẩm, use case Chọn phương thức thanh toán

Luồng sự kiện chính 1) Người dùng chọn Nhập địa chỉ giao hàng: thực hiện luồng sự kiện phụ S1

2) Nếu người dùng chọn Chọn số lượng và loại thực phẩm: thực hiện luồng sự kiện phụ S2

3) Nếu người dùng chọn Chọn phương thức thanh toán: thực hiện luồng sự kiện phụ S3

Luồng sự kiện phụ S1: Nhập địa chỉ giao hàng

1) Nhập địa chỉ giao hàng trong ô địa chỉ giao hàng

2) Kết thúc S2: Chọn số lượng và loại thực phẩm

2) Chọn icon cộng để tăng số lượng và icon trừ để giảm số lượng thực phẩm

3) Kết thúc S3: Chọn phương thức thanh toán

1) Chọn các phương thức thanh toán hiện có trong danh mục phương thức thanh toán

2) Kết thúc Luồng sự kiện lỗi hoặc ngoại lệ

Bảng 4.7: Đặc tả UseCase Đặt hàng

Hình 5.1: Sơ đồ cơ sở dữ liệu

Bảng TRANGTHAISP Thông tin các trạng thái

Bảng HINHANHMOTA Thông tin mô tả chi tiết thực phẩm

Bảng LOAITP Thông tin loại thực phẩm

Bảng THUCPHAM Thông tin của thực phẩm

Bảng CUAHANG Thông tin cửa hàng

Bảng DANHGIASP Thông tin đánh giá sản phẩm

Bảng GIOHANG Thông tin giỏ hàng của khách hàng

Bảng LUOTTHEODOI Thông tin theo dõi cửa hàng của các khách hàng

Bảng KHACHHANG Thông tin khách hàng

Bảng CT_DONHANG Thông tin các thực phẩm trong đơn hàng

Bảng MAGIAMGIA Thông tin mã giảm giá

Bảng DONHANG Thông tin đơn hàng của khách hàng

Bảng DIACHIGIAOHANG Thông tin các địa chỉ giao hàng

Bảng KH_MAGG Thông tin mã giảm giá của khách hàng

Bảng 5.1: Danh sách các bảng trong cơ sở dữ liệu

Chương 6 THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG

STT Tên màn hình Loại

2 Đăng ký tài khoản Đăng kí

3 Trang chào mừng Hiển thị

5 Trang tìm kiếm Hiển thị và nhập liệu

6 Trang giỏ hàng Hiển thị

7 Trang chi tiết sản phẩm Hiển thị

8 Trang cửa hàng Hiển thị

9 Trang đặt hàng Hiển thị

10 Trang hoàn thành đơn hàng Hiển thị

11 Trang gợi ý món ăn Hiện thị

12 Trang chi tiết món ăn Hiển thị

13 Thông tin tài khoản Hiển thị

14 Trang địa chỉ Hiển thị và Nhập liệu

15 Trang thông tin chi tiết người dùng Hiển thị và Nhập liệu

16 Trang mã giảm giá Hiển thị

17 Trang lịch sử mua hàng Hiển thị

18 Trang đánh giá sản phẩm Hiển thị và Nhập liệu

Mô tả: Nhập thông tin để đăng ký tài khoản

 Nhập thông tin đăng ký

Mô tả: Hiển thị lời chào, giới thiệu về app

 Chọn đăng nhập với user

 Chọn đăng nhập với admin

Mô tả: Hiển thị danh sách các sản phẩm gợi ý và các danh mục sản phẩm

 Chọn xem danh mục sản phẩm

Mô tả: Nhập thông tin để tìm sản phẩm

 Nhập thông tin sản phẩm cần tìm

 Chọn xem sản phẩm tìm được

Mô tả: Hiển thị thông tin các sản phẩm của trong giỏ hàng

 Xóa, sửa số lượng sản phẩm trong giỏ hàng

 Chọn sản phẩm để mua

6.2.7 Trang chi tiết sản phẩm

Mô tả: Hiển thị thông tin chi tiết của sản phẩm

 Thêm sản phẩm vào giỏ hàng

 Chọn xem thông tin mô tả sản phẩm

 Chọn xem tất cả đánh giá

 Chọn theo dõi, hủy theo dõi cửa hàng

Hình 6.8: Trang chi tiết sản phẩm

Mô tả: Hiển thị thông tin các sản phẩm cảu cửa hàng và thông tin chi tiết cửa hàng Chức năng:

 Chọn danh mục xem danh mục sản phẩm

 Chọn xem thông tin chi tiết cửa hàng

 Chọn theo dõi, hủy theo dõi cửa hàng

 Chọn xem chi tiết sản phẩm của cửa hàng

Hình 6.9: Trang thông tin chi tiết cửa hàng

Mô tả: Chọn thông tin cần thiết để đặt đơn hàng

 Chọn địa chỉ giao hàng

 Nhập thông tin lời nhắn

 Chọn hoàn thành đơn hàng

6.2.10 Trang hoàn thành đơn hàng

Mô tả: Hiển thị đặt hàng thành công

Hình 6.12: Trang hoàn thành đặt hàng

Mô tả: Hiển thị danh sách món ăn từ các nguyên liệu đã chọn

 Chọn xem chi tiết món ăn

Hình 6.13: Trang gợi ý món ăn

6.2.12 Trang chi tiết món ăn

Mô tả: Hiển thị chi tiết món ăn gợi ý bao gồm các nguyên liệu của món ăn

 Xem nguyên liệu đã có

 Xem nguyên liệu còn thiếu

Hình 6.14: Trang chi tiết món ăn

Mô tả: Hiển thị thông tin tài khoản và các mục để quản lý tài khoản

 Chọn chỉnh sửa thông tin người dùng

 Chọn quản lý lý địa chỉ giao hàng

 Chọn xem mã giảm giá

 Chọn xem lịch sử mua hàng

Hình 6.15: Trang thông tin tài khoản

Mô tả: Hiển thị danh sách món ăn từ các nguyên liệu đã chọn

Hình 6.16: Trang địa chỉ nhận hàng

6.2.15 Trang thông tin chi tiết người dùng

Mô tả: Hiển thị thông tin chi tiết của người dùng

 Chọn đổi ảnh đại diện

 Thay đổi tên, ngày sinh, sdt, email

Hình 6.17: Trang thông tin chi tiết người dùng

Mô tả: Hiển thị danh sách các mã giảm giá của mình

 Chọn xem mục mã giảm giá

Hình 6.18: Trang mã giảm giá

6.2.17 Trang lịch sử mua hàng

Mô tả: Hiển thị danh sách lịch sử mua hàng và có thể hủy đơn hàng

 Chọn đánh giá sản phẩm với các đơn hàng đã hoàn thành

 Chọn hủy đơn hàng với các đơn hàng đang chờ xác nhận

Hình 6.19: Trang lịch sử mua hàng

6.2.18 Trang đánh giá sản phẩm

Mô tả: Nhập thông tin đánh giá sản phẩm đã mua

 Chọn hoàn thành đánh giá

Hình 6.20: Trang đánh giá sản phẩm

6.2.19 Trang quản lý đơn hàng(admin)

Mô tả: Hiển thị danh sách các đơn hàng cho phép người dùng xác nhận các đơn hàng đang chờ xác nhận

 Chọn xác nhận đơn hàng

 Chọn danh mục các đơn hàng

Hình 6.21: Trang quản lý đơn hàng

 Hoàn thành tất cả các tính năng theo kế hoạch dự kiến được đưa ra từ đầu.

 Hiểu được thêm về cách hoạt động của hệ thống gợi ý Recommender System cũng như những kiến thức về phân tích dữ liệu, đánh giá mô hình

 Biết cách quản lý mã nguồn và làm việc thông qua Github.

 Cải thiện kỹ năng lập trình.

 Các tính năng chưa được tối ưu tốt nên ứng dụng chạy còn chậm.

 Hệ thống gợi ý chưa thật sự tối ưu.

 Chưa có phiên bản dành cho hệ điểu hành IOS.

Sau quá trình thực hiện, nhóm nhận thấy còn nhiều hạn chế của đồ án vẫn còn có thể được cải thiện và được mở rộng thêm Cụ thể là một số hướng phát triển sau đây:

● Hoàn thành thêm các chức năng cho admin: o Chức năng thêm, xóa, sửa các thực phẩm, cửa hàng, mã giảm giá o Chức năng báo cáo thống kê của ứng dụng

● Hoàn thành thêm các chức năng cho user: o Thêm phương thức thanh toán khác như chuyển khoản o Tích hợp google map theo dõi quá trình giao hàng

● Tích hợp thêm tính năng để quản lý việc quản lý đồng tiền của app

● Cải thiện hệ thống gợi ý: o Áp dụng thêm các thuật toán, xử lý dữ liệu để phân tích đưa ra các gợi ý phù hợp nhất o Cải thiện dữ liệu để tối ưu hệ thống gợi ý

● Cải thiện chung: o Giao diện trực quan dễ sử dụng o Tăng cường tính bảo mật cho ứng dụng o Tăng hiệu năng xử lý

TỔNG KẾT

Kết quả đạt được

 Hoàn thành tất cả các tính năng theo kế hoạch dự kiến được đưa ra từ đầu.

 Hiểu được thêm về cách hoạt động của hệ thống gợi ý Recommender System cũng như những kiến thức về phân tích dữ liệu, đánh giá mô hình

 Biết cách quản lý mã nguồn và làm việc thông qua Github.

 Cải thiện kỹ năng lập trình.

 Các tính năng chưa được tối ưu tốt nên ứng dụng chạy còn chậm.

 Hệ thống gợi ý chưa thật sự tối ưu.

 Chưa có phiên bản dành cho hệ điểu hành IOS.

Hướng phát triển

Sau quá trình thực hiện, nhóm nhận thấy còn nhiều hạn chế của đồ án vẫn còn có thể được cải thiện và được mở rộng thêm Cụ thể là một số hướng phát triển sau đây:

● Hoàn thành thêm các chức năng cho admin: o Chức năng thêm, xóa, sửa các thực phẩm, cửa hàng, mã giảm giá o Chức năng báo cáo thống kê của ứng dụng

● Hoàn thành thêm các chức năng cho user: o Thêm phương thức thanh toán khác như chuyển khoản o Tích hợp google map theo dõi quá trình giao hàng

● Tích hợp thêm tính năng để quản lý việc quản lý đồng tiền của app

● Cải thiện hệ thống gợi ý: o Áp dụng thêm các thuật toán, xử lý dữ liệu để phân tích đưa ra các gợi ý phù hợp nhất o Cải thiện dữ liệu để tối ưu hệ thống gợi ý

● Cải thiện chung: o Giao diện trực quan dễ sử dụng o Tăng cường tính bảo mật cho ứng dụng o Tăng hiệu năng xử lý

Ngày đăng: 04/09/2023, 20:42

HÌNH ẢNH LIÊN QUAN

Hình 2.1: React Native - Ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn
Hình 2.1 React Native (Trang 14)
Hình 1.2: NodeJS - Ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn
Hình 1.2 NodeJS (Trang 15)
Hình 2.2: FireBase - Ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn
Hình 2.2 FireBase (Trang 16)
Hình 3.1: Utility Matrix - Ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn
Hình 3.1 Utility Matrix (Trang 18)
Hình 3.2: Cách thức hoạt động của Content-based Recommendation Systems - Ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn
Hình 3.2 Cách thức hoạt động của Content-based Recommendation Systems (Trang 20)
Bảng 4.4: Đặc tả UseCase Quản lý Đơn hàng - Ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn
Bảng 4.4 Đặc tả UseCase Quản lý Đơn hàng (Trang 30)
Hình 4.3: Sơ đồ hoạt động Quản lý Đơn hàng - Ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn
Hình 4.3 Sơ đồ hoạt động Quản lý Đơn hàng (Trang 31)
Bảng 4.5: Đặc tả UseCase Quản lý tài khoản - Ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn
Bảng 4.5 Đặc tả UseCase Quản lý tài khoản (Trang 32)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w