Tải bản đầy đủ (.pdf) (118 trang)

Khóa luận xây dựng ứng dụng chăm sóc sức khỏe

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.15 MB, 118 trang )

ĐẠ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Ệ PHẦN MỀM

HỒ HỮU THỊNH
LÊ ĐỨC TRUNG

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG CHĂM SÓC SỨC KHỎE
BUILDING A HEALTHCARE APPLICATION

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM


ĐẠ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Ệ PHẦN MỀM

HỒ HỮU THỊNH – 19522275
LÊ ĐỨC TRUNG – 19522422

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG CHĂM SÓC SỨC KHỎE
BUILDING A HEALTHCARE APPLICATION

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM


GIẢNG VIÊN HƯỚNG DẪN
THS. THÁI THỤY HÀN UYỂN


DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

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 Đại học Công nghệ Thông tin.

ngày

1. Chủ tịch.
2. Thư ký.
3. Ủy viên.
4. Ủy viên.

3


ĐHQG TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI 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…..tháng…..năm……..

NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)

Tên khóa luận:
XÂY DỰNG ỨNG DỤNG CHĂM SĨC SỨC KHỎE

Nhóm SV thực hiện:

Cán bộ hướng dẫn:

Hồ Hữu Thịnh

19522275

Lê Đức Trung

19522422

ThS. Thái Thụy Hàn Uyển

4


Đánh giá Khóa luận:

1. Về cuốn báo cáo:
Số trang:


Số chương:

Số tài liệu tham khảo:

Sản phẩm:

Một số nhận xét về hình thức cuốn báo cáo:
……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………

2. Về nội dung nghiên cứu:
● Tìm hiểu về quy trình phát triển ứng dụng di động Android và các nguyên lý hoạt động của
nền tảng.
● Nghiên cứu về các công nghệ mới như Clean Architecture, Jetpack Compose và MapBox
API để xây dựng ứng dụng có cấu trúc rõ ràng, dễ bảo trì và mở rộng.
● Khảo sát và phân tích các cơng nghệ nhận diện hoạt động như Android Activity
Recognition Transition API để cung cấp thông tin chính xác về hoạt động thể chất của người
dùng.
● Nghiên cứu và tích hợp DialogFlow để xây dựng chat bot hỗ trợ người dùng với kiến thức
về BMI, Covid-19 và bài tập bổ sung.
● Sử dụng Firebase để quản lý tài khoản người dùng, đồng bộ dữ liệu và cung cấp tính năng
giao tiếp thời gian thực.
● Đánh giá và đo lường hiệu năng của ứng dụng trong việc đếm bước chân, tính chỉ số BMI
và cung cấp thơng tin dinh dưỡng và bài tập phù hợp.

5



● Mục tiêu của nghiên cứu là áp dụng những kiến thức và công nghệ tiên tiến vào việc xây
dựng một ứng dụng di động hỗ trợ chăm sóc sức khỏe hiệu quả, mang lại trải nghiệm tốt cho
người dùng và đáp ứng nhu cầu sức khỏe cá nhân của họ.

3. Về chương trình ứng dụng:
Chương trình ứng dụng sẽ được xây dựng trên nền tảng Android, sử dụng ngôn ngữ lập trình
Kotlin. Đồng thời sẽ áp dụng các cơng nghệ và thư viện như Clean Architecture, Jetpack
Compose, MapBox API, DialogFlow, Android Activity Recognition Transition API, Firebase
để đảm bảo tính ổn định, hiệu năng cao và trải nghiệm người dùng tốt.

4. Về thái độ làm việc của sinh viên:
……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………

Đánh giá chung:
……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………

6


Điểm từng sinh viên:
Hồ Hữu Thịnh:


/10

Lê Đức Trung:

/10
Người nhận xét
(Ký tên và ghi rõ họ tên)

7


ĐHQG TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC CÔNG

Độc Lập - Tự Do - Hạnh Phúc

NGHỆ THƠNG TIN

TP. HCM, ngày…..tháng…..năm……..

NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)

Tên khóa luận:
XÂY DỰNG ỨNG DỤNG CHĂM SĨC SỨC KHỎE


Nhóm SV thực hiện:

Cán bộ phản biện:

Hồ Hữu Thịnh

19522275

Lê Đức Trung

19522422

8


Đánh giá Khóa luận:

1. Về cuốn báo cáo:
Số trang:

Số chương:

Số tài liệu tham khảo:

Sản phẩm:

Một số nhận xét về hình thức cuốn báo cáo:

……………………………………………………………………………………………


……………………………………………………………………………………………

……………………………………………………………………………………………

2. Về nội dung nghiên cứu:
……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………

3. Về chương trình ứng dụng:
……………………………………………………………………………………………

……………………………………………………………………………………………

9


……………………………………………………………………………………………

4. Về thái độ làm việc của sinh viên:
……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………

Đánh giá chung:
……………………………………………………………………………………………


……………………………………………………………………………………………

……………………………………………………………………………………………

Điểm từng sinh viên:
Hồ Hữu Thịnh:

/10

Lê Đức Trung:

/10
Người nhận xét
(Ký tên và ghi rõ họ tên)

10


LỜI CẢM ƠN

Sau hơn 4 năm học tập và rèn luyện tại Trường Đại học Công nghệ Thông tin, được sự tận
tình giảng dạy và giúp đỡ của quý thầy cô, đặc biệt là quý thầy cô của khoa Công nghệ
Phần mềm, chúng em đã gặt hái được rất nhiều kiến thức nền tảng bổ ích, có thể áp dụng
vào luận văn cũng như áp dụng trong những chặng đường tiếp theo sau này.
Chúng em xin chân thành cảm ơn quý thầy cô của trường Đại học Công nghệ Thông tin
nói chung, q thầy cơ của khoa Cơng nghệ Phần mềm nói riêng, và đặc biệt là cơ Thái
Thụy Hàn Uyển đã tận tình hướng dẫn và đóng góp ý kiến để chúng em có thể hồn thành
khóa luận này một cách tốt nhất.
Bên cạnh đó, nhóm xin gửi lời cảm ơn đến các bạn cùng lớp đã có những lời góp ý, động

viên để nhóm có thêm động lực thực hiện khóa luận trong khoảng thời gian khó khăn này.
Trong suốt quá trình thực hiện luận văn, chúng em đã tìm hiểu cũng như cố gắng hồn
thành tốt nhất có thể nhưng vẫn khơng thể tránh được một số thiếu sót. Do đó, nhóm chúng
em rất mong nhận được sự thơng cảm và những ý kiến đóng góp chân thành từ quý thầy
cô và các bạn. Một lần nữa, nhóm chúng em xin chân thành cảm ơn mọi người.

Thành phố Hồ Chí Minh, tháng 6 năm 2023

Hồ Hữu Thịnh
Lê Đức Trung

11


ĐHQG TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI 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

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Xây dựng ứng dụng hỗ trợ chăm sóc sức khỏe

Cán bộ hướng dẫn: ThS. Thái Thụy Hàn Uyển

Thời gian thực hiện: Từ tháng 02/2023 đến tháng 06/2023

Sinh viên thực hiện:
Hồ Hữu Thịnh

19522275

Lê Đức Trung

19522422

12


Nội dung đề tài:
Mục tiêu:
● Xây dựng một ứng dụng hoàn chỉnh giúp người dùng theo dõi chỉ số hoạt động
của cơ thể.
● Gợi ý các bài tập tùy theo thể trạng của từng người dùng, từ đó giúp cải thiện
những thiếu sót về thể chất cũng như giúp người dùng có một cơ thể cân đối hơn.
● Recommend món ăn và lượng calo cần nạp vào dựa trên số đo cơ thể
● Tạo chat bot cung cấp kiến thức cho user về bài tập, chỉ số BMI, Covid-19,...
● Nâng cao kỹ năng chuyên môn về phát triển ứng dụng android, cũng như áp
dụng clean architecture.

13


Phạm vi:
Phạm vi thực hiện: Ứng dụng di động - Android
Phạm vi chức năng:
● Hỗ trợ người dùng theo dõi các hoạt động thường nhật của cơ thể

● Hỗ trợ cung cấp cho người dùng những bài tập nâng cao sức khoẻ
● Hỗ trợ người dùng theo dõi chỉ số BMI
● Hỗ trợ người dùng theo dõi lượng nước uống hàng ngày
● Hỗ trợ người dùng quản lý lượng calo nạp vào cơ thể mỗi ngày
● Hỗ trợ người dùng chế biến các món ăn dinh dưỡng mỗi ngày
● Hỗ trợ người dùng quản lý tài khoản
Phương pháp thực hiện:
● Thực hiện đề tài theo các bước:
○ Phân tích đề tài.
○ Nghiên cứu các chức năng yêu cầu cần có cho một ứng dụng di động liên
quan đến sức khoẻ.
○ Phân tích các yêu cầu đã thu thập được.
○ Thiết kế cơ bản các yêu cầu.
○ Nghiên cứu công nghệ để áp dụng.
○ Chia nhỏ quá trình thực hiện (2 tuần), họp tổng kết mỗi 2 tuần để nắm bắt
tiến độ đồng thời sử dụng công cụ notion để quản lý cơng việc.
○ Kiểm thử và hồn thiện.
● Những cơng nghệ được sử
dụng:
○ Front-end:
■ Android Kotlin
■ Thư viện Jetpack Compose
■ Clean Architecture kết hợp MVVM

14


○ Back-end:
■ Room Database
■ Firebase

■ DialogFlow
■ Spoonacular API
○ Tools khác:
■ Github
■ Figma
■ Notion
■ Ms Team
■ …

15


Kết quả dự kiến:
● Giao diện ứng dụng đẹp, dễ hiểu, dễ dùng.
● Các chức năng có độ hồn thiện cao, tránh gây khó hiểu cho người dùng.
● Tốc độ phản hồi cao, tránh tình trạng giật lag hay bug phần mềm.
● Có khả năng nâng cấp cũng như bảo trì dễ dàng.
● Thuần thục hơn về cách tạo ra một ứng dụng di động Android với ngôn ngữ lập trình
Kotlin.
● Hiểu rõ hơn về Kotlin Flow và phương pháp lập trình reactive programming.
● Thuần thục hơn về cách sử dụng cũng như áp dụng framework UI Jetpack Compose
thay thế cho XML.
● Hiểu hơn về kiến trúc Clean Architecture và cách áp dụng nó để xây dụng một ứng
dụng Android.
● Biết, hiểu rõ về ứng dụng DialogFlow cũng như xây dựng chat bot dựa trên công
nghệ này

16



Kế hoạch thực hiện

Thời gian
06/02 – 19/02
(Tìm hiểu cơng nghệ)

Cơng việc
- Tìm hiểu về cơng nghệ thực

Phụ trách
Trung, Thịnh

hiện (Android Kotlin,
Firebase, Clean Architecture) Tìm hiểu về chatbot sử dụng
DialogFlow, Recommendation
System

20/02 – 05/03
(Phân tích yêu cầu)

- Phân tích nhu cầu sử dụng ứng

Trung, Thịnh

dụng chăm sóc sức khỏe của
người dùng.
- Tham khảo các chức năng của
những ứng dụng đã có trên thị
trường.
- Họp và chốt định hướng của ứng

dụng, viết ra các chức năng cần
làm và các chức năng nâng cấp
của những app

đã có (khắc

phục những logic chưa hợp lý)
- Chỉnh sửa logic của những
chức năng đã có trước đó.

06/03 – 19/03
(Xây dựng giao diện)

- Thiết kế giao diện bằng Figma Xây dựng UI cho ứng dụng dựa

17

- Thịnh


trên thiết kế Figma đã có

20/03 – 16/04
(Hồn thiện các chức
năng cơ bản)

- Xây dựng UI cho tất cả các

- Trung, Thịnh
Trung, Thịnh


màn hình.
- Kết nối UI với data trên
firebase.
- Hoàn thiện các chức năng cơ
bản (review app, fix bug UI,
fix bug UX, fix bug kết nối
DB…)

17/04 – 28/05
(Xây dựng chatbox kết
hợp recommendation)

- Tìm hiểu về Python và xây

Trung

dựng recommendation system. Xây dựng chatbox với
DialogFlow.
- Tích hợp recommendation
system với chat box.
- Tích hợp chatbox vào app.

17/04 – 28/05

- Tìm hiểu về spoonacular API

Thịnh

- Tích hợp API để recommend

món ăn với từng lượng calo cần
thiết đối với mỗi user.
- Hoàn thiện, fix bug chức năng
đếm số bước chân

29/05 - 18/06

Trung, Thịnh

- Testing

18


- Review app
- Fix bug logic, UI, UX

19/06 - 02/07

- Hoàn thiện báo cáo

Trung, Thịnh

- Cải thiện ứng dụng theo yêu cầu
của giảng viên

Xác nhận của CBHD

TP. HCM, ngày


tháng

năm

Sinh viên 1
(Ký tên và ghi rõ họ tên)

(Ký tên và ghi rõ họ tên)

ThS. Thái Thụy Hàn Uyển
Hồ Hữu Thịnh

19


Sinh viên 2

(Ký tên và ghi rõ họ tên)

Lê Đức Trung

20


MỤC LỤC

LỜI CẢM ƠN .................................................................................................................. 11
Kế hoạch thực hiện ............................................................................................................ 16
MỤC LỤC ........................................................................................................................ 20
Chương 1. MỞ ĐẦU ...................................................................................................... 24

1.1. Giới thiệu đề tài .......................................................................................................... 24
1.2. Lý do chọn đề tài ........................................................................................................ 24
Chương 2. TỔNG QUAN ĐỀ TÀI ................................................................................ 25
2.1. Mục tiêu...................................................................................................................... 25
2.1.1. Lý thuyết.............................................................................................. 25
2.1.2. Mục tiêu............................................................................................... 25
2.2. Phạm vi....................................................................................................................... 26
2.3. Phương pháp thực hiện ............................................................................................... 26
2.4. Ý nghĩa thực tiễn ........................................................................................................ 28
2.5. Kết quả dự kiến........................................................................................................... 29
Chương 3. CƠ SỞ LÝ THUYẾT .................................................................................... 30
3.1. Android....................................................................................................................... 30
3.1.1. Tổng quan và lịch sử ............................................................................ 30
3.1.2. Các thành phần cơ bản của Android App ............................................. 31
3.2. Ngơn ngữ lập trình Kotlin ........................................................................................... 34
3.2.1. Lịch sử hình thành ............................................................................... 35
3.3. Hệ quản trị cơ sở dữ liệu Firebase ............................................................................... 35
3.3.1. Firebase là gì? ...................................................................................... 36
3.3.2. Firebase Realtime database .................................................................. 36
3.3.3. Firebase Authentication ....................................................................... 36
3.3.4. Firebase Hosting .................................................................................. 37
3.3.5. Ưu điểm của Firebase .......................................................................... 37
3.3.6. Nhược điểm của Firebase ..................................................................... 38
3.4. Android Activity Recognition Transition API ............................................................. 38
3.4.1. Android Activity Recognition Transition API là gì? ............................ 38

21


3.4.2. Ưu điểm của Android Activity Recognition Transition API ................. 38

3.4.3. Nhược điểm của Android Activity Recognition Transition API ........... 39
3.5. Google Cloud DialogFlow .......................................................................................... 39
3.5.1. Google Cloud DialogFlow là gì? .......................................................... 40
3.5.2. Ưu điểm của DialogFlow ..................................................................... 40
3.5.3. Nhược điểm của DialogFlow ............................................................... 40
Chương 4. XÂY DỰNG ỨNG DỤNG HỖ TRỢ CHĂM SÓC SỨC KHỎE ................ 41
4.1. Đặt vấn đề ................................................................................................................... 41
4.2. Hướng giải quyết - Cung cấp một ứng dụng hỗ trợ nhiều chức năng hữu ích cho người
dùng ............................................................................................................................. 42
4.3. Danh sách các Use-case .............................................................................................. 44
4.4. Đặc tả Use-case .......................................................................................................... 49
4.4.1. Đăng ký ............................................................................................... 49
4.4.2. Đăng nhập ............................................................................................ 50
4.4.3. Đăng nhập bằng Google ....................................................................... 52
4.4.4. Quên mật khẩu ..................................................................................... 53
4.4.5. Đổi mật khẩu ....................................................................................... 54
4.4.6. Cập nhật thông tin cá nhân ................................................................... 56
4.4.7. Theo dõi chỉ số bước chân đi được theo ngày ...................................... 57
4.4.8. Theo dõi các chỉ số khi đi bộ/chạy bộ/đạp xe ....................................... 59
4.4.9. Nhắc nhở uống nước ............................................................................ 60
4.4.10. Tính chỉ số thể trọng cơ thể ................................................................ 62
4.4.11. Gợi ý các món ăn dinh dưỡng và cách chế biến ................................. 63
4.4.12. Tính lượng calories nạp vào cơ thể của mỗi món ăn........................... 65
4.4.13. Tìm kiếm và thêm những món ăn khác .............................................. 66
4.4.14. Báo cáo dinh dưỡng ........................................................................... 68
4.4.15. Tập luyện tại nhà................................................................................ 69
4.4.16. Thêm nhận xét về bài tập ................................................................... 71
4.4.17. Chat bot hỗ trợ ................................................................................... 72
4.5. Thiết kế cơ sở dữ liệu ................................................................................................. 74
4.5.1. Các collections ..................................................................................... 75

4.6. Thiết kế kiến trúc hệ thống ......................................................................................... 78
4.6.1. Công nghệ sử dụng .............................................................................. 78
4.6.2. Kiến trúc hệ thống: Mơ hình Client-Server .......................................... 78

22


4.6.3. Kiến trúc ứng dụng .............................................................................. 79
Mơ hình MVVM ................................................................................................ 79
Mơ hình Clean Architecture................................................................................ 80
4.6.4. Mơ tả thành phần ứng dụng.................................................................. 81
4.7. Thiết kế giao diện và xử lý .......................................................................................... 82
4.7.1. Mơ tả các màn hình .............................................................................. 82
Màn hình đăng nhập ...................................................................................... 82
Màn hình đăng ký .......................................................................................... 84
Màn hình Home ............................................................................................. 85
Màn hình Exercise Landing Page .................................................................. 86
Màn hình chuẩn bị chạy bộ ............................................................................ 87
Màn hình đang đi bộ ...................................................................................... 88
Màn hình hồn thành Exercise ....................................................................... 89
Màn hình đếm và thống kê số bước chân ....................................................... 90
Màn hình quản lý tài khoản ........................................................................... 91
Màn hình BMI ............................................................................................... 92
Màn hình Water ............................................................................................. 93
Màn hình Water Report ................................................................................. 94
Màn hình Food .............................................................................................. 95
Màn hình Food Report ................................................................................... 96
Màn hình Add food ....................................................................................... 97
Màn hình Add custom food ........................................................................... 98
Màn hình Select food ..................................................................................... 99

Màn hình Exercise ....................................................................................... 100
Màn hình 30 days training ........................................................................... 101
Màn hình Review Exercise .......................................................................... 102
Màn hình Chat bot ....................................................................................... 103
4.8. Triển khai ứng dụng .................................................................................................. 103
4.9. Kiểm thử ứng dụng ................................................................................................... 104
4.9.1. Chức năng đăng nhập ......................................................................... 104
4.9.2. Chức năng đăng ký ............................................................................ 104
5.1. Kết quả đạt được ....................................................................................................... 106
5.2. Nhược điểm và giải pháp .......................................................................................... 107

23


5.3. Thuận lợi và khó khăn .............................................................................................. 108
5.2.1. Thuận lợi: .......................................................................................... 108
5.2.2. Khó khăn: .......................................................................................... 109
5.4. Hướng phát triển ....................................................................................................... 109
TÀI LIỆU THAM KHẢO ............................................................................................. 111

24


Chương 1. MỞ ĐẦU

1.1. Giới thiệu đề tài
Ứng dụng di động Wecare là một sản phẩm trong lĩnh vực kỹ thuật phần mềm, được phát triển
để hỗ trợ chăm sóc sức khỏe cá nhân trong cuộc sống hiện đại. Với sự gia tăng nhu cầu quan
tâm đến sức khỏe và sự khó khăn trong việc quản lý thời gian cho việc tập luyện và chăm sóc
sức khỏe, Wecare đã được tạo ra để đáp ứng và giải quyết những vấn đề này.

1.2. Lý do chọn đề tài
Trong thời đại công nghệ phát triển nhanh chóng, việc sử dụng ứng dụng di động để chăm sóc
sức khỏe cá nhân đang trở thành xu hướng phổ biến. Với lợi ích của việc tiết kiệm thời gian, dễ
dàng theo dõi và nhận thông tin, người dùng ngày càng tìm kiếm các giải pháp cơng nghệ để duy
trì sức khỏe tốt.
Chúng tơi lựa chọn đề tài "Ứng dụng di động hỗ trợ chăm sóc sức khỏe cá nhân" vì nhiều lý do
quan trọng. Thứ nhất, sức khỏe cá nhân là một yếu tố quan trọng trong cuộc sống và mọi người
đều mong muốn duy trì một lối sống lành mạnh. Thứ hai, việc tận dụng công nghệ di động để
cung cấp giải pháp hỗ trợ chăm sóc sức khỏe có thể giúp người dùng tiết kiệm thời gian và nỗ
lực trong việc theo dõi và quản lý sức khỏe cá nhân.
Bên cạnh đó, việc tạo ra một ứng dụng hỗ trợ chăm sóc sức khỏe cá nhân cũng mang lại những
thách thức kỹ thuật đáng chú ý. Đây là cơ hội để chúng em áp dụng kiến thức và kỹ năng trong
lĩnh vực kỹ thuật phần mềm để phát triển một sản phẩm có giá trị thực tế và hữu ích cho cộng
đồng.
Với những lí do trên, chúng tơi tin rằng đề tài "Ứng dụng di động hỗ trợ chăm sóc sức khỏe cá
nhân" là một sự lựa chọn hợp lý cho luận văn tốt nghiệp, và sẽ mang lại giá trị và lợi ích đáng
kể cho người dùng.

25


×