CHƯƠNG 1. Động lực nghiên cứu COVID-19: Virus Corona là chủng virus mới chưa từng xuất hiện ở người, đang ảnh hưởng rất lớn đến chính trị, kinh tế của thế giới nói chung và các quốc gia nói riêng trong đó có cả Việt Nam. Việc cập nhật tin tức, thông tin liên quan đến Covid-19 là điêu cân thiết trong cuộc sông hiện nay. Điện thoại di động đang trở thành một vật dung không thé thiếu đối với cuộc sống hiện đại ngày nay, vi thế ai cũng sẽ có một chiếc điện thoại di động bên cạnh mình.
Do đó, kèm theo với sự phát triển của công nghệ 4.0 việc con người luôn mong muốn có được những ứng dụng chất lượng, đáp ứng được nhu cầu của con người là không thẻ thiếu. Vì vậy, em quyết định làm khóa luận tốt nghiệp với dé tài: Xây dựng ứng dụng sé tay Covid-19. Mục tiêu đề tài Mục tiêu dé tài là tạo ra ứng dụng đi động số tay Covid-19 cho người tat cả những ai đã, dang và có sử dụng điện thoại thông minh. Số tay có những chức năng bao gồm: - Show dt liệu, tracking sô liệu hiện tại của các quốc gia và thê giới trong đó có Việt Nam.
- _ Cập nhật những tin tức liên quan đến Covid-19 (nguồn: https://ncov. - Tim những trung tâm, y tế gần với vị trí của mình. - Chuan đoán tỉ lệ nhiễm bệnh Covid-19 thông qua 5 triệu chứng cơ bản và 3 đặc điểm (giới tính, tuổi và tiếp xúc với nguồn bệnh hay chưa? ). Đối tượng và phạm vi nghiên cứu Khoá luận này hướng đến nghiên cứu các đổi tượng sau: — Các công nghệ: + Front-end: ReactJs (admin page), React Native (client side) + Back-end: Flask (Dung dé goi API model) + Database: Firestore database + Mô hình Lightgbm + IDE: Visual Studio Code, Android Studio — Déi tượng trong phạm vi đề tài hướng đến: + Tất cả những ai đã, đang và sé sử dụng thiết bị di động.
Khóa luận hướng đên phạm vi nghiên cứu sau: Phạm vi môi trường: Mobile đối với Client, Web đối với Admin Pham vi chức năng: Đối với client: + Cung cấp cho người ding mọi thông tin cần thiết về Covid-19 trên thé giới nói chung và Việt Nam nói riêng thông qua số liệu & biểu đồ. + Cung cấp cho mọi người những thông tin chính xác nhất, đầy đủ nhất + Chuan đoán tỷ lệ nhiễm bệnh dựa vào các thông tin mà người dùng cung cap. + Tìm các trung tâm y tê, bệnh viện gan nhât dựa vao vi tri của người dùng. Đôi với Admin: + Cung cấp cho người quan lý có thé quan lý bài đăng.
+ Cung cấp cho người quản lý thé loại bài đăng. Các tính năng nỗi bật Sau khi tham khảo một số ứng dụng cũng với chủ đề Covid 19, tôi rút ra được nhận xét như sau: — Hầu hết các ứng dụng chỉ tập trung cập nhật số liệu của các quốc gia trên thế giới real-time. Từ đó tôi quyết định nghiên cứu và tích hợp vào ứng dụng thêm một số chức năng giúp cho người dùng có nhiều sự lựa chọn về các tính năng hơn và góp phân làm cho ứng dụng có tính toàn diện hơn với một sô chức năng như: — Thêm vào trang tin tức. — Tích hợp Google Cloud API vào trong ứng dụng.
— Áp dụng máy học vào ứng dụng đề chuẩn đoán nhiễm bệnh. GIỚI THIỆU CÔNG NGHỆ 2. React là thư viện JavaScript phố biến nhất dé xây dựng giao diện người dùng (UI). Nó cho tốc độ phản hồi tuyệt vời khi user nhập liệu bằng cách sử dụng phương pháp mới để render trang web.
Components của công cụ này được phát triển bởi Facebook. Nó được ra mắt như một công cụ JavaScript mã nguôn mở vào năm 2013. Ở ứng dụng này, ReactJs sẽ đóng vai trò để thiết kế admin pages Một số lợi ích khi sử dụng ReactJs: 1. Dé ste dụng: React là một thư viện GUI nguồn mở JavaScript tập trung vào một điều cụ thé; hoàn thành nhiệm vu UI hiệu quả.
Nó được phân loại thành kiểu “V” trong mô hình MVC (Model-View-Controller). Bởi vi sử dung Javascript, nên nêu như ban đã có san cho minh kiên thức vê js thì sé không có gì khó khăn khi bạn làm quen với ReactJs. Viết component dễ dàng hơn: React component dễ viết hơn vì nó sử dụng JSX, mở rộng cú pháp tùy chọn cho JavaScript cho phép bạn kết hợp HTML với JavaScript. JSX là một sự pha trộn tuyệt vời cua JavaScript và HTML.
Nó làm rõ toan bộ quá trình viết cấu trúc trang web. Ngoài ra, phần mở rộng cũng giúp render nhiều lựa chọn dễ dàng hơn. JSX có thê không là phần mở rộng cú pháp phô biến nhất, nhưng nó được chứng minh là hiệu quả trong việc phát triển components đặc biệt hoặc các ứng dụng có khối lượng lớn. Hiệu suất tốt hơn với Virtual DOM: React sẽ cập nhật hiệu qua quá trình DOM (Document Object Model — Mô hình đối tượng tài liệu).
Như bạn có thé biết, quá trình này có thé gây ra nhiều thất vọng trong các dự án ứng dụng dựa trên web. May mắn là React sử dụng virtual DOMs, vi vậy bạn có thê tránh được vấn đề này. Công cụ cho phép bạn xây dựng các virtual DOMs và host chúng trong bộ nhớ. Nhờ vậy, mỗi khi có sự thay déi trong DOM thực tế, thi virtual sẽ thay đổi ngay lập tức.
Hệ thống này sẽ ngăn DOM thực tế để buộc các bản cập nhật được liên tục. Do đó, tốc độ của ứng dụng sẽ không bị gián đoạn. Thân thiện với SEO: React cho phép bạn tạo giao diện người dùng có thê được truy cập trên các công cụ tìm kiếm khác nhau. Tính năng này là một lợi thế rất lớn vì không phải tất cả các khung JavaScript đều thân thiện với SEO.
Ngoài ra, vì React có thé tăng tốc quá trình của ứng dụng nên có thé cải thiện kết qua SEO. Cuối cùng tốc độ web đóng một vai trò quan trọng trong tối ưu hóa SEO. Tuy nhiên, bạn cần lưu ý rằng React chỉ là một thư viện JavaScript. Nghĩa là nó không thể tự làm mọi thứ.
Sử dụng các thư viện bổ sung có thể cần thiết cho các mục tiêu quản lý, định tuyến và tương tác. React Native React Native là một framework do công ty công nghệ nổi tiếng Facebook phát triển nhằm mục đích giải quyết bài toán hiệu năng của Hybrid và bài toán chi phí khi ma phải viết nhiều loại ngôn ngữ native cho từng nền tang di động. Hinh 3: React Native Hybrid App là gì? Hybrid App là sự kết hợp giữa ứng dụng Web và ứng dụng mobile. Tức là chúng vừa có thé cài đặt lên điện thoại người dùng giống như là những ứng dụng Native bình thường và bạn có thé tìm thấy chúng trên chợ ứng dụng nhưng khó có thé nhận ra đâu là ứng dụng Native và đâu là ứng dụng Hybrid thường thì người dùng sẽ không để ý quá nhiều.
Ưu và nhược điểm cua React Native: Uu điểm: Hiệu quả về mặt thời gian khi mà bạn muốn phát triển một ứng dụng nhanh chóng. FYNAP Hiệu năng tương đối 6n định. Ứng dụng tin cậy và ôn định. Xây dựng cho nhiều hệ điều hành khác nhau với ít native code nhất.
Trải nghiệm người dùng tốt hơn là hybrid app. Cộng đồng phát triển mạnh. Nhược điểm: 1. Vẫn đòi hỏi native code.
Hiệu năng sẽ thấp hơn với app thuần native code. Khả năng tùy biến cũng không thực sự tốt đối với một vài module. Bảo mật không cao do dựa trên JS. Cloud Firestore Cloud Firestore là cơ sở dữ liệu mới của Firebase phát triển dành cho ứng dụng di động.
Nó là sự kế thừa của Realtime Database với mô hình đữ liệu mới và trực quan hon. Cloud Firestore phong phú hơn, nhanh hơn va có khả năng mở rộng siêu việt hơn so với Realtime Database. Giống như Firebase Realtime Database, nó giúp dữ liệu của bạn đồng bộ hóa trên các ứng dụng client thông qua việc đăng ký realtime và cung cấp hỗ trợ ngoại tuyến cho be, Cloud Firestore Hình 4: Cloud Firestore Tinh năng chính của Cloud Firestore: 1. Tinh linh hoạt: Cloud Firestore hỗ trợ các cấu trúc dit liệu linh hoạt, phân cấp dữ liệu.
Lưu trữ dữ liệu của bạn trong các document , được tổ chức thành các collection. Cac document có thé chứa các đôi tượng phức tạp. Truy vấn tượng trưng: Bạn có thé sử dụng các truy van dé truy xuất các document riêng lẻ hoặc dé truy xuất tất cả các document trong collection khớp với các tham số truy vấn của bạn. Các truy vấn của bạn có thể bao gồm nhiều bộ lọc, kết hợp giữa bộ lọc và sắp xếp.
Cáp nhật thời gian thực: Cloud Firestore sử dụng đồng bộ hóa dit liệu dé cập nhật dữ liệu trên mọi thiết bi được kết nối. Nó cũng được thiết kế dé thực hiện các truy vân tìm nạp một lân. Hỗ trợ offline: Cloud Firestore lưu trữ dit liệu tai local, vì vậy ứng dung có thể viết, đọc, nghe va truy vấn dữ liệu ngay cả khi thiết bị ngoại tuyến. Khi thiết bị trở lại trực tuyến, Cloud Firestore sẽ đồng bộ hóa mọi thay đôi cục bộ lên Cloud Firestore.
Khả năng mở rộng: Mang đến khả năng từ Google Cloud Platform thiết kế dé sử dụng cơ sở dữ liệu khó khăn nhất từ các ứng dụng lớn nhất thế giới. Cách hoạt động của firestore database: Cloud Firestore là một cơ sở dữ liệu NoQuery được lưu trữ trên đám mây mà các ứng dụng IOS, Android, Web có thê truy cập trực tiếp thông qua SDK.Cloud Firestore cũng có sẵn trong Node.js, Java, Python và Go SDKs, REST va RPC APIs. Được tô chức theo mô hình dữ liệu NoQuery của Cloud Firestore, dữ liệu lưu trong các document ánh xạ tới các gia tri. Các document nay được lưu trữ trong các collection cho bạn tô chức dữ liệu và thực hiện truy vấn Bảo vệ quyền truy cập vào di liệu của bạn trong Cloud Firestore với Firebase Authentication cho Android, iOS và JavaScript hoặc nhận dạng va quản lý truy cập (IAM).
Google Cloud API Google Cloud hay còn gọi là Google Cloud Platform (GCP) chính là một nền tảng của kỹ thuật điện toán đám mây cho phép các cá nhân, tổ chức, các doanh nghiệp, các cơ quan có thé xây dựng, phát triển, và hoạt động các ứng dụng của mình trên hệ thống phần mềm do google tạo ra. Các ứng dụng rất phổ biến hiện nay được mọi người sử dụng rất nhiều như: Trình duyệt Chrome, ứng dụng bản đồ Google Map, Google Apps, kênh Youtube. Google Cloud cung cấp tất cả các giải pháp quản lý cho doanh nghiệp, giúp doanh nghiệp có thể phát triển hệ thống công nghệ của mình một cách chính xác, hiện đại. 10 Bên cạnh đó, GC còn giúp người dùng và doanh nghiệp giải quyết các van đề như: Developer (phát triển), Management (Quản lý), Computer Engine, Mobile, Storage, Big Data.