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

Tài liệu đồ án ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn. Báo cáo trình bày chi tiết về thiết kế hệ thống, CSDL và các chức năng chính.

2022

78
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về ứng dụng đi chợ online và gợi ý món ăn thông minh

Trong bối cảnh hiện đại, ứng dụng đi chợ online đã trở thành giải pháp tối ưu cho nhu cầu mua sắm thực phẩm của người dân, đặc biệt là tại các thành phố lớn. Đồ án này được phát triển nhằm mục đích tích hợp dịch vụ mua sắm trực tuyến với hệ thống gợi ý món ăn thông minh dựa trên trí tuệ nhân tạo (AI). Ứng dụng không chỉ giúp người dùng tiết kiệm thời gian đi chợ mà còn cung cấp các đề xuất dinh dưỡng hợp lý, phù hợp với từng nhu cầu và khẩu vị cá nhân. Sự kết hợp này tạo nên một nền tảng mua sắm thực phẩm trực tuyến hiện đại, tiện lợi và thông minh cho cộng đồng người tiêu dùng Việt Nam.

1.1. Định nghĩa ứng dụng đi chợ trực tuyến

Ứng dụng đi chợ trực tuyến là nền tảng số cho phép người dùng duyệt, chọn lựa và mua sắm các sản phẩm thực phẩm, hàng hóa tiêu dùng từ nhà thông qua internet. Người dùng có thể lựa chọn từ hàng ngàn sản phẩm, so sánh giá cả, đọc đánh giá sản phẩm và thanh toán trực tuyến một cách an toàn. Dịch vụ này giúp giảm bớt thời gian, công sức và đảm bảo an toàn sức khỏe bằng cách hạn chế tiếp xúc trực tiếp.

1.2. Vai trò của gợi ý món ăn thông minh

Gợi ý món ăn thông minh sử dụng công nghệ AI và machine learning để phân tích thói quen ăn uống, sở thích và nhu cầu dinh dưỡng của người dùng. Hệ thống này đề xuất các món ăn phù hợp, kèm theo danh sách nguyên liệu cần thiết tự động thêm vào giỏ hàng. Điều này giúp người dùng lập kế hoạch bữa ăn hiệu quả, tiết kiệm chi phí và đảm bảo chế độ ăn uống lành mạnh.

II. Kiến trúc hệ thống và công nghệ sử dụng

Đồ án ứng dụng đi chợ online được thiết kế dựa trên mô hình Clean Architecture - một kiến trúc phần mềm hiện đại đảm bảo tính dễ bảo trì, mở rộng và testable. Hệ thống sử dụng các công nghệ tiên tiến bao gồm API (Application Programming Interface) để kết nối các thành phần, MySQL làm cơ sở dữ liệu quan hệ chính, và AWS S3 cho dịch vụ lưu trữ hình ảnh sản phẩm. Kiến trúc này được chia thành các lớp độc lập: lớp giao diện người dùng, lớp logic ứng dụng, lớp truy cập dữ liệu và lớp cơ sở dữ liệu. Cách tổ chức này đảm bảo hiệu suất cao, khả năng mở rộng tốt và dễ dàng bảo trì trong tương lai.

2.1. Mô hình Clean Architecture

Clean Architecture tách biệt rõ ràng các lớp của ứng dụng, từ lớp giao diện ngoài cùng cho đến lớp logic cốt lõi. Mô hình này cho phép các nhà phát triển dễ dàng kiểm thử các thành phần riêng lẻ mà không phụ thuộc vào các thành phần khác. Điều này làm tăng chất lượng code và giảm thiểu lỗi trong quá trình phát triển ứng dụng mua sắm thực phẩm trực tuyến.

2.2. Công nghệ backend và cơ sở dữ liệu

Hệ thống backend sử dụng MySQL làm cơ sở dữ liệu quan hệ chính, lưu trữ thông tin người dùng, sản phẩm, đơn hàng và đánh giá. API RESTful được sử dụng để giao tiếp giữa frontend và backend, đảm bảo trao đổi dữ liệu hiệu quả. AWS S3 cung cấp dịch vụ lưu trữ đám mây an toàn cho các hình ảnh sản phẩm và tài liệu của ứng dụng.

III. Các chức năng chính của hệ thống

Ứng dụng đi chợ trực tuyến tích hợp gợi ý món ăn cung cấp một loạt chức năng toàn diện để đáp ứng nhu cầu của người tiêu dùng hiện đại. Chức năng quản lý giỏ hàng cho phép người dùng thêm, xóa, sửa số lượng sản phẩm dễ dàng. Danh mục sản phẩm phân loại giúp duyệt hàng một cách có tổ chức theo các nhóm như rau quả, thịt, hải sản, đồ uống. Hệ thống đánh giá và bình luận sản phẩm tạo cộng đồng tin cậy và giúp người mua đưa ra quyết định sáng suốt. Tính năng gợi ý món ăn dựa trên AI là điểm nhấn chính, phân tích dữ liệu người dùng để đề xuất các món ăn phù hợp. Cuối cùng, thanh toán trực tuyến an toànquản lý đơn hàng hoàn chỉnh làm cho trải nghiệm mua sắm thực sự tiện lợi.

3.1. Quản lý sản phẩm và danh mục

Hệ thống quản lý sản phẩm thực phẩm trực tuyến với danh mục chi tiết, bao gồm rau quả, thịt cá, hải sản, đồ uống và các mục khác. Mỗi sản phẩm có thông tin chi tiết như giá cả, khối lượng, ngày hết hạn, và lịch sử cập nhật. Người dùng có thể tìm kiếm sản phẩm nhanh chóng hoặc duyệt theo danh mục, so sánh giá và chất lượng giữa các sản phẩm.

3.2. Hệ thống gợi ý thông minh

Hệ thống gợi ý món ăn sử dụng trí tuệ nhân tạo để phân tích hành vi, sở thích ăn uống và nhu cầu dinh dưỡng của từng người dùng. Dựa trên dữ liệu lịch sử mua hàng và đánh giá sản phẩm, hệ thống đề xuất các bộ nguyên liệu hoàn chỉnh cho từng bữa ăn. Người dùng có thể chấp nhận đề xuất hoặc tùy chỉnh theo ý thích cá nhân của mình.

3.3. Quản lý đơn hàng và thanh toán

Ứng dụng cung cấp quản lý đơn hàng toàn diện từ lúc đặt hàng cho đến nhận hàng. Người dùng có thể theo dõi trạng thái đơn hàng, lịch sử giao dịch, và lịch sử thanh toán một cách rõ ràng. Thanh toán trực tuyến an toàn hỗ trợ nhiều phương thức bao gồm thẻ tín dụng, ví điện tử và chuyển khoản ngân hàng.

IV. Hướng phát triển và kết luận

Đồ án ứng dụng đi chợ online tích hợp gợi ý món ăn đã đạt được những kết quả đáng kể, cung cấp giải pháp hoàn thiện cho nhu cầu mua sắm thực phẩm của người dân hiện đại. Hệ thống đã được thiết kế với kiến trúc vững chắc, giao diện thân thiện và các tính năng chức năng đầy đủ. Tuy nhiên, vẫn còn nhiều hạn chế cần khắc phục trong tương lai, chẳng hạn như tối ưu hóa thuật toán gợi ý, mở rộng kho hàng và cung cấp dịch vụ giao hàng nhanh hơn. Các nhà phát triển có thể tiếp tục cải tiến ứng dụng mua sắm thực phẩm trực tuyến bằng cách tích hợp thêm công nghệ AI tiên tiến, phát triển ứng dụng mobile, thêm tính năng đặt hàng lặp lại tự động, và xây dựng những bộ lọc sản phẩm cao cấp hơn.

4.1. Những thành tựu đạt được

Đồ án đã thành công trong việc phát triển một ứng dụng đi chợ trực tuyến hoàn chỉnh với giao diện trực quan, dễ sử dụng. Hệ thống gợi ý món ăn thông minh hoạt động hiệu quả, giúp người dùng tiết kiệm thời gian lập kế hoạch bữa ăn. Kiến trúc phần mềm vững chắc, khả năng mở rộng cao và dễ bảo trì. Hệ thống đã qua các bước kiểm thử kỹ lưỡng và sẵn sàng triển khai.

4.2. Hạn chế và hướng phát triển tương lai

Các hạn chế hiện tại bao gồm cần tối ưu hóa thêm thuật toán AI gợi ý và mở rộng kho sản phẩm. Trong tương lai, ứng dụng mua sắm thực phẩm có thể tích hợp thanh toán bằng tiền mật mã, phát triển ứng dụng mobile đầy đủ, thêm tính năng đặt hàng định kỳ tự động, và cung cấp dịch vụ giao hàng nhanh chóng hơn. Cải tiến về trí tuệ nhân tạo sẽ làm cho gợi ý món ăn chính xác và cá nhân hóa hơn.

28/12/2025

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

CHƯƠNG 1: GIỚI THIỆU CHUNG 1. Tổng quan đề tài - Tên ứng dụng: BUY ME - Chủ đề chính: Đi chợ - Nền tảng phát triển: Android & IOS - Mô hình phát triển: Clean architecture 1. Lý do chọn đề tài Trước tình hình diễn biến phức tạp hiện nay, đặc biệt là ở các thành phố lớn nhiều dân cư sinh sống, người dân được yêu cầu hạn chế ra ngoài để tránh sự lây lan dịch bệnh. Nhưng để đáp ứng các nhu cầu sinh hoạt hàng ngày, đặc biệt là việc bổ sung thực phẩm cho cơ thể cũng như là làm tăng sức đề kháng, sức khoẻ mỗi người là điều cực kì quan trọng.

Vì vậy mà, nhu cầu cần được đi chợ để cung cấp thực phẩm cho bản thân, gia đình là một vấn đề thiết yếu đang được tất cả mọi người quan tâm đến. Đồng thời, bên cạnh đó, cũng có nhiều người không có đủ thời gian để đi chợ và không biết lộ trình học tiếp theo. Để đáp ứng những nhu cầu đó, để phù hợp với điều kiện sống mới nhiều người đã tìm đến các dịch vụ đi chợ online nhằm đảm bảo giãn cách xã hội mà vẫn đảm bảo vấn đề lương thực cho cuộc sống, một ứng dụng có chức năng kết nối giữa các nhà cung cấp và khách hàng có nhu cầu cho mua thực thẩm là vô cùng cần thiết. Từ những vấn đề trên, nhóm em quyết định chọn đề tài này làm đồ án, phát triển một ứng dụng cung cấp dịch vụ đi chợ online nhanh chóng kết hợp gợi ý món ăn để tiể kiệm thời gian, tiện lợi nhanh chóng, hạn chế đến những nơi đông người, giúp Khách hàng thân thiện hơn với công nghệ.

Đối tượng sử dụng Tất cả mọi người muốn đi chợ một cách tiết kiệm thời gian và nhanh chóng, tiện lợi hoặc hạn chế về việc đến và tiếp xúc ở nơi đông người để tránh lây nhiễm bệnh. Quản trị viên phía cửa hàng muốn cung cấp thông tin (về sản phẩm, về nguồn gốc xuất xứ, về các chương trình giảm giá khuyến mãi…) đến mọi người truy cập sử dụng ứng dụng. 12 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 1. Phạm vi nghiên cứu 1.

Phạm vi môi trường: - Ứng dụng di động. - Trang web truy cập. Phạm vi địa lý: - Ứng dụng sử dụng tại Thành phố Hồ Chí Minh. Phạm vi chức năng: - Chức năng quản lý thực phẩm.

- Chức năng đăng nhập, đăng xuất. - Chức năng tạo tài khoản. - Chức năng thanh toán. - Chức năng quên, đổi mật khẩu.

- Chức năng tìm kiếm, lọc, sắp xếp thực phẩm. - Chức năng mua, thêm vào giỏ hàng các sản phẩm. - Xây dựng hệ thống hỗ trợ gợi ý các món ăn. - Chức năng quản lý khách hàng.

13 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. React Native Hình 2.1-1: React Native React Native là các đoạn code đã được viết sẵn (framework) do công ty công nghệ Facebook phát triển. Các lập trình viên React Native là người sử dụng những framework này để phát triển nên các hệ thống, nền tảng ứng dụng trên các hệ điều hành như IOS và Android. Ngôn ngữ lập trình được sử dụng nhiều nhất là Javascript.

Sự ra đời của React Native đã giải quyết được bài toán về hiệu năng và sự phức tạp khi trước đó người ta phải dùng nhiều loại ngôn ngữ native cho mỗi nền tảng di động. Chính vì thế lập trình React Native sẽ giúp tiết kiệm được phần lớn thời gian và công sức khi thiết kế và xây dựng nên một ứng dụng đa nền tảng. 14 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 2. Gin – Gonic Hình 2.2-1: Gin – Gonic Một trong những web framework đầu tiên dành cho Go là Martini nhưng dự án đó không còn được tiếp tục nữa.

Tuy vậy, các framework ngày nay vẫn luôn lấy cảm hứng từ những tính năng của Martini, vốn vô cùng mạnh mẽ và tiện lợi. Gin hay còn gọi là Gin-Gonic là một trong những dự án như vậy. Nó sử dụng một phiên bản tùy biến của gói httprouter vì tốc độ xử lí cực kì nhanh, điều này làm cho nó vô cùng hoàn hảo để phát triển API hiệu xuất cao. Song song đó, nó cung cấp các trình xử lý cho nhiều trường hợp sử dụng phổ biến: middleware, file uploading, logging, binding front-end HTML component với cấu trúc dữ liệu back-end… Gin-Gonic là web framework của Golang được dùng nhiều nhất.

GoLang 15 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 Hình 2.3-1: GoLang Go hay còn gọi là Golang là ngôn ngữ lập trình mã nguồn mở, được thiết kế tại Google bởi Robert Griesemer, Rob Pike, and Ken Thompson. Go có cú pháp giống với C và tất nhiên nó là ngôn ngữ lập trình biên dich (compiled programming language). Cú pháp của ngôn ngữ lập trình Golang (syntax) khá tinh gọn, mặc dù thật sự có những cú pháp mà người mới nhìn vào thật sự hơi khó chịu.4-1: Ngôn ngữ lập trình Javascript Javascript là ngôn ngữ lập trình webiste phổ biến hiện nay, nó được tích hợp và 16 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 nhúng vào HTML giúp website trở nên sống động hơn. Javascript đóng vai trò như là một phần của trang web, thực thi cho phép Client-side script từ phía Khách hàng cũng như phía máy chủ (NodeJS) tạo ra các trang web động.

Digital Ocean Hình 2.5-1: Digital Ocean Digital Ocean cung cấp dịch vụ đám mây dành cho nhà phát triển. Có thể hiểu đơn giản, Digital Ocean cung cấp một mạng lưới các máy ảo cho bạn mở rộng website của bạn. Các dịch vụ Cloud Server VPS (VPS, viết tắt của Vitrual Private Servers) dựa trên nền tảng điện toán đám mây giúp triển khai và mở rộng ứng dụng chạy đồng thời trên nhiều máy tính với các tính năng tối ưu từ đám mây (Cloud). 17 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 2.6-1: Hệ quản trị cơ sở dữ liệu MySQL MySQL là cơ sở dữ liệu tốc độ cao, ổn định hoạt động trên nhiều hệ điều hành, cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.

Hệ quản trị cơ sở dữ liệu MySQL được hiểu như là chương trình dùng để quản lý hệ thống cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rõ ràng, phân lớp ngăn nắp. Nó giúp bạn có thể truy cập dữ liệu một cách thuận lợi và nhanh chóng nhất. Vì hỗ trợ đa số các ngôn ngữ lập trình nên MySQL chính là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất trên thế giới. Hiện MySQL đang được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.

18 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 2.7-1: Amazon S3 Amazon Simple Storage Service (Amazon S3) là một dịch vụ lưu trữ đối tượng cung cấp khả năng thay đổi theo quy mô, tính khả dụng của dữ liệu, bảo mật và hiệu năng hàng đầu trong lĩnh vực. Điều nà có nghĩa là khách hàng thuộc mọi quy mô và lĩnh vực có thể sử dụng dịch vụ này để lưu trữ và bảo vệ bất kỳ lượng dữ liệu nào cho nhiều trường hợp sử dụng khác nhau, chẳng hạn như trang web, ứng dụng di động, sao lưu và khôi phục, lưu trữ, ứng dụng doanh nghiệp, thiết bị IoT và phân tích dữ liệu lớn. Amazon S3 cung cấp các tính năng quản lý dễ sử dụng, nhờ đó có thể tổ chức dữ liệu và cấu hình các kiểm soát truy cập được tinh chỉnh để đáp ứng yêu cầu cụ thể của doanh nghiệp, tổ chức và yêu cầu về tuân thủ.8-1: Hệ thống quản lý mã nguồn GitHub GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như một mạng xã hội cho lập trình viên. Các lập trình viên có thể clone lại mã nguồn từ một repository và nó chính là một dịch vụ máy chủ repository công cộng, mỗi người có thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể làm việc.

Github có đầy đủ những tính năng của Git, ngoài ra nó còn bổ sung những tính năng về social để các developer tương tác với nhau. Github cung cấp các tính năng social networking như feeds, followers, và network graph để các developer học hỏi kinh nghiệm của nhau 19 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 thông qua lịch sử commit. 20 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 3. Kiến trúc hệ thống: Mô hình Clean Architechture Entities: Là layer trong cùng, cũng là layer quan trọng nhất.

Entity chính là các thực thể hay từng đối tượng cụ thể và các rule business logic của nó. Trong OOP, đây chính là Object cùng với các method và properties tuân thủ nguyên tắc Encapsulation - chỉ bên trong Object mới có thể thay đổi trạng thái (State) của chính nó. Use Cases: là layer chứa các business logic ở cấp độ cụ thể từng Use Case (hay application). Interface Adapter: Là layer phụ trách việc chuyển đổi các format dữ liệu để phù hợp với từng Use Case và Entities.

Các format dữ liệu này có thể dùng cho cả bên trong hoặc ngoài ứng dụng. Frameworks and Drivers: Là tầng ngoài cùng, tổ hợp các công cụ cụ thể phục vụ cho từng nhu cầu của end user như: thiết bị (devices), web, application, databases,. Trong kiến trúc Clean Architecture thì ở tầng này là "nhẹ" nhất vì chúng ta không cần phải viết quá nhiều code. Trên thực tế thì đây là nơi "biết tất cả" cụ thể các tầng là gì thông qua việc chịu trách nhiệm khởi tạo các objects cho các tầng bên trong (hay còn gọi là Setup Dependencies).

21 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 Hình 3.1-1: Sơ đồ mô hình Clean Architechture 22 ỨNG DỤNG ĐI CHỢ TRỰC TUYẾN TÍCH HỢP GỢI Ý MÓN ĂN Báo cáo đồ án 2 3. Chi tiết các thành phần trong hệ thống STT Thành phần Chi tiết 1 Giao diện Khách Cung cấp một giao diện cho Khách hàng hàng thực hiện các thao tác nhập/xuất dữ liệu.

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