Hệ thống có chức năng chính là giúp cho người dùng có thể lập trình ứng dụng thông qua cách đơn giản hóa những thao tác với các cơ sở dữ liệu.. Cấu trúc Firebase ○ Ưu điểm của Firebase -
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2TP HỒ CHÍ MINH, THÁNG 12 NĂM 2023
Trang 3LỜI CẢM ƠNLời đầu tiên, chúng em xin cảm ơn ThS Nguyễn Thị Thanh Trúc đã tạo
điều kiện tốt nhất và cung cấp những kiến thức cần thiết để hoàn thành môn Đồ
Án 2
Chúng em cũng xin gửi lời cảm ơn sâu sắc đến ThS Nguyễn Thị Thanh
Trúc, người đã hỗ trợ, hướng dẫn nhóm và tạo điều kiện tốt nhất để nhóm hoàn
thành đề tài nghiên cứu này Với sự hỗ trợ nhiệt tình của cô, cuối cùng nhóm
chúng em cũng đã hoàn thiện những kiến thức cần thiết thông qua việc nghiên cứu và học hỏi những kiến thức mới Chúng em sẽ cố gắng ngày càng hoàn thiệnmình hơn trong tương lai và tiếp tục học tập chăm chỉ để đạt được kết quả tốt nhất
Chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong khoa, bạn bè,tập thể lớp PMCL2020 là những người luôn sẵn sàng sẻ chia và giúp đỡ trong học tập
và cuộc sống Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau
Trong quá trình làm Đồ án này chúng em không tránh khỏi được những saisót, chúng em kính mong nhận được sự chỉ dẫn và góp ý của quý thầy cô để hoànthiện và phát triển các đồ án trong tương lai tốt hơn
Cuối cùng, xin kính chúc các thầy cô giảng viên bộ môn Công nghệ Phần
mềm và cô Nguyễn Thị Thanh Trúc luôn có sức khỏe dồi dào, cuộc sống hạnh
phúc, tiếp tục hoàn thành sứ mệnh cao cả là truyền thụ tri thức cho thế hệ mai sau
Chúng em xin chân thành cảm ơn Xin chúc những điều tốt đẹp nhất sẽ luôn đồng hành cùng mọi người
Thành phố Hồ Chí Minh, tháng 12 năm 2023
Trang 4NHẬN XÉT
(Của giáo viên hướng dẫn)
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 63.3.7 Use-case “Nutrition Chat Room” 30
Trang 7CHƯƠNG 1: GIỚI THIỆU CHUNG1.1 Tổng quan đề tài
● Tên ứng dụng: Healthy Fastfood
● Chủ đề chính: Website gợi ý món ăn fastfood phù hợp tích hợp với các hệ thống hỗ trợ người dùng trở nên healthy hơn khi dùng thức ăn nhanh
● Nền tảng phát triển: Web application
● Hệ thống gợi ý: OpenAI & Google api
1.2 Lý do chọn đề tài
Ngày nay khi công nghệ ngày càng phát triển, con người ngày càng bận rộn thì việc sử dụng thức ăn nhanh (fastfood) ngày càng tăng Tuy nhiên việc sử dụng fastfood là không tốt, và là nguyên nhân chính của nhiều căn bệnh nghiêm trọng Trước tình hình đó, con
người hiện đại đã tìm đến nhiều giải pháp để có thể dùng fastfood một cách healthy hơn Nắm bắt tình hình đó, nhóm chúng tôi đã đề xuất về một website có thể hỗ trợ người dùng tìm kiếm về thức ăn nhanh và nơi mua gần nhất, đồng thời tích hợp các tiện ích hỗ trợ
người dùng trở nên healthy hơn
Website của nhóm sẽ tập trung vào các tính năng chính như sau: hỗ trợ người dùng tìm kiếm các nhà hàng thức ăn fastfood gần đó; Tiến hành gợi ý cho người dùng về món ăn fast food healthy hơn dựa trên sở thích, cũng như thời tiết; hỗ trợ người dùng chat với open ai
để có thể dễ dàng gợi ý món ăn hơn; cung cấp thông tin về dinh dưỡng, công thức nấu ăn của các món ăn; đồng thời cung cấp các bài tập thể dục nhằm nâng cao sức khoẻ của người tiêu dùng
Website của nhóm sẽ được xây dựng dựa trên nền tảng kết hợp với OpenAi nhằm tận dụng sự phát triển của công nghệ, cũng như nâng cao trải nghiệm của người dùng và hiệu suất của trang web
Trang 8● Hỗ trợ chat với OpenAI trong việc gợi ý thức ăn
● Hỗ trợ tìm kiếm nhà hàng gần kề có bán thức ăn mong muốn
● Cung cấp cho người dùng các thông tin một cách đầy đủ về fastfood: hình ảnh, lượng calories và các thành phần dinh dưỡng có trong món ăn
● Cung cấp công thức hướng dẫn nấu ăn cho người dùng nếu cần
● Cung cấp cho người dùng các bài tập thể dục nhằm hỗ trợ giảm cân và cải thiện vóc dáng
1.5 Công cụ áp dụng
● Công cụ phát triển: Visual Studio Code
● Công cụ dùng để phân tích, thiết kế: Figma
● Công cụ quản lý dự án: Github, Messenger
● Công cụ trao đổi thông tin giữa thành viên nhóm: Messenger, Teams
● Công cụ soạn thảo báo cáo: Microsoft Word
Trang 10VueJS được đánh giá là framework hàng đầu trong xây dựng, phát triển giao diện ngườidùng (UI) Ngoài ra, lập trình viên cũng có thể tạo các trang SPA - Single Page Application
có độ phức tạp cao nếu kết hợp VueJS với SFC và thư viện hỗ trợ
Các ứng dụng được phát triển bởi VueJS cũng có tốc độ tải trang, xử lý rất nhanh
Ưu điểm:
● Hiệu suất vô cùng cao: Là một framework linh động với nhiều tính năng được kế
thừa từ đối thủ và khả năng mở rộng cao, VueJS mang lại hiệu suất vô cùng caotrong các dự án phát triển Lập trình viên chỉ cần dùng một framework duy nhất
để tạo ra các app
● Tốc độ đáng gờm: Một trong những đặc điểm nổi bật của VueJS là chỉ giữ core.
Điều này khiến cho dung lượng tải của framework tương đối thấp, giúp tốc độtải trang nhanh hơn hẳn
● Đơn giản và dễ học: VueJS rất đơn giản, dễ học và dễ áp dụng vào trong các dự
án, dù là một newbie thì bận cũng không cần lo lắng quá nhiều khi sử dụngframework này
Nhược điểm:
● Không hỗ trợ SEO
● Rào cản ngôn ngữ và cộng đồng bị hạn chế (chủ yếu là Trung Quốc)
● Buông lỏng việc tích hợp dẫn đến cái gì cũng có thể sử dụng, gây ra lỗi
● Thiếu hỗ trợ tài chính cho các dự án quy mô lớn do vị thế chưa thể bằng Angularhay React
● Nguồn tài nguyên giới hạn do còn non trẻ
Trang 11Ưu điểm:
● Code được viết bằng Typescript sẽ dễ dự đoán và debug hơn nhiều với static typing
● Tất cả mọi thông số, số liệu của bạn sẽ dễ dàng được lấy nhờ sự hỗ trợ của IDE và cáctrình biên dịch
● Giúp bạn tiết kiệm lượng lớn thời gian, công sức trong việc kiểm tra code và làm giảmtối đa phần trăm va chạm lỗi trong quá trình vận hành mà không cần thông qua bất kỳ
Trang 12một đối tượng nào khác.
● Mọi thao tác của Typescript không những đơn giản, nhanh chóng và tiết kiệm mà lạicòn đem lại cho bạn những hiệu quả bất ngờ trong việc khắc phục lỗi và dễ đọc hơnnhiều
● Typescript giúp bạn tái cấu trúc phù hợp với nhu cầu tìm kiếm khi bạn muốn nâng cấp
hệ thống của mình mà không gây náo loạn cho hệ thống
● Khả năng cảnh báo lỗi ngay trong khi viết code mà tỉ lệ mắc lỗi khi sử dụng Typescripttrong hệ thống là rất thấp
Trang 13và dễ dàng hơn rất nhiều Ngoài ra, Nodejs còn được biết tới là một mã nguồn mở và là một môi trường cho các máy chủ và ứng dụng mạng.
Ưu điểm:
● Có tốc độ xử lý nhanh nhờ cơ chế xử lý bất đồng bộ (non-blocking) Bạn có thể
dễ dàng xử lý hàng ngàn kết nối trong khoảng thời gian ngắn nhất
● Giúp bạn dễ dàng mở rộng khi có nhu cầu phát triển website
● Nhận và xử lý nhiều kết nối chỉ với một single-thread Nhờ đó, hệ thống xử lý sẽ
sử dụng ít lượng RAM nhất và giúp quá trình xử Nodejs lý nhanh hơn rất nhiều
● Có khả năng xử lý nhiều Request/s cùng một lúc trong thời gian ngắn nhất
● Có khả năng xử lý hàng ngàn Process cho hiệu suất đạt mức tối ưu nhất
● Phù hợp để xây dựng những ứng dụng thời gian thực như các ứng dụng chat, mạng xã hội …
Nhược điểm:
● Đa luồng kém: Node.js sử dụng mô hình đơn luồng (single-threaded), điều này
có nghĩa rằng nếu một phần của mã gặp lỗi, toàn bộ ứng dụng có thể bị tắcnghẽn Tuy nhiên, có thể sử dụng cụm (cluster) để giải quyết vấn đề này
● Không phù hợp cho các ứng dụng CPU-bound: Node.js thường tốt cho các ứng
dụng I/O-bound, nhưng nó không thích hợp cho các ứng dụng CPU-bound (cần
xử lý tính toán nặng)
● Khả năng bảo mật yếu: Mặc dù Node.js có nhiều cải tiến về bảo mật, nhưng việc
xử lý các vấn đề bảo mật đòi hỏi kiến thức sâu về cách làm việc của nó
● Hạn chế trong việc sử dụng một số thư viện cần kiến thức phức tạp hơn về bấtđồng bộ (asynchronous) và callback
2.3 Hệ quản trị cơ sở dữ liệu Firebase
2.1 Firebase là gì?
Firebase chính là một dịch vụ cơ sở dữ liệu được hoạt động ở trên nền tảng đám mây (Cloud)
Đi kèm với đó là một hệ thống máy chủ mạnh mẽ của Google Hệ thống có chức năng chính là giúp cho người dùng có thể lập trình ứng dụng thông qua cách đơn giản hóa những thao tác với các cơ sở dữ liệu
2.2 Firestore database
Firestore là một dịch vụ cơ sở dữ liệu của Firebase, được phát triển để lưu trữ và quản lý dữ liệu cho các ứng dụng di động, web và máy chủ Firestore sử dụng cấu trúc bộ sưu tập và tài liệu để tổ chức dữ liệu
○ Firebase Authentication
Hoạt động nổi trội nhất của Firebase chính là xây dựng những bước xác dụng người dùng
Trang 14thông qua Email, Facebook, Twitter, GitHub hay Google Ngoài ra, hoạt động Firebase
Authentication cũng hỗ trợ xác thực nặc danh cho những ứng dụng Hoạt động xác thực của Firebase có thể giúp cho thông tin cá nhân của những người sử dụng được an toàn hơn Điều này cũng đảm bảo tài khoản và các thông tin cá nhân của người dùng không bị đánh cắp
Hình 3 Cấu trúc Firebase
○ Ưu điểm của Firebase
- Tốc độ cao: Firebase hỗ trợ phát triển ứng dụng với tốc độ nhanh chóng, giảm bớt thời gian phát triển và tiếp thị ứng dụng
- Đơn giản, dễ dàng trong sử dụng: Người dùng có thể tạo tài khoản Firebase bằng tài khoản Google và cũng như sử dụng nền tảng này trong phát triển ứng dụng một cách
dễ dàng
Trang 15- Một nền tảng, đa dịch vụ: Firebase cung cấp đầy đủ các dịch vụ hỗ trợ phát triển web, bạn có thể chọn database Firestore hoặc Realtime theo ý muốn
- Là một phần của Google: Firebase đã được mua lại và hiện tại đang là một phần của Google Nó khai thác triệt để sức mạnh và các dịch vụ sẵn có của Google
- Tập trung phát triển chủ yếu về giao diện người dùng: Firebase cho phép lập trình viên tập trung chủ yếu vào phát triển phần giao diện người dùng nhờ kho Backend mẫu phong phú đa dạng
- Không có máy chủ: Điều này giúp Firebase có khả năng tối ưu hóa về hiệu suất làm việc thông qua mở rộng cụm database
- Học máy: Firebase cung cấp học máy cho lập trình viên, hỗ trợ tối đa cho việc phát triểnứng dụng
- Tạo ra lưu lượng truy cập: Với khả năng hỗ trợ tạo lập các chỉ mục, Firebase giúp nâng cao thứ hạng của ứng dụng trên bảng xếp hạng Google, từ đó tăng lượt traffic
- Theo dõi lỗi: Firebase là công cụ phát triển, khắc phục lỗi tuyệt vời
- Sao lưu: Firebase sao lưu thường xuyên, giúp đảm bảo tính sẵn có và bảo mật thông tincho dữ liệu
○ Nhược điểm của Firebase
- Không phải mã nguồn mở
- Chỉ hoạt động trên CSDL NoSQL
- Lập trình viên không được truy cập vào mã nguồn
- Truy vấn chậm
- Phạm vi hoạt động bị hạn chế ở một vài quốc gia
- Một vài dịch vụ cần trả phí, chi phí dành cho Firebase tương đối lớn và không ổn định
- Thiếu Dedicated Servers và cả hợp đồng doanh nghiệp
Trang 162.5 Bootsrap
Tailwind CSS là một framework CSS được phát triển bởi Adam Wathan, Jonathan Reinink,David Hemphill và Steve Schoger Nó được thiết kế để giúp phát triển giao diện người dùnglinh hoạt và tùy chỉnh một cách dễ dàng hơn
Ưu điểm:
● Tùy chỉnh cao cấp: Tailwind CSS cho phép bạn tùy chỉnh giao diện của mình một
cách tối đa thông qua việc sử dụng các lớp CSS có thể tùy chỉnh và tổ hợp chúng
để đạt được giao diện mong muốn
● Kích thước nhỏ: So với Bootstrap, Tailwind CSS có kích thước nhỏ hơn nhiều do
nó chỉ tạo ra các lớp CSS cần thiết, giảm thiểu lượng mã không sử dụng
● Khả năng tương tác tốt: Tailwind không tích hợp sẵn các thành phần JavaScript,
điều này giúp tránh được việc thừa mãn khi chỉ sử dụng một số thành phần cụ thể
● Khả năng linh hoạt cao: Tailwind không giữ chặt các quy tắc thiết kế cụ thể, giúp
bạn có được sự linh hoạt cao trong việc thiết kế theo ý muốn của mình
Nhược điểm:
● Học ngưỡng ban đầu cao: Tailwind có một số lớp CSS và thuộc tính, điều này có
thể làm tăng độ khó khi học và sử dụng nếu bạn không quen với cách tiếp cận này
● Giao diện không được thiết kế sẵn: So với Bootstrap, Tailwind không cung cấp
các thành phần giao diện đã được thiết kế sẵn như nút, biểu đồ, v.v Điều này có
Trang 17thể đòi hỏi người phát triển phải xây dựng từ đầu hoặc sử dụng thư viện khác đểđạt được giao diện mong muốn.
● Tùy chỉnh có thể tốn thêm công sức: Mặc dù Tailwind rất linh hoạt, nhưng để
tạo ra một giao diện hoàn toàn độc đáo và phù hợp với thương hiệu, bạn có thể cần phải tùy chỉnh nhiều hơn so với việc sử dụng Bootstrap
2.6 OpenAI - Chat GPT
OpenAI là một tổ chức nghiên cứu khoa học máy tính, được thành lập năm 2015 bởi Elon Musk, Sam Altman, Greg Brockman, Ilya Sutskever, Wojciech Zaremba và John Schulman Nhiệm vụ chính của OpenAI là nghiên cứu và phát triển công nghệ trí tuệ nhân tạo để giải quyết các vấn đề khoa học và xã hội, và hỗ trợ cho việc sử dụng trí tuệ nhân tạo cho tốt nhất ChatGPT là một trong nhiều dự án đang được phát triển bởi OpenAI
CƠ CHẾ HOẠT ĐỘNG CỦA CHATGPT
ChatGPT hoạt động theo cơ chế Transformer, là một mô hình deep learning cho phép tự động học từ dữ liệu và sử dụng kiến thức đã học để trả lời câu hỏi hoặc hoàn thành các tác vụ.Trong sự hoạt động của nó, ChatGPT nhận một đầu vào (ví dụ, câu hỏi) và sử dụng mạng neural để tìm kiếm trong bộ dữ liệu của nó để tìm câu trả lời phù hợp Mô hình sử dụng một tập dữ liệu lớn được gọi là corpus để học cách tương tác với ngôn ngữ
Sau khi nhận đầu vào, mô hình sẽ sử dụng các layer của mình để xử lý và chuyển đổi dữ liệu vào một dạng mà nó có thể sử dụng để tìm kiếm trong bộ dữ liệu của nó Sau đó, mô hình sẽ
Trang 18tìm kiếm trong corpus để tìm một câu trả lời phù hợp và trả lời cho người dùng.
Trong tổng thể ChatGPT là gì? Câu trả lời là: ChatGPT là một mô hình nhận dạng ngôn ngữ tự động được xây dựng để trả lời câu hỏi và hoàn thành các tác vụ liên quan đến ngôn ngữ
Ưu điểm:
● Trả lời nhanh chóng và khá chính xác: ChatGPT sử dụng mạng neural
Transformer để học và trả lời câu hỏi Do đó, các câu trả lời của nó luôn chính xác và đáp ứng nhanh yêu cầu của người dùng
● Hiểu biết sâu sắc về nhiều lĩnh vực: ChatGPT được huấn luyện trên một lượng
dữ liệu lớn về nhiều lĩnh vực khác nhau, chẳng hạn như tài chính, khoa học, lịch
sử, văn hóa và nhiều hơn nữa Nó có thể trả lời câu hỏi về bất kỳ lĩnh vực nào
mà người dùng muốn
● Tương tác tự nhiên: ChatGPT có thể tương tác với người dùng một cách tự
nhiên, giống như một người bạn thật Điều này giúp cho người dùng cảm thấy
dễ chịu và dễ dàng trò chuyện với ChatGPT
● Mở rộng kiến thức: Vì ChatGPT được huấn luyện trên nhiều nguồn dữ liệu, nó
có thể giúp người dùng mở rộng kiến thức của mình trên nhiều lĩnh vực khác nhau
Nhược điểm:
● Độ chính xác thông tin: ChatGPT được huấn luyện trên một lượng lớn dữ liệu,
nhưng có thể còn bị sai sót hoặc cập nhật thông tin sai lệch
● Giới hạn chủ đề: Mặc dù ChatGPT có thể trả lời rất nhiều câu hỏi trên nhiều chủ
đề khác nhau, nhưng vẫn còn giới hạn trong một số chủ đề đòi hỏi sự tự nhiên
và sáng tạo
● Trách nhiệm: ChatGPT không có trách nhiệm với các thông tin mà nó trả lời và
người dùng cần kiểm tra chính xác thông tin trước khi sử dụng
● Tính mạng máy: ChatGPT chỉ hoạt động khi có kết nối internet và có thể bị gián
đoạn hoặc chậm trễ do sự cố mạng
● ChatGPT không cung cấp dịch vụ tại Việt Nam.
2.7 Cơ sở lý thuyết thuật toán
- Thuật toán mạng nơ ron:
1 Xác định Kiến Trúc Mạng Nơ-ron:
- Mô Hình Kiến Trúc: Chọn kiến trúc mạng nơ-ron phù hợp với vấn đề cụ thể Các lựa chọn phổ biến bao gồm mạng nơ-ron tiếp tục (feedforward), mạng nơ-ron hồi quy (recurrent), và mạng nơ-ron sâu (deep neural network)
2 Xác định Dữ Liệu Huấn Luyện:
- Thu Thập Dữ Liệu: Chuẩn bị dữ liệu huấn luyện, bao gồm cả đầu vào (ví dụ: hình
Trang 19ảnh, văn bản) và đầu ra mong đợi (nhãn, nhãn dự đoán).
7 Chọn Thuật Toán Tối Ưu Hóa:
- Thuật Toán Tối Ưu Hóa: Chọn thuật toán tối ưu hóa để điều chỉnh trọng số của
mô hình dựa trên độ dốc của hàm mất mát
8 Quá Trình Học (Forward và Backward Propagation):
- Forward Propagation: Đưa dữ liệu qua mạng nơ-ron để tạo dự đoán
- Backward Propagation: Tính toán độ dốc của hàm mất mát và cập nhật trọng số ngược lại dựa trên độ dốc
9 Đào Tạo Mô Hình:
- Lặp: Lặp lại quá trình forward và backward propagation trên tập dữ liệu huấn luyện để điều chỉnh trọng số và giảm giá trị hàm mất mát
10 Kiểm Tra và Đánh Giá:
- Kiểm Tra Mô Hình: Sử dụng tập dữ liệu kiểm tra để đánh giá hiệu suất của mô hình
11 Fine-Tuning và Tinh chỉnh:
- Fine-Tuning: Tùy chỉnh mô hình dựa trên kết quả đánh giá, có thể bao gồm việc tinh chỉnh siêu tham số
12 Triển Khai Mô Hình:
- Triển Khai: Áp dụng mô hình đã đào tạo vào các ứng dụng thực tế
Trang 20CHƯƠNG 3 THIẾT KẾ HỆ THỐNG3.1 Sơ đồ use-case
3.2 Danh sách use-case
Trang 211 Log In Dùng tài khoản đã đăng ký để đăng nhập
vào trang web với thông tin tương ứng
2 Register Cho phép người dùng đăng ký một tài
khoản để truy cập vào ứng dụng
3 Log Out Đăng xuất ra khỏi phiên hoạt động hiện tại
4 Profile Người dùng có thể xem thông tin profile
của mình trong trang web
5 Manage Meal Người dùng quản lý các bữa ăn của mình
thông qua việc cập nhật các bữa ăn để dễdàng quản lý
6 Food Detection Người dùng có thể đăng ảnh bữa ăn của
mình để có thể phân tích lượng dinh dưỡng
và calories của món ăn
7 Nutrition Chat Room Phòng chat giúp người dùng chat với
chuyên gia dinh dưỡng của open AI
8 Exercise Chat Room Phòng chat giúp người dùng chat với
chuyên gia fitness của open AI để tạo ra cácbài tập thể dục phù hợp
9 Random Meal Hệ thống sẽ gợi ý cho người dùng một vài
món ăn nhất định và người dùng có thểxem chi tiết
10 Search Meal Người dùng có thể search các món ăn có
sẵn trong data của hệ thống
11 Search By Ingredient Người dùng có thể search các món ăn có
sẵn trong data của hệ thống theo nguyênliệu của món ăn
3.3 Đặc tả use-case
3.3.1 Use-case “Log In”
Trang 22Tóm tắt Chức năng đăng nhập vào hệ thống
Điều kiện kích hoạt Người dùng nhấn chọn “Đăng nhập”
Điều kiện thực hiện
Trạng thái hệ thống sau
khi thực hiện use-case
Người dùng đăng nhập thành công vào hệ thống,được điều hướng đến màn hình “Random Meal”
Dòng sự kiện chính
1 Hệ thống hiển thị form đăng nhập
2 Người dùng nhập email và mật khẩu (cả 2 trườngnày đều bắt buộc nhập) và nhấn “Đăng nhập”
3 Hệ thống kiểm tra thông tin đăng nhập
Dòng sự kiện thay thế Không
Điều kiện kích hoạt Người dùng nhấn chọn “Register”
Điều kiện thực hiện
Trạng thái hệ thống sau Người dùng đăng ký thành công vào hệ thống, được
Trang 23khi thực hiện use-case điều hướng đến màn hình “Log In”
Dòng sự kiện chính
1 Hệ thống hiển thị form đăng ký
2 Người dùng nhập các thông tin: tên, email, mậtkhẩu, xác thực mật khẩu, ngày tháng năm sinh, giớitính, vai trò sử dụng ứng dụng(các trường bắt buộc),
số điện thoại(trường không bắt buộc) và nhấn “Đăngký”
3 Hệ thống tạo mới tài khoản
Dòng sự kiện thay thế Không
3.3.3 Use-case “Log Out”
Tóm tắt Chức năng đăng xuất khỏi hệ thống
Điều kiện kích hoạt Người dùng nhấn chọn “Log Out”
Điều kiện thực hiện
use-case
Tài khoản đang được đăng nhập vào ứng dụngThiết bị được cung cấp đầy đủ yêu cầu khi sử dụngứng dụng
Trạng thái hệ thống sau
khi thực hiện use-case
Người dùng đăng xuất khỏi hệ thống và điều hướng vềtrang đăng nhập
Dòng sự kiện chính 1 Người dùng nhấn “Đăng xuất”
Trang 24Dòng sự kiện thay thế Không
Dòng sự kiện ngoại lệ Không
3.3.4 Use-case “Profile”
Tóm tắt Chức năng cho phép người dùng xem thông tin profile
của mình
Điều kiện kích hoạt Người dùng nhấn chọn “Profile”
Điều kiện thực hiện
use-case
Tài khoản đang được đăng nhập vào ứng dụngPhiên hoạt động của tài khoản còn hoạt động
Trạng thái hệ thống sau
khi thực hiện use-case
Các thông tin về profile của người dùng sẽ được hiểnthị trong trang “Profile”
Dòng sự kiện chính
1 Người dùng vào trang “Profile”
2 Các thông tin về profile của người dùng sẽ đượchiển thị
Dòng sự kiện thay thế Không
Dòng sự kiện ngoại lệ Không
3.3.5 Use-case “Manage Meal”
Tóm tắt Chức năng cho phép người dùng quản lý thông tin bữa
ăn của mình
Điều kiện kích hoạt Người dùng ấn chọn “Manage Meal”
Trang 25Điều kiện thực hiện
use-case
Tài khoản đang được đăng nhập vào ứng dụngPhiên hoạt động của tài khoản còn hoạt động
Trạng thái hệ thống sau
khi thực hiện use-case
Các thông tin về bữa ăn của người dùng sẽ được hiểnthị
Dòng sự kiện chính
1 Người dùng vào trang “Manage Meal”
2 Các thông tin về bữa ăn của người dùng sẽ đượchiển thị
Dòng sự kiện thay thế Không
Dòng sự kiện ngoại lệ Không
3.3.6 Use-case “Food Detection”
Tên chức năng Food Detection
Tóm tắt
Chức năng cho phép người dùng phân tích món ăn màmình đang ăn theo thành phần dinh dưỡng và lượngcalories của nó
Điều kiện kích hoạt Người dùng ấn chọn “Food Detection”
Điều kiện thực hiện
Trạng thái hệ thống sau
khi thực hiện use-case
Các chỉ số của món ăn được đưa vào hệ thống đượchiển thị đầy đủ và rõ ràng cùng với các món ăn kháctương tự cho người dùng có thể tham khảo
Dòng sự kiện chính
1 Người dùng vào trang “Food Detection”
2 Người dùng nhập ảnh món ăn vào input
3 Các thông tin dinh dưỡng của món ăn được hiển thịcùng với các món ăn tương tự
Dòng sự kiện thay thế Không
Dòng sự kiện ngoại lệ Không
Trang 263.3.7 Use-case “Nutrition Chat Room”
Tên chức năng Nutrition Chat Room
Tóm tắt Chức năng cho phép người dùng chat với chuyên gia
dinh dưỡng được phát triển bởi openAI
Điều kiện kích hoạt Người dùng ấn chọn “Nutrition Chat Room”
Điều kiện thực hiện
Trạng thái hệ thống sau
khi thực hiện use-case Các câu hỏi của người dùng sẽ được trả lời.
Dòng sự kiện chính
1 Người dùng vào trang “Nutrition Chat Room”
2 Người dùng nhập câu hỏi muốn hỏi và nhấn gửi
3 OpenAI trả lời lại câu hỏi của người dùng
Dòng sự kiện thay thế Không
Dòng sự kiện ngoại lệ Không
3.3.8 Use-case “Exercises Chat Room”
Tên chức năng Exercises Chat Room
Tóm tắt Chức năng cho phép người dùng chat với chuyên gia
fitness được phát triển bởi openAI
Điều kiện kích hoạt Người dùng ấn chọn “Exercises Chat Room”
Điều kiện thực hiện