1. Trang chủ
  2. » Giáo Dục - Đào Tạo

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG CHIA SẺ THÔNG TIN VÀ PHƯƠNG PHÁP SỐNG KHỎE

106 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 106
Dung lượng 4,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI CẢM ƠN Sau hơn 4,5 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ự giảng dạy và hướng dẫn tận tình của quý thầy cô, đặc biệt là quý thầy cô trong khoa Công n

Trang 1

ĐẠ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

LÊ HỮU THẮNG

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

XÂY DỰNG ỨNG DỤNG CHIA SẺ THÔNG TIN VÀ

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

LÊ HỮU THẮNG – 16521098

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

XÂY DỰNG ỨNG DỤNG CHIA SẺ THÔNG TIN VÀ

Trang 3

THÔNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……… ngày

……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin

Trang 4

ĐHQG TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

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

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

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 CHIA SẺ THÔNG TIN VÀ PHƯƠNG PHÁP SỐNG

KHỎE

Lê Hữu Thắng 16521098 ThS Lê Thanh Trọng

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

1 Về cuốn báo cáo:

Số trang: Số chương:

Số bảng số liệu: Số hình vẽ:

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:

Trang 6

ĐHQG TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

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

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

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 CHIA SẺ THÔNG TIN VÀ PHƯƠNG PHÁP SỐNG

KHỎE

Lê Hữu Thắng 16521098

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

1 Về cuốn báo cáo:

Số trang: Số chương:

Số bảng số liệu: Số hình vẽ:

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:

Trang 8

LỜI CẢM ƠN

Sau hơn 4,5 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ự giảng dạy và hướng dẫn tận tình của quý thầy cô, đặc biệt là quý thầy cô trong khoa Công nghệ Phần mềm, em đã gặt hái được những kiến thức bổ ích, có thể áp dụng vào luận văn cũng như áp dụng trong những chặn đường tương lai

Chúng em xin chân thành cảm ơn các quý thầy cô của Trường Đại học Công nghệ thông tin, quý thầy cô của Khoa Công nghệ Phần mềm, đặc biệt là thầy Lê Thanh Trọng đã hướng dẫn tận tình, và đóng góp ý kiến để em có thể hoàn thành khóa luận tốt nghiệp một cách tốt nhất

Bên cạnh đó, em cũng xin gửi lời cảm ơn đến các bạn cùng khóa, đã có những lời góp ý, động viên em có thêm động lực thực hiện khóa luận trong khoảng thời gian qua

Trong suốt quá trình em tìm hiểu và thực hiện khóa luận, do sử dụng công nghệ còn khá mới, thời gian và nhân lực của nhóm có hạn, nên không thể tránh những sai sót

Do đó 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, em xin chân thành cảm ơn mọi người

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

Lê Hữu Thắng

Trang 9

ĐHQG TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

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

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

ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG CHIA SẺ THÔNG TIN VÀ PHƯƠNG

PHÁP SỐNG KHỎE

Cán bộ hướng dẫn: Ths Lê Thanh Trọng

Thời gian thực hiện:Từ ngày 01/10/2020 đến ngày 02/01/2021

Sinh viên thực hiện:

Lê Hữu Thắng - 16521098

Nội dung đề tài:(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện,

kết quả mong đợi của đề tài)

Tên đề tài: Xây dựng ứng dụng chia sẻ thông tin và phương pháp sống khỏe

Mục tiêu Xây dựng một ứng dụng chia sẻ thông tin bổ ích và

các phương pháp sống khỏe Kết nối người sử dụng với các chuyên gia sức khỏe,

hỗ trợ và tư vấn cách chăm sóc sức khỏe Giúp người dùng tiếp cận được các bài viết chia sẻ phương pháp sống khỏe

Giúp các chuyên gia thu thập thông tin, đánh giá tình trạng sức khỏe

Phạm vi Đề tài sẽ tập trung phát triển ứng dụng hỗ trợ mọi

người chia sẻ thông tin và phương pháp sức khỏe, phòng tránh các bệnh theo mùa

Trang 10

Đối tượng Do nhân lực và thời gian có hạn, cũng như sinh viên

chưa có nhiều kinh nghiệm trong lĩnh vực y khoa Ứng dụng sẽ chỉ tập trung cho phương pháp chăm sóc sức khỏe theo mùa, dựa vào các bệnh phổ biến

Vì thế đối tượng chính của ứng dụng sẽ là những người đang có nhu cầu tìm hiểu, tư vấn chăm sóc sức khỏe

Phương pháp thực hiện 1.Tìm hiểu

- Tìm hiểu và khảo sát các ứng dụng chăm sóc sức khỏe hiện có tại Việt Nam

2.Đối sánh

- So sánh và rút ra các điểm mạnh, điểm còn hạn chế 3.Phân tích

- Phân tích, lựa chọn những nghiệp vụ cần có của 1 ứng dụng chia sẻ thông tin và phương pháp sống khỏe

4.Xây dựng

- Mô tả ứng dụng

- Phân tích và thiết kế ứng dụng

Trang 11

- Xây dựng được ứng dụng di động

- Ứng dụng search engine vào hệ thống

- Sử dụng kiến trúc microservices Kết quả mong đợi của đề tài Đối với sinh viên:

Sinh viên rèn luyện thêm những kĩ năng mềm: giao tiếp, trao đổi với giảng viên hướng dẫn

Rèn luyện tính: tự lập, chủ động khi tìm hiểu, làm việc, thực hiện đề tài cùng giảng viên

Biết lên kế hoạch chi tiết, đặt mục tiêu cụ thể

Ôn luyện toàn bộ các kiến thức đã được dạy trên trường

Áp dụng những lý thuyết vào thực tiễn, xây dựng một ứng dụng hoàn chỉnh, toàn diện nhất

Học hỏi thêm được những công nghệ mới, làm hành trang chuẩn bị cho tương lai

Đối với đề tài:

Ứng dụng microservices, search engine vào sản phẩm

Hiểu rõ nghiệp vụ của 1 ứng dụng mạng xã hội Thực hiện đúng với tên gọi đề tài, đủ với những yêu cầu giảng viên đề ra

Đáp ứng được yêu cầu đặt ra khi lên kế hoạch thực hiện

Đáp ứng được yêu cầu nghiệp vụ do sinh viên và giảng viên hướng dẫn cùng thảo luận, trao đổi

Trang 12

Ứng dụng được tạo ra với mức độ hoàn thiện, có thể

sử dụng được trong thực tế Kiến trúc ứng dụng phải rõ ràng, hợp lý Để sau này ứng dụng dễ bảo trì, phát triển thêm các tính năng Quy trình phát triển ứng dụng phù hợp với thực tiễn bên ngoài (Agile, V-model,…)

Ứng dụng có độ chịu tải tốt, hiệu năng tốt

Kế hoạch thực hiện:(Mô tả kế hoạch làm việc và phân công công việc cho từng sinh

viên tham gia)

Thời gian Nội dung

28/09 – 04/10/2020 Tìm hiểu các ứng dụng hiện có, phân tích

ưu nhược điểm các ứng dụng

05/10 – 11/10/2020 Viết đề cương khóa luận, tìm hiểu, phân

tích nghiệp vụ, lên sơ đồ lớp, database,

12/10 – 25/10/2020 Thiết kế các màn hình chính

Phát triển các API Cần có các tính năng: Đăng kí, đăng nhập, quản lý thông tin người dùng, hiển thị bài viết

26/10 – 25/11/2020 Tiếp tục phát triển ứng dụng

Xây dựng, hoàn thiện các màn hình Phát triển các API

Trang 13

Tích hợp hệ thống tìm kiếm vào ứng dụng Thêm tính năng chat, gọi điện

Thảo luận cùng giảng viên hướng dẫn xem xét, trao đổi những gì cần cải thiện

26/11 – 18/12/2020 Hoàn thiện ứng dụng

Build thành sản phẩm, demo cho giảng viên hướng dẫn

Chỉnh sửa tài liệu phù hợp với yêu cầu

19/12 – 02/01/2021 Viết báo cáo, khóa luận

Trang 14

MỤC LỤC

TÓM TẮT KHÓA LUẬN 1

Chương 1 MỞ ĐẦU 2

1.1 Giới thiệu đề tài 2

1.2 Lý do chọn đề tài 2

Chương 2 TỔNG QUAN ĐỀ TÀI 4

2.1 Mục tiêu 4

2.2 Phạm vi 4

2.3 Phương pháp thực hiện 4

2.3.1 Tìm hiểu 4

2.3.2 Đối sánh 4

2.3.3 Phân tích 5

2.3.4 Xây dựng 5

2.4 Kết quả mong đợi 6

2.4.1 Kĩ năng 6

2.4.2 Kiến thức 6

2.4.3 Kết quả 6

2.5 Tìm hiểu đề tài 7

2.5.1 Một số ứng dụng sức khỏe 7

2.5.1.1 Doximity 7

2.5.1.2 Keto Diet Recipes 8

2.5.1.3 Annabel Karmel 9

2.5.2 Đối sánh 10

2.5.3 Hướng giải quyết 11

Chương 3 ELASTICSEARCH & DOCKER 13

Trang 15

3.1 Elasticsearch 13

3.1.1 Tổng quan Elasticsearch 13

3.1.2 Ưu nhược điểm 13

3.1.3 Một số khái niệm 14

3.2 Docker 15

3.2.1 Tổng quan Docker 15

3.2.2 Ưu nhược điểm 16

3.2.3 Một số khái niệm 17

Chương 4 MICROSERVICES & GOLANG 18

4.1 Tổng quan Microservices 18

4.1.1 Khái niệm 18

4.1.2 Ưu nhược điểm 19

4.1.3 gRPC là gì 20

4.1.4 Protocol Buffers 21

4.1.5 Ví dụ 21

4.2 Golang 24

4.2.1.1 Tổng quan Golang 24

4.2.1.2 Đặc điểm 24

Chương 5 THIẾT KẾ HỆ THỐNG 26

5.1 Xác định và phân tích yêu cầu 26

5.1.1 Danh sách các Actor 26

5.1.2 Danh sách các Usecase 27

5.1.2.1 Usecase về tài khoản 28

5.1.2.2 Usecase về bài viết 29

5.1.2.3 Usecase về người dùng 30

Trang 16

5.1.2.4 Usecase về chi tiết bài viết 31

5.1.2.5 Usecase về quản trị viên 32

5.2 Thiết kế cơ sở dữ liệu 33

5.2.1.1 ERD 33

5.2.1.2 Class Diagram 34

5.2.1.3 Các collection 34

5.3 Thiết kế kiến trúc hệ thống 42

5.3.1 Kiến trúc ứng dụng Server 44

5.3.2 Kiến trúc ứng dụng Client 49

5.4 Thiết kế giao diện 52

5.4.1 Các màn hình đăng nhập 52

5.4.2 Màn hình trang chủ 57

5.4.3 Màn hình bài viết 60

5.4.4 Màn hình trang cá nhân 64

5.4.5 Màn hình cài đặt 68

5.4.6 Các màn hình liên quan đến người dùng 69

5.4.7 Các màn hình liên quan đến nhắn tin 71

5.4.8 Các màn hình của quản trị viên 75

5.5 Triển khai hệ thống 80

5.5.1 Server 80

5.5.2 Client 81

Chương 6 KẾT LUẬN 82

6.1 Kết quả đạt được 82

6.2 Thuận lợi và khó khăn 83

6.2.1 Thuận lợi 83

Trang 17

6.2.2 Khó khăn 83

6.3 Hướng phát triển 83

Tài liệu Tiếng Việt 85

Tài liệu Tiếng Anh 85

Trang 18

DANH MỤC HÌNH

Hình 2.1 Domixity 7

Hình 2.2 Keto Diet Recipes 8

Hình 2.3 Ứng dụng Annabel Karmel 9

Hình 3.1 Elasticsearch 13

Hình 3.2 Docker 15

Hình 4.1 Ví dụ về Microservices 19

Hình 4.2 gRPC 21

Hình 4.3 Golang 24

Hình 5.1 Danh sách các Actor 26

Hình 5.2 Sơ đồ Usecase 27

Hình 5.3 Use case quản lý tài khoản 28

Hình 5.4 Usecase quản lý bài viết 29

Hình 5.5 Usecase về người dùng 30

Hình 5.6 Usecase chi tiết bài viết 31

Hình 5.7 Usecase của quản trị viên 32

Hình 5.8 Class diagram 34

Hình 5.9 Kiến trúc hệ thống 42

Hình 5.10 Kiến trúc hexare-service 44

Hình 5.11 Kiến trúc của search-service 47

Hình 5.12 Kiến trúc của ứng dụng client 49

Hình 5.13 Màn hình đăng nhập 52

Hình 5.14 Màn hình đăng kí với số điện thoại 53

Hình 5.15 Màn hình xác thực OTP 54

Hình 5.16 Màn hình đăng kí 55

Hình 5.17 Màn hình reset mật khẩu 56

Hình 5.18 Màn hình trang chủ 57

Hình 5.19 Màn hình thông báo 58

Hình 5.20 Màn hình bảng tin chính 59

Trang 19

Hình 5.21 Màn hình danh sách bài viết trong chuyên mục 60

Hình 5.22 Màn hình thêm mới bài viết 61

Hình 5.23 Màn hình chi tiết bài viết 62

Hình 5.24 Màn hình bình luận 63

Hình 5.25 Màn hình chỉnh sửa trang cá nhân 64

Hình 5.26 Màn hình trang cá nhân 65

Hình 5.27 Màn hình những người theo dõi mình 66

Hình 5.28 Màn hình những người đang theo dõi 67

Hình 5.29 Màn hình cài đặt 68

Hình 5.30 Màn hình tìm kiếm người dùng 69

Hình 5.31 Màn hình trang cá nhân người dùng khác 70

Hình 5.32 Màn hình nhắn tin 71

Hình 5.33 Màn hình trò chuyện 72

Hình 5.34 Màn hình gọi video 73

Hình 5.35 Màn hình cuộc gọi đến 74

Hình 5.36 Màn hình xác thực tài khoản người dùng 75

Hình 5.37 Màn hình chi tiết yêu cầu xác thực 76

Hình 5.38 Màn hình quản lý chuyên mục 77

Hình 5.39 Màn hình thêm chuyên mục 78

Hình 5.40 Màn hình quản lý quyền 79

Hình 5.41 Màn hình phân quyền người dùng 80

Trang 20

DANH MỤC BẢNG

Bảng 2.1 Ưu nhược điểm ứng dụng Domixity 8

Bảng 2.2 Ưu nhược điểm ứng dụng Keto Diet Recipes 9

Bảng 2.3 Ưu nhược điểm ứng dụng Annabel Karmel 10

Bảng 3.1 Ưu nhược điểm Elasticsearch 14

Bảng 3.2 Ưu nhược điểm Docker 16

Bảng 4.1 Ưu nhược điểm Microserivces 20

Bảng 5.1 Bảng mô tả Usecase quản lý tài khoản 28

Bảng 5.2 Bảng mô tả Usecase về bài viết 30

Bảng 5.3 Bảng mô tả Usecase về người dùng 30

Bảng 5.4 Bảng mô tả Usecase chi tiết bài viết 32

Bảng 5.5 Collection User 36

Bảng 5.6 Collection Account 36

Bảng 5.7 Collection Work 37

Bảng 5.8 Collection Log 37

Bảng 5.9 Collection Category 38

Bảng 5.10 Collection Post 39

Bảng 5.11 Collection Report 40

Bảng 5.12 Collection Comment 40

Bảng 5.13 Collection Message 41

Bảng 5.14 Bảng mô tả chi tiết kiến trúc hexare-service 46

Bảng 5.15 Bảng mô tả chi tiết kiến trúc của search-service 48

Bảng 5.16 Bảng mô tả chi tiết kiến trúc ứng dụng client 51

Trang 21

3 REST Representational State

Trang 23

2

Chương 1 MỞ ĐẦU

1.1 Giới thiệu đề tài

“Sức khỏe là vàng”, một câu thành ngữ nói lên giá trị sức khỏe con người Thế nhưng vẫn còn rất nhiều người chưa ý thức được tầm quan trọng của sức khỏe Bởi vì khi còn có sức khỏe, chúng ta không cảm thấy được nó là điều quý giá Nhưng khi chúng

ta mất đi nó, chúng ta bị bệnh, không còn khỏe mạnh như trước, chúng ta mới nhận thấy một cách thấm thía rằng sức khỏe còn hơn tiền bạc, danh vọng, và không có vật chất, tinh thần nào bằng được, có thể nói sức khỏe là vô giá Có sức khỏe thì chúng

ta mới có thể làm được mọi việc

Nhìn lại bối cảnh xã hội hiện đại, bên cạnh việc tuổi thọ con người ngày càng được cải thiện hơn, thì cũng xuất hiện thêm các bệnh mới, các căn bệnh nguy hiểm, dễ lây lan trong cộng đồng, đặc biệt là nguy hiểm đến tính mạng con người

Điển hình trong năm 2020 vừa qua, đó là sự xuất hiện của dịch Covid-19, đã làm xáo trộn sinh hoạt, ảnh hưởng đến khắp mọi người trên thế giới Theo thống kê của WHO, tính đến tháng 12/2020, đã có 80,2 triệu ca mắc covid trên toàn thế giới, trong đó 45,3 triệu ca đã chữa khỏi, và có hơn 1,76 triệu ca tử vong Chỉ tính riêng ở Việt Nam, chúng ta có 1439 ca mắc Covid, trong đó 1303 ca đã chữa khỏi, và 35 ca tử vong Những con số trên là lời nhắc nhở chúng ta nên ý thức hơn về sức khỏe của bản thân Bởi nếu không có sức khỏe, một chàng trai cao to lực lưỡng đến mấy, cũng có thể dễ dàng bị nguy hiểm đến tính mạng trước những sự xâm nhập từ bên ngoài của bất kì

vi khuẩn, virus nào

Chính vì thế, chúng ta cần phải nâng cao ý thức, thường xuyên tập thể dục, sống lành mạnh, ăn uống đầy đủ dinh dưỡng để có được một sức khỏe tốt nhất

1.2 Lý do chọn đề tài

Hiện nay, các ứng dụng mạng xã hội ngày càng nhiều, và ngày càng đa dạng hơn về các lĩnh vực Chỉ cần với chiếc smartphone trong tay, người dùng đã có thể tìm kiếm, thu nhận các thông tin một cách nhanh chóng

Trang 24

Đó là lý do mà nhóm chọn đề tài Khóa Luận Tốt Nghiệp “Xây dựng ứng dụng chia

sẻ thông tin và phương pháp sống khỏe” (tên tiếng Anh: “Build an app to share information and live healthy ways”)

Trang 25

Giúp người dùng tiếp cận được các bài viết chia sẻ phương pháp sống khỏe

Giúp các chuyên gia thu thập thông tin, đánh giá tình trạng sức khỏe

2.2 Phạm vi

Đề tài sẽ tập trung phát triển ứng dụng hỗ trợ mọi người chia sẻ thông tin và phương pháp sức khỏe, phòng tránh các bệnh theo mùa

Sản phẩm sẽ có các tính năng:

 Đăng kí với số điện thoại thật, đăng nhập, quản lý thông tin,

 Tìm kiếm các bài viết chăm sóc sức khỏe

 Đăng bài viết, chia sẻ bài viết

 Hỏi đáp cùng chuyên gia

 Nhắn tin, gửi file,…

Trang 27

Ôn luyện toàn bộ các kiến thức đã được dạy trên trường

Áp dụng những lý thuyết vào thực tiễn, xây dựng một ứng dụng hoàn chỉnh, toàn diện nhất

Học hỏi thêm được những công nghệ mới, làm hành trang chuẩn bị cho tương lai

2.4.3 Kết quả

Ứng dụng microservices, search engine vào sản phẩm

Hiểu rõ nghiệp vụ của 1 ứng dụng mạng xã hội

Thực hiện đúng với tên gọi đề tài, đủ với những yêu cầu giảng viên đề ra

Đáp ứng được yêu cầu đặt ra khi lên kế hoạch thực hiện

Đáp ứng được yêu cầu nghiệp vụ do sinh viên và giảng viên hướng dẫn cùng thảo luận, trao đổi

Ứng dụng được tạo ra với mức độ hoàn thiện, có thể sử dụng được trong thực tế Kiến trúc ứng dụng phải rõ ràng, hợp lý Để sau này ứng dụng dễ bảo trì, phát triển thêm các tính năng

Quy trình phát triển ứng dụng phù hợp với thực tiễn bên ngoài (Agile, V-model,…) Ứng dụng có độ chịu tải tốt, hiệu năng tốt

Trang 28

Bao gồm các tính năng:

 Tìm kiếm bác sĩ, chuyên gia chăm sóc sức khỏe ở Hoa Kỳ

 Gọi điện, gọi video với người dùng mà không công khai số điện thoại

 Luôn cập nhật các tin tức và nghiên cứu mới nhất đã được các chuyên gia chăm sóc sức khỏe thẩm định

Ưu điểm Nhược điểm Nền tảng gần tương tự như là mạng xã

hội, bao gồm các chức năng khác nhau

như : quản lý trang hồ sơ, dịch vụ email,

Không thể truy cập vào ứng dụng nếu không phải là chuyên gia chăm sóc sức khỏe

Trang 29

gia, bác sĩ tiết kiệm thời gian khi có thể

truy cập mọi lúc mọi nơi

Ứng dụng khó download, người dùng phải xác minh danh tính trước khi có thể download được ứng dụng

Người dùng cần biết tiếng Anh Chưa hỗ trợ nhắn tin

Bảng 2.1 Ưu nhược điểm ứng dụng Domixity

2.5.1.2 Keto Diet Recipes

Hình 2.2 Keto Diet Recipes Ứng dụng Keto cung cấp các công thức nấu ăn ngon, lành mạnh, đầy đủ dinh dưỡng nhưng vẫn phù hợp, hỗ trợ kế hoạch ăn cho người dùng

Bao gồm các tính năng hữu ích:

 Chi tiết công thức nấu ăn với các thông tin Calo, Protein, chất béo,

 Hỗ trợ tạo danh sách các công thức nấu ăn yêu thích

 Có thể ghi chú công thức nấu ăn

Ưu điểm Nhược điểm

Trang 30

9

Giao diện đẹp, thân thiện với người

dùng

Hiệu năng tốt

Có thể tạo danh sách yêu thích

Ứng dụng không cần kết nối internet

Ứng dụng chưa hỗ trợ đánh giá, chia sẻ cách ăn kiêng cho mọi người

Chưa có tính năng nhắn tin, gọi điện Ứng dụng chưa hỗ trợ nhiều tính năng cần thiết cho 1 mạng xã hội

Ứng dụng chỉ đơn thuần như một cuốn

sổ tay Bảng 2.2 Ưu nhược điểm ứng dụng Keto Diet Recipes

2.5.1.3 Annabel Karmel

Hình 2.3 Ứng dụng Annabel Karmel Ứng dụng Annabel Karmel như quyển sổ tay hướng dẫn hữu ích, cung cấp hơn 250 công thức nấu ăn ngon dành cho trẻ nhỏ, giúp cho các phụ huynh có thể chuẩn bị các bữa ăn nhanh chóng dễ dàng cho trẻ em ở mọi lứa tuổi

Bao gồm các tính năng hữu ích:

 Cung cấp hơn 300 công thức món ăn dành cho các trẻ ở mọi lứa tuổi, các công thức món ăn gia đình

 Chia sẻ công thức nấu ăn cho trẻ đến với mọi người

 Thêm vào danh sách yêu thích

Trang 31

ăn, cho từng lứa tuổi

Là ứng dụng di động, nên tiện lợi

Ứng dụng tính phí Paid application Ứng dụng chưa hỗ trợ đáng giá, đăng bài viết đề xuất công thức nấu ăn mới Ứng dụng chưa hỗ trợ phân loại các món

ăn thành một thực đơn đầy đủ mỗi ngày Ứng dụng chủ yếu là cung cấp các công thức

Ứng dụng vẫn còn đơn giản, chưa có các tính năng cần thiết của 1 mạng xã hội Bảng 2.3 Ưu nhược điểm ứng dụng Annabel Karmel

2.5.2 Đối sánh

Hiện nay, có rất nhiều ứng dụng liên quan đến việc chăm sóc sức khỏe, nhưng chủ yếu dừng lại ở việc lưu trữ thông tin, các ứng dụng chỉ đơn thuần như một cuốn sổ tay, chỉ có các tính năng cung cấp thông tin, điều này sẽ khiến thông tin chỉ đi một chiều đến người dùng

Trang 32

 Lưu trữ những bài viết chúng ta cảm thấy bổ ích, nhằm tiết kiệm thời gian mỗi khi chúng ta muốn tìm kiếm lại những thông tin cũ

 Và trong bối cảnh mà các ứng dụng mạng xã hội phát triển mạnh mẽ, việc các ứng dụng chỉ mang tính chất đem thông tin đến người dùng sẽ phần nào đó dễ gây nhàm chán, khiến người dùng không thích, dẫn đến việc ứng dụng không thể đạt được mục đích cuối cùng: chia sẻ thông tin hữu ích về sức khỏe cho người dùng, vì khả năng kết nối, duy trì giữa người với người không thể bằng với một ứng dụng mạng xã hội

2.5.3 Hướng giải quyết

Xây dựng một ứng dụng chia sẻ thông tin và phương pháp sống khỏe theo hướng mạng xã hội

Ứng dụng này sẽ là một cộng đồng giữa những bác sĩ, chuyên gia các lĩnh vực sức khỏe và những người dùng khác

Thêm tính năng nhắn tin, gọi điện giữa người dùng Điều này sẽ giúp các bác sĩ tiếp cận bệnh nhân nhanh hơn, ít tốn th.ời gian hơn

Thêm tính năng hỏi đáp riêng tư Giúp những người có nhu cầu được tư vấn, sẽ được các chuyên gia giải đáp, đồng thời, các thông tin riêng tư được bảo mật, chỉ có các bác sĩ, chuyên gia tiếp cận được, giúp người dùng cảm thấy thoải mái hơn trong việc chia sẻ thông tin

Tính năng theo dõi người dùng, giúp kết nối, mở rộng cộng đồng

Các bài viết chăm sóc sức khỏe sẽ được phân chia theo từng chuyên mục, giúp người dùng tiết kiệm thời gian, dễ dàng tìm kiếm

Trang 34

3.1.2 Ưu nhược điểm

Ưu điểm Nhược điểm

Là một search-engine Nên elasticseach

sẽ tốt trong trường hợp tìm kiếm dữ liệu

Thời gian thực hiện truy vấn có độ trễ

nhỏ, gần như là thời gian thực

Là một open-source, nên có thể tự do tùy

biến tùy ý nhà phát triển

Vì là search-engine Elasticsearch không được dùng trong việc ghi dữ liệu Không hỗ trợ transaction, không có ràng buộc quan hệ giữa các dữ liệu

Vì những lý do trên, elasticsearch sẽ thường không được dùng làm database chính

Trang 35

14

Hỗ trợ full-text search, với các tính năng

tách từ, tách câu, tạo index dữ liệu

Có khả năng mở rộng tuyệt vời, chỉ cần

thêm node, elasticsearch sẽ tự động auto

mở rộng

Elasticsearch chạy trên server riêng,

đồng thời giao tiếp qua RESTful nên

không phụ thuộc vào hệ thống, dễ dàng

Để có thể sử dụng tốt Elasticsearch, cần nắm rõ một số khái niệm

Cluster: Một tập hợp Nodes (servers) chứa tất cả các dữ liệu nhằm đảm bảo

tính tin cậy và sẵn dùng

Node: Một server duy nhất chứa một số dữ liệu và tham gia vào cluster’s

indexing and querying

Index: Index ở đây không phải là chỉ số mà là một tập hợp các documents, nó

tương đương với khái niệm một database

Document: Một JSON object với một số dữ liệu, đây là một đơn vị thông tin

trong Elasticsearch (tương đương với khái niệm document trong MongoDB

hay khái niệm row trong table của database SQL)

Trang 36

15

Shards: Tập con các documents của 1 Index Một Index có thể được chia

thành nhiều shard, mỗi shard cũng có thể coi là một index có thể được truy cập trực tiếp giúp tính toán, tìm kiếm 1 cách song song

3.2 Docker

3.2.1 Tổng quan Docker

Docker là một nền tảng để cung cấp cách tạo, triển khai, và chạy 1 ứng dụng dễ dàng hơn bằng cách sử dụng Container

Docker tạo ra các Container, cho phép các lập trình viên đóng gói ứng dụng với tất

cả các phần cần thiết, chẳng hạn như thư viện, và gửi tất cả ra dưới dạng 1 package Bằng cách này, nhờ vào Container, ứng dụng sẽ chạy trên mọi máy Linux khác bất

kể mọi cài đặt tùy chỉnh mà máy có thể khác so với máy được sử dụng để viết và đóng gói ứng dụng

Theo một cách hiểu khác, Docker như một máy ảo (virtual machine)

Hình 3.2 Docker

Trang 37

16

3.2.2 Ưu nhược điểm

Ưu điểm Nhược điểm Không như máy ảo, Docker start và stop

chỉ trong vài giây

Dễ dàng thiết lập môi trường

Việc loại bỏ hay tạo lại container rất dễ

dàng

Tốn ít tài nguyên: do các kernel OS có

thể share lẫn nhau, nên bớt đi được khá

nhiều tài nguyên không cần thiết

Linh hoạt, đồng nhất: nhờ vào đóng gói

Container mà Docker có thể chạy được

ứng dụng trên mọi Linux khác bất kể tùy

Trang 38

Docker Registry: là nơi lưu trữ riêng của Docker Images Images được push

vào registry và user sẽ pull images từ registry

Docker Hub: là Registry lớn nhất của Docker Images ( mặc định) Có thể tìm

thấy images và lưu trữ các images riêng tư trên Docker Hub,

Docker Repository: là tập hợp các Docker Images cùng tên nhưng khác tags

VD: golang:1.11-alpine

Docker Networking: cho phép kết nối các container lại với nhau Kết nối này

có thể trên 1 host hoặc nhiều host

Docker Compose: là công cụ cho phép run app với nhiều Docker containers

1 cách dễ dàng hơn Docker Compose cho phép chúng ta config các command trong file docker-compose.yml để sử dụng lại

Docker Services: là các containers trong production 1 service chỉ run 1 image

nhưng nó mã hoá cách thức để run image — sử dụng port nào, bao nhiêu bản sao container run để service có hiệu năng cần thiết và ngay lập tức

Trang 39

Ý tưởng chính của Microservices là chia nhỏ ứng dụng lớn thành các dịch vụ nhỏ, kết nối với nhau gọi là các services Mỗi dịch vụ sẽ thực hiện một tập các chức năng riêng biệt Một số dịch vụ nhỏ sẽ lộ ra giao tiếp lập trình API để cho các ứng dụng khác hoặc client gọi tới

Khi vận hành, các service sẽ được chạy trong 1 máy ảo hoặc Container

Trang 40

19

Hình 4.1 Ví dụ về Microservices

4.1.2 Ưu nhược điểm

Ưu điểm Nhược điểm Cho phép dễ dàng CI/CD các ứng dụng

Cải thiện khả năng bảo trì

Kiểm thử, triển khai hệ thống dễ dàng

hơn

Khó xây dựng một hệ thống Microservices

Khó khăn trong việc đảm bảo toàn vẹn CSDL

Ngày đăng: 05/09/2021, 20:51

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w