Về chương trình ứng dụng: e Nhom sinh viên đã xây dựng được ứng dụng mobile với giao diện thân thiện, đáp ứng các chức năng cần thiết của một ứng dụng hỗ trợ chăm sóc sức khỏe em bé như:
Trang 1ĐẠI HOC QUOC GIA TP HO CHÍ MINH TRUONG DAI HQC CONG NGHE THONG TIN
KHOA CONG NGHE PHAN MEM
NGUYEN MINH THANG
BUI TRONG KHANH DUY
KHOA LUAN TOT NGHIEP
UNG DUNG
HO TRỢ CHAM SOC SỨC KHỎE EM BE
BABY CARE
KY SU NGANH KY THUAT PHAN MEM
GIANG VIEN HUONG DAN
TS NGUYEN DINH HIEN ThS TRAN ANH DUNG
TP HO CHi MINH, 2022
Trang 2ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHAN MEM
NGUYEN MINH THANG BUI TRONG KHANH DUY
KHOA LUAN TOT NGHIEP
UNG DUNG
HO TRO CHAM SOC SUC KHOE EM BE
BABY CARE
KY SU NGANH KY THUAT PHAN MEM
GIANG VIEN HUONG DAN
TS NGUYEN DINH HIEN ThS TRAN ANH DUNG
TP HO CHi MINH, 2022
Trang 3THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
của Hiệu trưởng Trường Dai học Công nghệ Thông tin.
1 - Chủ tịch.
1 - Ủy viên
“1 - Ủy viên
Trang 4ĐẠI HỌC QUOC GIA TP HO CHÍ MINH CONG HÒA XÃ HỘI CHỦ NGHĨA.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ VIỆT NAM
THÔNG TIN Độc Lập - Tự Do - Hạnh Phúc
TP HCM, ngày 25 tháng 07 năm 2022
NHẬN XÉT KHÓA LUẬN TÓT NGHIỆP
(CUA CÁN BỘ HƯỚNG DAN)
Tên Khóa luận Tốt nghiệp:
Ứng dụng hỗ trợ chăm sóc sức khỏe em bé
Nhóm sinh viên thực hiện: Cán bộ hướng dẫn:
BÙI TRỌNG KHÁNH DUY 18520654 TS Nguyễn Đình Hiển
NGUYEN MINH THÁNG 18521396 ThS Tran Anh Dũng
Đánh giá Khóa luận Tốt nghiệp:
1 Về cuôn báo cáo:
Số trang 160 Số chương 7
Số bảng số liệu 35 Số hình vẽ 65
Số tài liệu tham khảo 19 Sản phẩm 1
Một số nhận xét về hình thức cuốn báo cáo:
Báo cáo đầy đủ các chương yêu cầu của báo cáo khóa luận Hình thức trình bày hợp lý
Trang 5bảng, danh mục hình, tài liệu tham khảo trình bày đúng chuẩn Sinh viên chủ động
chỉnh sửa báo cáo theo góp ý của giảng viên hướng dẫn.
2 Về nội dung nghiên cứu:
e Tìm hiểu và áp dung framework Flutter, ngôn ngữ Dart để xây dựng ứng dụng
mobile.
© Sử dụng công nghệ Storage của Firebase dé lưu trữ dữ liệu.
e Tìm hiểu và tích hợp Dialogflow vào chương trình ứng dụng.
e Tìm hiểu các thuật toán Recommend là content-base và get-weighted-rating vào
recommend sản phẩm cho người dùng khi người dùng mua hàng
3 Về chương trình ứng dụng:
e Nhom sinh viên đã xây dựng được ứng dụng mobile với giao diện thân thiện, đáp
ứng các chức năng cần thiết của một ứng dụng hỗ trợ chăm sóc sức khỏe em bé
như: tạo bản sao chỉ số em bé, theo dõi tình trạng BMI và chỉ số đỉnh dưỡng của
trẻ, đưa ra gợi ý thực đơn hàng tuần theo tình trạng đỉnh dưỡng, theo dõi chỉ số
dinh dưỡng qua thức ăn của các ngày trước đó, gợi ý cách phòng ngừa và chữa trị
các loại bệnh thông thường khi trẻ mắc phải
e Tích hợp Chatbot tư vấn các loại bệnh và các loại chất dinh dưỡng và hệ thống
khuyến nghị, gợi ý người dùng mua đồ dùng phù hợp
e Tuy nhiên, chương trình còn một số hạn chế nhất định như: chưa hỗ trợ tư vấn các
loại bệnh và theo dõi tiêm phòng cho trẻ, kịch bản xử lý của chatbot còn đơn giản.
4 Về thái độ làm việc của sinh viên:
© Nhóm sinh viên có thái độ nghiêm túc, chăm chỉ, tích cực thực hiện dé tài, thé
hiện được khả năng nghiên cứu và áp dụng nhiều công nghệ trong đề tài Chủđộng báo cáo định kỳ thường xuyên và luôn hoàn thành tốt các công việc do giảng
viên hướng dẫn đề ra
Đánh giá chung: Kết quả đạt được của đề tài đáp ứng tốt yêu cầu của một khóa luận tốt
nghiệp kỹ sư ngành Kỹ thuật phần mềm Xếp loại Giỏi
Trang 6Điểm từng sinh viên:
Trang 7ĐẠI HỌC QUOC GIA TP HO CHÍMINH CONG HÒA XA HOI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
TP HCM, ngày 07 tháng 07 năm 2022
NHAN XÉT KHÓA LUẬN TOT NGHIỆP
(CUA CÁN BỘ PHAN BIEN)
Tên khóa luận:
ỨNG DỤNG HỖ TRỢ CHĂM SÓC SỨC KHỎE EM BÉ
Sinh viên thực hiện: Cán bô phản biên:
Nguyễn Minh Thắng 18521396 ThS Trần Thị Hồng Yến
Bùi Trọng Khánh Duy 18520654
Đánh giá Khóa luân
1 Về cuốn báo cáo:
Số trang - 160 Số chương 7
Số bảng số liệu 35 Số hình vẽ 65
Số tài liệu tham khảo _ 19 Sản phẩm 1
Một số nhận xét về hình thức cuốn báo cáo:
Báo cáo định dạng theo quy định.
Văn phong nghiêm túc, chuẩn mực
Phân bố chương mục và nội dung hợp ly
Nội dung báo cáo rõ ràng, chỉ tiết
Hình anh và nội dung tham khảo có trích dẫn nguồn
2 Về nội dung nghiên cứu:
- Tìm hiểu và áp dung framework Flutter, ngôn ngữ Dart để xây dựng ứng dụng mobile
- Sử dụng công nghệ Storage của Firebase dé lưu trữ dữ liệu
Trang 83 Về chương trình ứng dụng:
- Nhóm SV xây dựng được ng dụng mobile với giao diện thân thiện, màu sắc hài hòa,
bố cục hợp lý, đáp ứng các chức năng can thiết cơ bản của một ứng dụng hỗ trợ chăm
sóc sức khỏe em bé như: tạo bản sao chỉ số em bé, theo dõi tình trạng BMI và chỉ sốdinh dưỡng của trẻ, đưa ra gợi ý thực đơn hàng tuân theo tình trạng dinh dưỡng, theo
dõi chỉ số dinh dưỡng qua thức ăn của các ngày trước đó, gợi ý cách phòng ngừa vàchữa trị các loại bệnh thông thường khi trẻ mắc phải
- _ Tích hợp Chatbot tư vấn các loại bệnh và các loại chất dinh dưỡng và hệ thong khuyến
nghị, gợi ý người dùng mua đồ dùng phù hợp
- San pham dé tài con một số han chế như:
fe)
fe}
Chi lưu trữ thông tin đỉnh dưỡng qua loại va lượng thức ăn trẻ dùng trong 1
tuân dé đánh giá, gợi ý thực don hàng tuân theo tình trạng dinh dưỡng
Chưa hỗ trợ tư vấn các loại bệnh và theo dõi tiêm phòng cho trẻ
Chưa tích hợp kink và hình ảnh vào Chatbot.
Kịch bản xử lý của chatbot còn đơn giản, chưa thực sự linh hoạt, tiện dụng.
Cân bồ sung và cập nhật kiến thức chuyên ngành y tế hoặc kết hợp với BS dinhdưỡng dé xây dựng ứng dụng mang tính thực tế
Chua thống nhất ngôn ngữ tng dụng là Việt hay Anh
4 Về thái độ làm việc của sinh viên:
- SV có thái độ hòa nhã, khiêm tôn, tác phong nghiêm túc, đúng giờ
- Có thái độ cau thị, tiếp thu các góp ý của GVPB
- Phan chia công việc cụ thé, linh hoạt, khả năng phối hợp, làm việc nhóm tốt
Đánh gia chung:
Khóa luận đạt yêu cầu của một khóa luận tốt nghiệp cử nhân xếp loại Giỏi
Điểm sinh viên:
Nguyễn Minh Thắng: 9/10
Bùi Trọng Khánh Duy: 9/10
Trang 9Người nhận xét
(Ký tên và ghi rõ họ tên)
ThS Trần Thị Hồng Yến
Trang 10LOI CÁM ON
Sau quá trình học tập va rèn luyện tại khoa Công nghệ phần mềm trường Đại học Côngnghệ Thông tin - ĐHQG TP HCM nhóm em đã được trang bị các kiến thức cơ bản, các
ky năng thực tế dé có thé hoàn thành Khóa luận Tốt nghiệp của mình
Nhóm em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng đã quan tâm hướng
dẫn truyền đạt những kiến thức và kinh nghiệm cho nhóm em trong suốt thời gian học tập
và thực hiện Khóa luận Tốt nghiệp
Cuối cùng, nhóm em xin gửi lời cảm ơn đến tat cả thầy cô trong khoa và bạn bè đã luôn
bên cạnh, chỉ bảo, truyền đạt và động viên nhóm em.
Trong quá trình làm bài tập môn không tránh khỏi được những sai sót, nhóm em mong
nhận được sự góp ý của quý thầy và các bạn đề được hoàn thiện hơn
Nhóm em xin chân thành cảm ơn.
Thanh pho Hồ Chí Minh, ngày tháng năm 2022
Sinh viên
BÙI TRỌNG KHÁNH DUY
NGUYEN MINH THANG
Trang 11ĐẠI HỌC QUOC GIA TP HO CHÍ CONG HOA XA HOI CHU NGHIA VIET
MINH NAM TRUONG DAI HOC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN
TP HCM, ngày tháng năm 2021
ĐÈ CƯƠNG CHI TIẾT
TEN DE TÀI: Ứng dụng hỗ trợ chăm sóc sức khỏe em bé
TEN DE TÀI (tiếng Anh): Developing applications to aid in the care of children's
health
Cán bộ hướng dẫn: TS NGUYEN ĐÌNH HIEN, THS TRAN ANH DUNG
Thời gian thực hiện: Từ ngày 21/02/2022 đến ngày 19/06/2022
Sinh viên thực hiện:
NGUYEN MINH THANG - 18521396
BUI TRỌNG KHANH DUY - 18520654
Trang 12Nội dung đề tài:
1 Lý do chọn đề tài:
Ở cuộc sống thành thị hiện tại, có rất nhiều gia đình vừa phải đi làm vắt vả hằng ngày,
vừa phải chăm lo cho con cái của họ Những bậc bố mẹ trẻ tuổi vấp phải rất nhiều khókhăn trong việc chăm sóc con khi làm việc từ sáng đến chiều ở công ty, chỉ có buổi tối
mới dành được thời gian ít ỏi trong ngày đề chăm sóc con Vì thế nên sự quan tâm về dinhdưỡng, thể chất con người và tiêm phòng cho con khá hời hợt và qua loa
Sau thời gian tìm hiểu và cân nhắc, nhóm thấy vấn đề mang tính thực tế và rất thiết
yếu, nên đã chọn vấn đề này để nghiên cứu và phát triển khóa luận
2 Mục tiêu:
Tro thành một trợ thủ đắc lực giúp các bậc bố mẹ có thể kiểm soát được sự chăm sóccho con cái, làm chủ thời gian hơn Thông qua đó người sử dụng ứng dụng có thé ghi lại
toàn bộ sự phát triển của con mình để cung cấp cho bác sĩ nếu như bé có bị bệnh hay gặp
phải vấn đề về dinh dưỡng
3 Phạm vi:
Phạm vi môi trường: Di động chạy hệ điều hành Android và iOS
Phạm vi chức năng:
- _ Chức năng Tạo bản sao chỉ số em bé
- _ Chức nang Theo dõi, cập nhật va đưa ra thông báo tình trạng BMI của trẻ.
- Chức năng Theo dõi, cập nhật và đưa ra thông báo tình trạng chỉ số đỉnh
dưỡng của trẻ.
Chức năng Đưa ra gợi ý thực đơn hàng tuần theo tình trạng dinh dưỡng
Chức năng Theo dõi chỉ số đỉnh dưỡng qua thức ăn của các ngày trước đó
Các mẹo và các cách phòng ngừa và chữa trị các loại bệnh khi trẻ mắc phải
Chat Bot trả lời về các loại bệnh và các loại chất dinh dưỡng
Trang 13- Recommender system đưa ra gợi ý giúp người dùng dé dàng mua các vật dung
phù hợp với từng người.
4 Đối tượng sử dụng:
- Nhóm đối tượng chủ yếu của phan mềm chính là các bậc phụ huynh có con nhỏdưới 3 tuổi, hay người chăm sóc những trẻ nhỏ trong độ tuổi từ lúc mới sinh đến 3 tuổi
- _ Những người chăm sóc trẻ nhỏ hay các bậc phụ huynh ở thành thị, không có thời
gian ghi nhớ những dinh dưỡng đã cung cấp cho con, hay lịch sử tiêm phòng của con
mình Đối với những đối tượng này, họ cần những ứng dụng có thé giúp họ ghi nhớ và
giúp đỡ họ trong việc chăm sóc con của mình.
5 Phương pháp thực hiện:
Trước khi đi vào nghiên cứu chỉ tiết cụ thé, nhóm em đã lên kế hoạch tìm hiểu rất nhiềucác ứng dụng có sẵn trên thị trường Các ứng dụng này đa số đều rất mới mẻ, chủ yếu
là đáp ứng nhu cầu chăm sóc dinh dưỡng và cơ thể cho người từ 3 tuổi trở lên Chính
vì thế để tạo ra sự khác biệt và đáp ứng những nhu cầu chăm sóc cần thiết cho trẻ emdưới 3 tuổi, nhóm nhóm em đã nghiên cứu tạo ra một ứng dụng có thể làm điều này
Nhóm em đã thực hiện đề tài này bằng ngôn ngữ Dart với công nghệ ứng dụng Flutter
Nhóm em cũng đã tuân theo những quy chuẩn phát triển phần mềm và làm hoàn thiện
phần mềm thông qua các bước sau:
Bước 1: Nhóm tiến hành khảo sát người đùng chỉ tiết, thu thập những nhu cầu người
dùng và những khó khăn của người dùng khi chưa có phần mềm
Bước 2: Nhóm nghiên cứu các sản phẩm hiện có sẵn trên thị trường xem có đáp ứngđược những nhu cầu thực tại không, khó khăn của phần mềm hiện tại là gì
Trang 14Bước 3: Nhóm phân tích và đặc tả phần mềm theo các mô hình có sẵn về phát triểnphần mềm Vẽ các Use-case cho chức năng và WorkFlow để nhóm cùng thực hiện.
Bước 4: Nhóm thiết kế cơ sở dữ liệu và chọn các phương pháp hiện thực cơ sở dữ liệu
Bước 5: Thiết kế sơ bộ những chức năng của phần mềm trong tương lai
Bước 6: Nhóm lựa chọn ngôn ngữ lập trình để hiện thực phần mềm của nhóm thành
sản phẩm Qua các sự hội ý, họp hành, nhóm quyết định chọn sử dụng ngôn ngữ dễhọc và tiện lợi Dart thông qua Cross platform Flutter để thực hiện việc lập trình
Bước 7: Nhóm thiết kế Giao diện cho ứng dụng trên ứng dụng hỗ trợ thiết kế Figma
Bước 8: Nhóm tiến hành cài đặt hoàn thiện cho phần mềm
Bước 9: Nhóm tiến hành sửa chữa các lỗi và nâng cấp một số chức năng có trong phần
Bước 10: Nhóm hoàn thành phần mềm và các tài liệu báo cáo
6 Nền tảng công nghệ:
- Backend: Firebase, Dart, Python.
- Database: Firebase.
- Flutter/Dart.
7 Kết quả mong đợi:
- Hoàn thiện day đủ các chức năng
- Giao diện đẹp mắt, dé sử dụng
8 Hướng phát triển của đề tài:
Trang 15- Cải thiện tốc độ xử lý dữ liệu của ứng dụng, cải thiện trải nghiệm người dùng.
- Xây dung module về Tiêm phòng, nơi tổng hợp những kiến thức tiêm phòng cho trẻ đến
với người dùng Phổ cập kiến thức tiêm phòng, tổng hợp các mũi tiêm quan trọng kết hợp
với lưu lịch sử tiêm phòng của trẻ và gợi ý những địa điểm tiêm phòng hợp lý
- Xây dựng module Gợi ý lịch hoạt động cho trẻ và cho bố mẹ trong tuần theo tháng Từ
đó cải thiện sức khỏe cho cả gia đình và giúp tạo động lực cho các bố mẹ dành nhiều thời
gian hơn với con.
- Cải thiện tính chính xác và độ đa dạng cho các thuật toán gợi ý bữa ăn cho trẻ, gợi ý sản
phẩm tiêu dùng
9 Kế hoạch làm việc:
Thời gian thực hiện từ ngày 21/02/2022 đến ngày 19/06/2022
Nhóm chia thành 4 giai đoạn cụ thể:
Giai đoạn 1: Hoàn chỉnh ứng dụng hiện tại Giai đoạn này gồm 2 sprint:
Thời gian: 21/02/2022 — 06/03/2022 (2 tuần)
Sprint 1: Lên ké hoach chi tiết về các sửa đổi, cập nhật cần thiết cho ứng dụng hiện tại.
Thoi gian Công việc
Trang 1627/02/2022 ˆ | database và server mới
- Lên kế hoạch cho những hạng mục cần sửa chữa, cập
nhật
28/02/2022 — | - Xây dựng CSDL va RESTful API mới
06/03/2022 `
- Triên khai các chỉnh sửa cân thiệt sau khi lên kê hoạch
Giai đoạn 2: Hoàn thành module Mẹo chăm sóc trẻ Giai đoạn này gồm 2 sprint:
Thời gian: 07/03/2022 — 27/03/2022 (3 tuần)
Sprint 1: Lên ké hoach cho module Lén danh sach, phan loai, chon loc tất cả các mẹo sẽ
sử dụng Thiết kế UI/UX cho module
Sprint 2: Triển khai chức năng Hiển thị danh sách mẹo và Xem chỉ tiết Mẹo
Thời gian Công việc
07/03/2022 — | - Lên kế hoạch cho module
13/03/2022
dụng
- Thiết kế UI/UX cho module
Trang 1714/03/2022 — | - Triển khai chức năng Hiền thị danh sách mẹo và Xem chi
Giai đoạn 3: Hoàn thành module Chatbot Hỗ trợ người dùng có sử dụng AI Giai đoạn
này gồm 3 sprint:
Thời gian: 28/03/2022 — 01/05/2022 (5 tuần)
Sprint 1: Tìm hiểu công nghệ áp dung cho module, tìm hiểu các thuật toán và ứng dụngcủa AI về Chatbot có sẵn Lên kế hoạch chỉ tiết về những chức năng dự định triển khai
trong module.
Sprint 2: Setup server và Backend phục vụ cho module Thiết kế UI/UX cho module
Sprint 3: Triển khai xây dựng UI lên ứng dụng và kết nối API về AI cho ứng dụng Triển
khai các chức năng đã lên kế hoạch
Sprint | Thời gian Công việc
28/03/2022 — | - Tìm hiểu công nghệ áp dụng cho module
Trang 1817/04/2022 a
- Thiét ké UI/UX cho module
18/04/2022 — | - Triển khai xây dựng UI lên ứng dụng
01/05/2022 by :
- Kết nôi API vê AI cho ứng dụng
- Triển khai các chức năng đã lên kế hoạch
Giai đoạn 4: Hoàn thành module Recommender System có sử dụng nhiều thuật toán kết
hợp và Đóng dự án Giai đoạn này gồm 4 sprint:
Thời gian: 02/05/2022 — 19/06/2022 (7 tuần)
Sprint 1: Tìm hiểu công nghệ áp dung cho module, tìm hiểu các thuật toán, phân tích thuậttoán Lên kế hoạch chỉ tiết về những chức năng dự định triển khai trong module
Sprint 2: Setup server và Backend phục vụ cho module Thiết kế UI/UX cho module
Sprint 3: Triển khai xây dựng UI lên ứng dụng và kết nói API về thuật toán cho ứng dung
Triển khai các chức năng đã lên kế hoạch
Sprint 4: Tổng hợp tài liệu cho toàn bộ dự án Chuẩn bị nội dung, bản trình chiếu cho buổi
trình bày.
Sprint Thời gian Công việc
Trang 1902/05/2022 —
08/05/2022
09/05/2022 —
22/05/2022
- Tìm hiểu công nghệ áp dụng cho module
- Tìm hiểu các thuật toán và phân tích ưu, nhược điểm của
các thuật toán
- Lên kế hoạch chỉ tiết về những chức năng dự định triển
khai trong module
- Setup server va Backend phục vụ cho module
- Thiết kế UI/UX cho module
23/05/2022 —
05/06/2022
- Kết nói API về thuật toán cho ứng dụng
- Triển khai các chức năng đã lên kế hoạch
06/06/2022 —
19/06/2022
- Tổng hợp document cho toàn bộ dự án Chuẩn bị script,
slide cho buổi trình bay
Trang 20NGUYÊN MINH THÁNG
BÙI TRỌNG KHÁNH DUY
Trang 21MỤC LỤC
TOM TAT KHÓA LUẬN -222-2222222222222222211112221112222111122211111211111222111 21111 ce 1Chương 1 GIỚI THIỆU CHUNG 222+222EEEEE222+22222221222122222221222222222 2
1.1 Lý do chọn đề tài -2¿-2222+222221112222112122711122271122271112201122.01 1e 2
1.2 Tính mới/khác biệt về chức năng của dé tài so với một số ứng dụng thương mại
điện tử hiện nay
1.3 Đối tượng nghiên cứu - -:2-22+++22EE+2212221112227112227111222111227111 2.011 cty 2
1.4 Phương pháp nghiên CỨU -¿- es + St SESk 3E TT E1 T10 11 11H11 tri 3
Chương 2 TONG QUAN 2 22222222222222222212222211112221112222111122211112221111221112 2.111 ce 5
2.1 Khảo sat hiện trạng - sàn” HH HT gi rn 5
2.1.1 Hiện trạng chăm sóc trẻ em của bố mẹ ở thành thị sc- sz+cse+rxerzxrrx 5
2.1.2 Hiện trạng các ứng dụng chăm sóc tré ©Im + ++5+s+£ex+x+ezerexerrxsxzve 5
2.2 Nhận xét về hiện trạng
2.2.1 Các vấn dé tồn đọng
2.2.2 Các van dé tập trung trong đề tài 6
Chương 3 TÌM HIEU CÔNG NGHỆ UNG DỤNG TRONG DE TÀI 7
3.1 Tổng quan về công nghệ Flutter 2-©2++22EE+++E2EEEE+2EEEE222222E2eEEEkrrrrrkk 7
3.1.1 Khái niệm
3.1.2 Lich 0 7n 73.1.3 Uu Go 7n 7
3.2 Ngôn ngữ Dart cece Sàn HH HH HT HH HT HH HT ii 8
3.2.1 Giới thiệu ngôn ngữ ÏDaFẨ - - eseeeeeseeeseseeseseseeeseseeseseseeesneeeneeeeeeees 8
3.2.2 Ưu điểm của DaFt 22222:c2222222222222222111112212211112 222121112 2111111 re 9
3.3 Ứng dụng Figma -2 222++22EE22E22E111122211122711122711212221112.011122.0012 E1 crrre 9
3.3.1 Giới thiệu Figma - c2 cc t t2 r1 rrrrrrrrrrree 9
Trang 223.3.2 Lịch sử phát triỂn ¿222222 22211212221111222111122721122211122.01112 E1 ceer 10
kc cau 10
3.4 Tổng quan về Firebase -2+++22E++2t22221122211112271112277111277112227111 1e 12
3.4.1 Giới thiệu về Firebase 222241121212 Tre 12
3.4.2 Các chức năng chính của Google Firebase - - + + +5++++x+x+xerererree 13
a Realtime Database — Cơ sở dữ liệu thời gian thực - - + <+c+c+xsxe+ 13
b Firebase Authentication — Hệ thống xác thực Firebase -:+cccssc sex 14
C Firebase Storage Tố 14
d Firebase Cloud Messag1ng - + tt HH HH it 14 3.4.3 Lợi ích của Google Firebase ccc seseseteeeeeeseseseseeeeeseeeseseeeeeneseeeseeeeeeeeee 14
a Triển khai ứng dụng cực nhanh -2¿++22++++22ES++222ES+2222x+rsrrrxrrrrr 14
b Bảo mật 6 2⁄2⁄⁄7 688 À ÂU Le 15
c Tính linh hoạt và kha năng mở rộng oe eee eee eeseeeteeeeeeseeeneneeeeseeeaeeeneeeteeeeees 15
3.5 Tổng quan về DialogflowW 2¿-222222222++22221222222112122211122211212221112 2221 xe 15
3.5.1 Ứng dụng Dialogflow vào ứng dụng BabyCare -2 ©zz+2222zcesrz 16
3.6 Hệ thống khuyến nghi cccccccssssssesssssesesessseessssssssssssessssssesesssseesesssuesessssveeessseeeeessees 16
3.6.1 Giới thiệu
3.6.2 Một số phương pháp trong hệ thống khuyến nghị
a Hệ thống khuyến nghị theo nội dung (Content-based)
b Hệ thống khuyến nghị lọc cộng tác (Collaborative Filtering) „19
3.6.3 So sánh Content-based va Collaborative Filtering ccs 21
Chương 4 TÌM HIEU CO SỞ LY THUYÉT -22-©2222+22EE+22E2EE2+t2EEEEerrrrrscee 22
4.1 Chỉ số BMI của trẻ
4.1.1 Đối với bé từ 0-5 tuổi
4.1.2 Đối với trẻ từ 5-15 tuổi -2:2:22222222222122222111222111122211112221111 221111 xe 24
4.2 Chỉ số đỉnh dưỡng của trẻ -2 22++2222+2+2EEE122221111227111127711222211 2.11 re 25
Trang 234.2.2 Đặc điểm sinh lý của trẻ 3 tuổi - :¿-©2222z+222EE2+t222E1222211222211ecrrkk+ 25
4.2.2 Nhu cầu cơ bản trong chế độ dinh dưỡng cho trẻ 3 tuổi -+ 26
Chương 5 XÂY DUNG HE THÓNG - 22222 22222+2222112122211122221122272112 221C 28
5.1 Mô hình Use-case 28
5.1.1 Sơ đồ Use-case
§.1.2 Danh sách các actor 29 5.1.3 Danh sách các Se-Case ¿- - + HH 011g rên 30
BS na 0 31
a Đặc tả Use-case Đăng ky tài khoản - ¿+ - + *EESH tre 31
b Đặc tả Use-case Đăng nhập ¿- - - k0 H121 1x11 1 rêc 38
c Đặc tả Use-case Khởi tạo em Đé - ¿2+ x22 32332133 vEeEerxerrrrrrserrrxrrrrerrrree 43
d Đặc tả Use-case Hiền thị thông tin chung -¿¿222z+2222+zz+zvzxzcz+rz 48
e Đặc tả Use-case Hiển thị Chỉ số khối cơ thé v ceccecccecccsssesesssesseesseessesstessteseeeee 51
f Dac ta Use-case Cap nhat Chi số khối cơ thể -. -s-cs xketx£EEEEEteExesrksrx 54
g Đặc ta Use-case Thông báo tinh trang Chi số khối cơ thể -: 58
h Đặc tả Use-case Hiển thị Chỉ số dinh dưỡng - - «55+ s+cxsesrerererree 62
i Đặc tả Use-case Cập nhật Lượng thức ăn tiêu thụ ¿-+«++++c+c+xc++ 65
j Đặc tả Use-case Cập nhật Chỉ số dinh dưỡng -2 ¿¿+22+ze+c2zxzcz+rz 69
k Đặc tả Use-case Thông báo tình trạng Chỉ số đỉnh dưỡng - 73
1 Đặc tả Use-case Thống kê bữa ăn 22-22222222222222222112 22211222212 xe, 76
m Đặc tả Use-case Lên kế hoạch cho bữa ăn tiếp HO S ScSccS2xcverrerereee 79
n Đặc tả Use-case Cam nang chăm sóc trẻ 2 2¿+222++++2EEE2ztztvzvzerrrree 83
o Đặc tả Use-case Chatbot hỗ trợ người dùng - 5:-525c2cvxcscrrrsrrr 87
5.2 SO AG OP 91
§.2.1 Bang ACCOUII TS HT HH HH HH 91
§.2.2 Bang 0n 92
$.2.3 lo 92 5.2.4 Bang VáaCCinA(IOH óc tt ST HH TT HH TT HH TT nghiện 93
Trang 245.2.5 Bang nh
bê na bia 5.2.8 Bảng FoodSugge€s( ch HH HH HT HH hiện 5.2.9 Bảng Handbook Theme - ¿+ tt + Ek+kEEEEEEkekEkskEkrkrkkrrrkskrkrkrkrrre Š.2.10 Bảng Aticl€ÏnIfO - + +5 1E TT HH1 1H HH0 nên Š.2.11 Bảng ArticlelDetail - c5: tt T210” 0 001gr tên
5.3 Thiết kế giao diện ứng dụng -¿:©22++2222+++222211212221112121122222111 c22 Xe
5.3.1 Thiết kế giao diện 2 ¿222222 2E21121227111122271112272112271111.1111 2.111 re
5.3.2 Màn hình Đăng nhập ¿+ tt Snnt HH HH gi 5.3.3 Màn hình Đăng ky tài khoản ¿ ¿xxx SE rên 5.3.4 Màn hình Trang chủ -¿- + + St kề TH ry
5.3.5 Màn hình Khởi tạo em bé - ¿+22 2t 323233 EEEEEErxrrrrrrrrerrrrrrrsrrrer
5.3.6 Màn hình Hiền thị thông tin chung -¿+22+zz+22E+++++22x+zztrrsee
5.3.7 Màn hình Hiển thị, Cập nhật và Thông báo tình trạng BMI
5.3.8 Màn hình Hiền thị, Cập nhật và Thông báo tình trạng NI
-. 5.3.9 Màn hình Gợi ý bữa ăn - Sàn tt HH HH rưn
5.3.10 Màn hình Thống kê bữa ăn
5.3.11 Màn hình Xem kế hoạch các bữa ăn tiếp theo
5.3.12 Màn hình Cẩm nang chăm sóc trẻ - Danh sách chủ đề
5.3.13 Màn hình Câm nang chăm sóc trẻ - Danh sách bài viế
5.3.14 Màn hình Câm nang chăm sóc trẻ - Chỉ tiết bài viết
Trang 25a Utility Matrix 0 d3 13
b Similarity Metrics (Các chỉ số tương tut) ccsccscssssesssssssessssssesscsseessessseescsnseeeess 14
c Root Mean Squared Error (RMSE) - ¿5 s‡s‡E‡EkEEekekererkrrkekrke 16 6.1.2 Phương pháp -¿-¿- th SE TH TT HH rên 17
a Chuẩn bị dữ liệu 117
b Content-based Recommender System 18
c Neighborhood-based Recommendation System .119
6.2 Dam nn 25
6.2.1 So sánh kết quả - 222222222 22EEE22E221111272111227111222111227111220111 C.EExeE 25
4.2.2 ổn 26
6.3 Áp dụng vào BabyCare ccccccssssssssssssessssssesesssseessssseessssseeserssieessssseseessseesessseeesssnee 276.3.1 Đề xuất sản phẩm . 222-22222222221222222112227111122711122711122.11 CC 27
6.3.2 Sản phẩm tương tự 22:222222+22221122222111222211121211122221111 222111 c1 28
Chương 7 KET LUẬN, HƯỚNG PHAT TRIẺN -2 ©22+2222+z+222szzvrrvee 29
7.1 Kết quả thu được -2222+222++2t22EEE122211112221112227111221112220111 01c 29
7.2 Khó khăn 129
7.3 Phương hướng phát triỂn -:-2+¿©22++2EEE++2EEEE+2E2EE222222312222122ztrrke+ 30TÀI LIEU THAM KHẢO -25522vvvvvvvvctrtrtttttEEEEEEErtrrrrrrrrrrriee 32
Trang 26DANH MỤC HÌNH ẢNH
Hình 3.1 Giới thiệu về Framework Google Firebase -©ccc:2ccvcccccccvesccrcev 13Hình 3.2 Giới thiệu về Dialogflow
Hình 4.1 Bảng chiều cao và cân nặng chuẩn của trẻ từ 0-10 tuổi chuẩn WHO
Hình 4.2 Khủng hoảng tuổi lên 3 ©225c- 222cc E221 2.2211.111 ccrer 26
Hình 4.3 Thành phan dinh dưỡng cho trẻ 3 tHổi -2:©225cc2225szccvcvxzeeecvseessrr 27Hình 5.1 Sơ đồ Use-case tổng quát
Hình 5.2 Sơ đồ Use-case chức năng bồ sung
Hình 5.3 Hình minh họa hoạt động Use-case Đăng ký tài khoản -5ec+ce+ 32
Hình 5.4 Sơ đồ tuần tự Đăng Ïý s22: 222 t2 22211221211 22111122211 11 Eccer 33
Hình 5.5 Hình minh họa hoạt động Use-case Đăng nhập tài khoản -.-‹ - 39
Hình 5.6 Sơ đồ tuần tự Đăng nhập -22222c 2222222112221 ceErcrrer 40
Hình 5.7 Hình minh họa hoạt động Khởi tạo em Đé - - + +5 c++e+v+sevxererrveeer 44
Hình 5.8 Sơ đồ tuần tự Khởi tạo em bÉ cccccrrtttEttttrtrrrrrrrrirrriiirrriiriie 45
Hình 5.9 Hình minh họa hoạt động Use-case Hiển thị thông tin chung
Hình 5.10 Sơ đồ tuân tự Hiển thị thông tin chung
Hình 5.11 Hình minh họa hoạt động Use-case Hiển thị chỉ số khối cơ thể „52
Hình 5.12 Sơ đồ tuân tự Hiển thị chỉ số khối „52Hình 5.13 Hình mình họa hoạt động Use-case Cập nhật chỉ số khối cơ thể 55
Hình 5.14 Sơ đồ tuân tự Cập nhật chỉ số khối ©2cs:c5222xccSEESserrtrrvrerrrsecrrr 56Hình 5.15 Hình minh họa hoạt động Use-case Thông báo tình trạng chỉ số khói cơ thể 59
Hình 5.16 Sơ dé tuân tự Thông báo tính trạng chỉ số khối cơ thể -c2 60
Hình 5.17 Hình minh họa hoạt động Use-case Hiển thị chỉ số dinh dưỡng 63Hình 5.18 Sơ dé tuần tự Hiển thị chỉ số dinh L2 nnẼẺn® 63
Hình 5.19 Hình minh họa hoạt động Use-case Cập nhật lượng thức ăn tiêu thụ 66
Hình 5.20 Sơ dé tuân tự Cập nhật lượng thức ăn tiêu thụ -c c-5cccccseccccccsrr 67
Hình 5.21 Hình minh họa hoạt động Use-case Cập nhật chỉ số dinh dưỡng 70Hình 5.22 Sơ đô tuân tự Cập nhật chỉ số dinh L8 Ẻ00nẼẺnẺẼ88® 70
Trang 27Hình 5.23 Hình minh họa hoạt động Use-case Thông báo tình trạng chỉ số dinh dwéng74
Hình 5.24 Sơ đồ tuân tự Thông báo tình trạng chỉ số dinh dưỡng 74Hình 5.25 Hình minh họa hoạt động Use-case Thống kê lịch sử bữa ăn 71
Hình 5.26 Sơ đô tuân tự Thong kê lịch sử bữa ăn -2 5525cccccxsetrtrrkecrrrrreccrrr 71Hình 5.27 Hình minh họa hoạt động Use-case Lên kế hoạch cho bữa ăn tiếp theo
Hình 5.28 Sơ dé tuần tự Lên kế hoạch cho bữa ăn tiếp theo
Hình 5.29 Hình minh họa hoạt động Use-case Cẩm nang chăm sóc trẻ
Hình 5.30 So đ tuần tự Cẩm nang chăm sóc trẻ
Hình 5.31 Hình minh họa hoạt động Use-case Chatbot hỗ trợ người dùng 88Hình 5.32 Sơ đô tuân tự Chatbot hỗ trợ người dùng -:©cccccccccxccccccseecsrr 89
Hình 5.33 Màn hình đăng nhập) cecccscececesesscessesessceseeesseseseseseecsssseseseseeeeseseeeseeeeeseseeeneaeee 98 Hình 5.34 Màn hình đăng Èj ccct Set HH HH giết 99 Hình 5.35 Màn hình trang CÏHỦ SE ‡ESEk+kEkEkEEEEKEEETH Hit 00 Hình 5.36 Màn hình khởi tạo er ĐẺ c5: St St E E3 St 2E EEEEEEEEEEEkEekskkrkrrerksevee 01
Hình 5.37 Màn hình Hiển thị Thông tin chung -©2cczs2cc+stecrseerrrrxeecee 02
Hình 5.38 Màn hình hiển thị, cập nhật và thông báo tình trạng BMI 03Hình 5.39 Màn hình hiển thị, cập nhật và thông báo tình trạng dinh dưỡng 04
Hình 5.40 Màn hình gợi ý Dita lI St St như 05
Hình 5.41 Màn hình thống kê bữa ăn -cccccc c2 SE 06
Hình 5.42 Màn hình xem kế hoạch bữa ăn tiếp theo . ©ccccccsccccccecccveercrrs 07Hình 5.43 Màn hình cẩm nang chăm sóc trẻ - dạng danh sách chủ đê 08
Hình 5.44 Màn hình cẩm nang chăm sóc trẻ - dạng danh sách bài viết 09
Hình 5.45 Màn hình cẩm nang chăm sóc trẻ - dạng chỉ tiết bài viẾt 10
Hình 5.46 Màn hình chat — dang C€H€F - + + St kEE‡E‡EEEEEEEEEEEeEkrkrkekekerkrkrkrkee 11 Hình 5.47 Màn hình chal sec rớt 12 Hình 6.1 Utility MÍQYỦN thề HT TH HH TH HH ghê 13 Hình 6.2 Cosine SÏIHÌÏAFÏEV - 5-5-5 Set Sky 15
Hình 6.3 Sự tương đông giữa hai VeCtOF ssscccssssscssssssssssssssssssssssssssssssesssssssssssssssssssesessseess 16
Hình 6.4 Kết quả load dữ liệu Content-based icccccscsssssessssssvssesssvssissssssissssssiesssssseceessseees 18
Trang 28Hình 6.5 Ví du feature vector CUA CÁC ÌE€HH cv SềEEk+E+tEeEtEeEeketrtrrerrrrkseree 19
Hình 6.6 Kết quả dự đoán theo Content-based ccscccccssssissssssssssssssssesssssssssssssssssesesssesss 19
Hình 6.7 RMSE của ConteHt—(S€d - - - S5 Sk*EkEkEEEEEEEkEHHTH HH tr it 19
Hình 6.8 Bảng số sao user u rate Cho item [ cescccsssssssssssssesssvsssessssisssssssssssssiesesssseceessseees 20
Hình 6.9 Mô tả các bước thực hiện User-user Collaborative Filtering 122
Hình 6.10 Kết quả dự đoán theo Neighborhood-based Collaborative Filtering 25
Hình 6.11 RMSE của Neighborhood-based Collaborative Filtering 25
Hình 6.12 Màn hình gợi ý sản phẩm được nhiều người bình chọn tích cực nhất 27
Hình 6.13 Màn hình gợi ý sản phẩm tương tự 128
Trang 29DANH MỤC BANG
Bảng 3.1 So sánh giữa Content-based va Collaborative FÌÌfering - + 21 Bang 5.1 Danh sách CAC @CÍOFF - - 5S B*EkSk*éEE+EEEEEkEEEK TT H111 ry 29 Bảng 5.2 Danh sách các Use-CASC th v*t TT nghiep 30 Bảng 5.3 Đặc tả Use-case Đăng ký tài khOẢH St t+tseEkEekekerrrerrreerkekrree 31 Bang 5.4 Business Rules Đăng ký tài khOẢH - - «5+5 S+Sk+t+keEtEkEkErkekerkrerrkrkrree 37 Bảng 5.5 Đặc tả Use-case Đăng nihậpD + *EEEEEE*E TH tr re 38 Bảng 5.6 Business Rules Đăng nhập tài khOỞH Set seEekeeeerererererrkerrree 43 Bang 5.7 Đặc ta Use-case khởi tạo em Đé -c- SSSESk*k+kEEtkkEkrkEkekekrkrrkrkrkeri 43 Bang 5.8 Business Rules Khởi tao em Đé - - -t+cE+EEEkE*kE HH tr rêc 47
Bang 5.9 Đặc tả Use-case hiển thị thông tin chung ccccc5cccccccSccxerrrreeerrrr 48Bang 5.10 Business Rules Hiển thị thông tin chung -5ccccccccccsecsccrseecrrr 50
Bang 5.11 Dac ta Use-case hiển thị chỉ số KNOivcecccccscscscssseessesssesssvessesssessessessvsseesseessees 51Bang 5.12 Business Rules Hiển thị chỉ số khối occcsscccsssscssssssssssssvssssssssssssssssesssssstscsssseeses 53
Bảng 5.13 Đặc tả Use-case cập nhật chi số khó
Bang 5.14 Business Rules Cập nhật chi số khói
Bang 5.15 Đặc tả Use-case thông báo tinh trạng chi só khối
Bang 5.16 Business Rules Thông báo tình trạng chỉ số khối cơ thể „62Bang 5.17 Đặc tả Use-case hiển thi chỉ số dinh duỡng, -©2cccccc5cccccscccccccrrr 62
Bang 5.18 Business Rules Hiển thị chỉ số dinh dưỡng -:©2cccccccccvsecsccseecsrr 65
Bang 5.19 Đặc tả Use-case cập nhật lượng tiêu thụ thức ăn - - -=+5<5<+c+x+c+> 65 Bảng 5.20 Business Rules Cập nhật lượng thức ăn tiêu tÏH c-cc«cccsceeveveee 69
Bang 5.21 Đặc tả Use-case cập nhật chỉ số dinh dưỡng -:-©2ccczc5c5sccecc2 69Bang 5.22 Business Rules Cập nhật chỉ số dinh dưỡng cccccccccsccccccececcrr 73
Bang 5.23 Đặc tả Use-case thông báo tình trạng chỉ số dinh dưỡng - 73Bang 5.24 Business Rules Thông báo tính trạng chỉ số dinh dưỡng - 76
Bảng 5.25 Đặc tả Use-case thong kê bia ăn . ©2252:22222+ccSEESSztcEcEvrrerrrsrerrrr 76Bang 5.26 Business Rules Thong kê lịch sử bia ăn -cc:©725czc2ccvcceccvscccrrr 78
Trang 30Bang 5.27 Đặc tả Use-case lên kế hoạch cho bữa ăn tiếp theO c +cccccccccz 79
Bang 5.28 Business Rules Lên kế hoạch cho bữa ăn tiếp theo - -c -2 82Bảng 5.29 Đặc tả Use-case Cẩm nang chăm Sóc trẻ c::©7c5cz22cc+zsvccvsscesrr 83
Bang 5.30 Business Rules Cẩm nang chăm sóc em bé ¿-©2ccczcc2ccvecvcccseerrrr 86
Bang 5.31 Đặc ta Use-case Chatbot hỗ trợ người dùng 87Bang 5.32 Business Rules Chatbot hỗ trợ người dùng
125
126
Bảng 6.1 So sánh kết quả RMSE
Bảng 6.2 Nhận xét Content-based và Neighborhood-based.
Trang 31DANH MỤC TU VIET TAT
Từ viết tắt Từ đầy đủ Giải thích
CSDL Cơ sở dữ liệu | Cơ sở dữ liệu cho ứng dụng
Các đoạn code đã được viết sẵn, cấu thành nên một bộkhung và các thư viện lập trình được đóng gói Cung cấp
Framework các tinh năng có sẵn như mô hình, API và các yếu tố
khác để tối giản cho việc phát triển các ứng dụng web
ML Machine Máy học
Learning
Trí thông minh nhân tạo - Sự thông minh của máy móc
AI Artificial do con người tạo ra, đặc biệt tạo ra cho máy tinh, robot,
Intelligence \ :
hay các máy móc có các thành phân tính toán điện tử
Ngôn ngữ truy van mang tính cau trúc, là một loại ngôn
Structured À - F SQL Query ngữ may tinh pho biên dé tạo, sửa, và lay dữ liệu từ một
Language | hệ quản trị cơ sở dữ liệu quan hệ.
Trang 32TÓM TAT KHÓA LUẬN
Khóa luận “XÂY DUNG UNG DUNG CHAM SOC SỨC KHỎE EM BE” gồm 07
chương:
e_ Chương 1: Giới thiệu về dé tài, đưa ra lý do chọn dé tài Thông qua việc khảo sát
và đánh giá các ứng dụng tương tự, đưa ra những điểm nồi bật của các ứng dụng đó
từ đó áp dung vào ứng dụng của nhóm, đồng thời đưa ra những chức năng mà ứngdụng của nhóm nồi bật hơn so với các ứng dụng trước Ngoài ra, chương 1 cũng đề
cập đến đối tượng nghiên cứu, phạm vi dé tài Và cuối chương 1 là phần bố cục của
khóa luận.
e Chương2: Trinh bày các khảo sát liên quan đến hiện trạng, tồn động của hiện trang
và cách giải quyết van dé của ứng dụng với hiện trạng
e Chương 3: Giới thiệu về các công nghệ, các thuật toán, mà nhóm sử dụng để
xây dựng ứng dụng, cũng như các công cụ dé tạo ứng dụng như Firebase, Flutter,
Dart,
e Chuwong 4: Tim hiểu các co sở lý thuyết về chất dinh dưỡng, mức độ phát triển thé
chất của trẻ nhỏ
e _ Chương 5: Xây dựng hệ thống của ứng dụng, phân tích yêu cầu của người dùng từ
đó thiết kế cơ sở dữ liệu và thiết kế giao diện dựa trên kết quả đã phân tích
e _ Chương 6: Tập trung trình bày thuật toán gợi ý sản phẩm Các kiến thức cần nắm,
các loại gợi ý, các số đo, thực nghiệm và kết quả thực nghiệm, sau đó áp dụng vào
ứng dụng chăm em bé.
« Chuwong 7: Kết luận, tổng kết những thành quả đã đạt được thông qua quá trình thực
hiện khóa luận, từ đó đưa ra ưu điểm cũng như khuyết điểm của khóa luận và đưa
Trang 33Chương 1 GIỚI THIỆU CHUNG
1.1 Lý do chọn đề tài
Ở cuộc sống thành thị hiện tại, có rất nhiều gia đình vừa phải đi làm vất vả hằngngày, vừa phải chăm lo cho con cái của họ Những bậc bó mẹ trẻ tuổi vấp phải rất nhiều
khó khăn trong việc chăm sóc con khi làm việc từ sáng đến chiều ở công ty, chỉ có buổi
tối mới đành được thời gian ít ỏi trong ngày dé chăm sóc con Vì thế nên sự quan tâm
về dinh dưỡng, thể chất con người và tiêm phòng cho con khá hời hợt và qua loa
Sau thời gian tìm hiểu và cân nhắc, nhóm thấy vấn đề mang tính thực tế và rất thiếtyếu, nên đã chọn vấn đề này để nghiên cứu và phát triển khóa luận
1.2 Tính mới/khác biệt về chức năng của đề tài so với một số ứng dụng thương mại
điện tử hiện nay
- Thêm ý tưởng:
e Phan tích từ thức ăn người dùng cho em bé ăn thành các thành phần dinh dưỡng
« Goi ý người dùng thức ăn cho phù hợp với hàm lượng dinh dưỡng mỗi ngày dé giúp
bé phát triển tốt
1.3 Đối tượng nghiên cứu
- Người làm đề tài: Sinh viên đang học tập và nghiên cứu tại Trường Đại học Côngnghệ Thông tin Thành phố Hồ Chí Minh
- Các công nghệ:
« Str dụng ngôn ngữ Dart để dùng framework Flutter tạo thành ứng dụng mobile
« Str dụng công nghệ Storage của Firebase dé lưu trữ dữ liệu
- Đối tượng trong phạm vi đề tài hướng đến:
Trang 34e _ Nhóm đối tượng chủ yếu của phần mềm chính là các bậc phụ huynh có con nhỏ
dưới 3 tuổi, hay người chăm sóc những trẻ nhỏ trong độ tuổi từ lúc mới sinh đến 3
tuôi.
e Những người chăm sóc trẻ nhỏ hay các bậc phụ huynh ở thành thị, không có thời
gian ghi nhớ những dinh dưỡng đã cung cấp cho con, hay lịch sử tiêm phòng của
con mình Đối với những đối tượng này, họ cần những ứng dụng có thê giúp họ ghi
nhớ và giúp đỡ họ trong việc chăm sóc con của mình.
e Chính vì thế nên ứng dụng nay là một trợ thủ đắc lực giúp các bậc bố mẹ có thể
kiểm soát được sự chăm sóc cho con cái, làm chủ thời gian hơn Thông qua đó người
sử dung ứng dụng có thê ghi lại toàn bộ sự phát triển của con mình đề cung cấp cho bác sĩ nếu như bé có bị bệnh hay gặp phải vấn đề về dinh dưỡng.
1.4 Phương pháp nghiên cứu
e Trước khi đi vào nghiên cứu chỉ tiết cụ thể, nhóm em đã lên kế hoạch tìm hiểu rất
nhiều các ứng dụng có san trên thị trường Các ứng dụng này đa số đều rất mới mẻ, chủ yếu là đáp ứng nhu cầu chăm sóc dinh dưỡng và cơ thé cho người từ 3 tudi trở lên Chính vì thế để tạo ra sự khác biệt và đáp ứng những nhu cầu chăm sóc cần thiết cho trẻ em dưới 3 tuổi, nhóm nhóm em đã nghiên cứu tạo ra một ứng dụng có thê làm điều này.
e Nhóm em đã thực hiện dé tài này bằng ngôn ngữ Dart với công nghệ ứng dụng
Flutter.
e _ Nhóm em cũng đã tuân theo những quy chuẩn phát triển phần mềm và làm hoàn
thiện phần mềm thông qua các bước sau:
o Bước 1: Nhóm tiến hành khảo sát người dùng chỉ tiết, thu thập những nhu
cầu người dùng và những khó khăn của người dùng khi chưa có phần mềm.
o Bước 2: Nhóm nghiên cứu các sản phẩm hiện có sẵn trên thị trường xem có
đáp ứng được những nhu cầu thực tại không, khó khăn của phần mềm hiện
tại là gì.
Trang 35Bước 3: Nhóm phân tích và đặc tả phần mềm theo các mô hình có sẵn về phát triển phần mềm Vẽ các Use-case cho chức năng và Workflow để nhóm
cùng thực hiện.
Bước 4: Nhóm thiết kế cơ sở dữ liệu và chọn các phương pháp hiện thực cơ
sở dữ liệu.
Bước 5: Thiết kế sơ bộ những chức năng của phần mềm trong tương lai.
Bước 6: Nhóm lựa chọn ngôn ngữ lập trình dé hiện thực phần mềm của nhóm thành sản phẩm Qua các sự hội ý, họp hành, nhóm quyết định chọn sử dụng ngôn ngữ dễ học và tiện lợi Dart thông qua framework Flutter dé thực hiện
việc lập trình.
Bước 7: Nhóm thiết kế Giao điện cho ứng dụng trên ứng dụng hỗ trợ thiết kế
Figma.
Bước 8: Nhóm tiến hành cài đặt hoàn thiện cho phần mềm.
Bước 9: Nhóm tiến hành sửa chữa các lỗi va nâng cấp một số chức năng có
trong phân mêm.
Bước 10: Nhóm hoàn thành phần mềm và các tài liệu báo cáo.
Trang 36Chương 2 TONG QUAN
2.1 Khao sat hién trang
2.1.1 Hiện trang chăm sóc trẻ em của bố me ở thành thị
Trẻ em ở thành thị được chăm sóc và giúp đỡ rất nhiều ở môi trường trường học và môi
trường bệnh viện Trẻ được quan tâm từ sức khỏe ăn uống đến các hoạt động thể chất Đa
số thành thị đều có các cơ sở y tế, cơ sở tiêm ngừa, trung tâm chăm sóc dinh dưỡng cho
trẻ Cha mẹ có thê đưa trẻ đến các cơ sở dé nhận lời khuyên từ chuyên gia Với mức sống
hiện đại, các vật dụng chăm sóc trẻ đều có sẵn trong không gian mỗi gia đình từ đó làmcho sức khỏe của trẻ trở nên tốt hơn rất nhiều, phát triển nhanh và ít bệnh tật Nhưng áp
lực về kinh tế đã làm cho các gia đình ở thành thị dần không còn nhiều thời gian chăm sóc
con cái.
2.1.2 Hiện trạng các ứng dụng chăm sóc trẻ em
Các ứng dụng chăm sóc trẻ em trên thị trường chủ yếu tập trung vào việc giúp cho các
bậc phụ huynh giảm tải thời gian chăm sóc cũng như là một quyền số ghi chú giúp ghi nhớcác hoạt động của con trẻ Các ứng dụng này còn cung cấp rất nhiều kiến thức chăm sóc
thể chất con người và tiêm phòng cho con khá hời hợt và qua loa
Các ứng dụng thì chủ yếu là giúp ghi nhớ các hoạt động của trẻ và chủ yếu là cung cấpcác kỹ năng chăm sóc trẻ rất khô cứng và chưa linh hoạt
Trang 372.2.2 Các vấn đề tập trung trong đề tài
Đề tài của nhóm em tập trung giúp người dùng có thể chăm sóc trẻ một cách chủ động
hon bằng cách gợi ý người dùng cung cấp dinh đưỡng cho trẻ một cách day đủ nhất Lưu
lại chỉ số khối cơ thé và chỉ số dinh dưỡng thường xuyên giúp bố mẹ nhận thấy được cơthể trẻ lớn lên theo từng ngày
Đề tài nhóm em còn cung cấp kiến thức chăm sóc trẻ em một cách linh động, chủ độnghơn Người dùng chỉ cần thực hiện các bước đơn giản để có được kiến thức mình mong
muốn
Đồng thời đề tài nhóm em còn ứng dụng khoa học máy tính về gợi ý sản phẩm người
dùng, giúp cho các bậc phụ huynh lựa chọn tốt hơn trong việc mua các sản phẩm chăm
sóc con trẻ.
Trang 38Chương 3 TÌM HIẾU CÔNG NGHỆ UNG DỤNG TRONG DE TÀI
3.1 Tổng quan về công nghệ Flutter
Trong dé tài này, sản phẩm sẽ được viết trên framework là Flutter Vì vậy nhóm em cầntìm hiểu về công nghệ này
3.1.1 Khái niệm
Flutter là nền tảng phát triển ứng dụng đa nền tảng cho iOS và Android do Google pháttriển Flutter sử dụng ngôn ngữ Dart cũng do Google phát triển và Flutter cũng đã được sử
dụng để tạo ra các ứng dụng native cho Google
Flutter hỗ trợ rất nhiều cơ sở dữ liệu như: MySQL, Informix, Oracle, Sybase, Solid,
PostgreSQL, Generic ODBC [8].
3.1.2 Lich sir phat trién
Phiên ban đầu tiên của Flutter được gọi là “Sky” và chạy trên hệ điều hành Android
Nó được công bố tại hội nghị nhà phát triển Dart 2015, với dự định ban đầu để có thể kết
xuất ôn định ở mức 120 khung hình trên giây Trong bài phát biểu chính ở hội nghị GoogleDeveloper Days tại Thượng Hải, Google công bố phiên bản Flutter Release Preview 2, đây
là phiên bản lớn cuối cùng trước Flutter 1.0 Vào ngày 4 tháng 12 năm 2018, Flutter 1.0 đãđược phát hành tại sự kiện Flutter Live, là phiên bản “ổn định” đầu tiên của khung ứng
dung nay [8].
3.1.3 Ưu điểm của Flutter
© Native đúng nghĩa: Với Flutter, nhóm em có thé giao tiếp gần như trực tiếp với hệ
thống Bộ Engine để render UI hoàn toàn thuộc Flutter, vì vậy nhóm em có thể tạo
ra bắt kỳ hiệu ứng và đồ hoạ nào cho cả 2 nền tảng iOS và Android
e _ Ngôn ngữ kiểu tĩnh nhưng với cú pháp hiện đại: Tương tự như JS, Python hay Java,
Trang 39(Compiler) linh động khi dùng AOT (cho sản phẩm cuối) và JIT (cho quá trình phát
triển với Hot Reload)
¢ Hot reload: Khi làm việc với những thứ liên quan đến UI thì Hot Reload thật khiến
cho lập trình viên dễ chịu, càng tuyệt hơn khi Flutter cung cấp khả năng ghi nhớstate của ứng dụng Hot Reload cung cấp cho nhóm em trải nghiệm tuyệt vời khi
lập trình Flutter, so với React Native thì điểm này Flutter hơn
e Kiểm soát chặt chẽ hiệu suất của ứng dung: Flutter có thể chạy được giả lập mobile
trên trang web, đây là một điều vô cùng thuận tiện cho việc phát triển N goai ra, các
chỉ số hiệu suất được hỗ trợ sẵn cũng giúp cho các developer kiểm soát hiệu suất
của ứng dụng một cách chặt chẽ.
e_ Dễ dang nâng cấp: Mặc du cách cài đặt ban đầu của Flutter là tải về tập tin nén,
nhưng khi cập nhật lên phiên ban mới thi chi cần dòng lệnh là đủ, và khá dé dàng
Ứng dụng sau khi nâng cấp phiên bản Flutter chạy không gặp trở ngại gì cả Đây làmột điểm cộng khá lớn khi xét về độ trưởng thành Khi sử dụng React Native, các
phiên bản từ 0.25, 0.48 có những thay đồi phải sửa bằng tay mới chạy, rất khó chịu
[8].
Kết luận: Với những tính năng ưu việt của minh, Flutter vẫn, sé và dang là một trong những
ngôn ngữ lập trình phổ biến nhất ngày nay và trong tương lai, được các lập trình viên rất
ưa chuộng, va sử dung rộng rãi trên toàn thế giới [8]
3.2 Ngôn ngữ Dart
3.2.1 Giới thiệu ngôn ngữ Dart
Dart là ngôn ngữ lập trình đa mục đích ban đầu được phát triển bởi Google và sau đóđược Ecma (ECMA-408) phê chuẩn làm tiêu chuẩn Nó được sử dụng để xây dựng các ứng
dụng web, server, máy tính để bàn và thiết bị di động Dart là một ngôn ngữ hướng đối
tượng, được xác định theo lớp, với cơ chế garbage-collected, sử dụng cú pháp kiểu C dé
dịch mã tùy ý sang JavaScript Nó hỗ trợ interface, mixin, abstract, generic, static typing
Trang 40và sound type (2 cái cuối có thể hiéu là type-safe) Dart là ngôn ngữ mã nguồn mở và miễn
phí, được phát triển trên GitHub Hiện nay Dart đã release phiên bản 2.23.2.2 [6]
3.2.2 Ưu điểm của Dart
e _ Năng xuất: Cú pháp Dart rõ ràng và súc tích, công cụ của nó đơn giản nhưng mạnh
mẽ Type-safe giúp nhóm em xác định sớm các lỗi tỉnh tế Dart có các thư viện cốtlõi và một hệ sinh thái gồm hàng ngàn package
e Nhanh: Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn dé có được dự đoán
hiệu suất cao và khởi động nhanh trên các thiết bị di động và web
e Kha năng di động cao: Dart biên dịch thành mã ARM va x86, để các ứng dụng di
động của Dart có thể chạy tự nhiên trên iOS, Android và hơn thế nữa Đối với các
ứng dụng web, chuyền mã từ Dart sang JavaScript
¢ Dé tiếp cận: Dart quen thuộc với nhiều nhà phát triển hiện có, nhờ vào cú pháp và
định hướng đối tượng không gây ngạc nhiên của nó
e Reactive: Dart rất phù hợp với lập trình Reactive, với sự hỗ trợ để quản lý các đối
tượng tôn tại trong thời gian ngắn, chẳng hạn như các widget UI, thông qua phân bổ
đối tượng nhanh Dart hỗ trợ lập trình không đồng bộ thông qua các tính năng ngônngữ và API sử dụng các đối tượng Future và Stream [6]
3.3 Ứng dụng Figma
Dựa trên kinh nghiệm đã thực hiện từ những khóa luận trước, nhóm em quyết định
chọn Figma làm ứng dụng thiết kế giao diện khóa luận
3.3.1 Giới thiệu Figma
Figma là một công cụ thiết kế vector và thử nghiệm sản phâm website và ứng dụng
Công cụ dựa trên nền tảng đám mây để người dùng có thể cộng tác trong các dự án và làmviệc ở bất cứ đâu [19]