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ý