Đăng ký Đăng nhập

Tài liệu Ứng dụng sổ tay cá nhân

.PDF
90
1
103

Mô tả:

ĐẠ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 BÁO CÁO ĐỒ ÁN 1 Học Kỳ II (2021 – 2022) ĐỀ TÀI: ỨNG DỤNG SỔ TAY CÁ NHÂN Nhóm sinh viên thực hiện: - Phạm Văn Chánh – 19521274 Hồ Quang – 19520875 - Lớp: SE121.M21.PMCL - Trường: ĐH CNTT - Giảng viên: Trần Anh Dũng Thành phố Hồ Chí Minh, ngày 17, tháng 06, năm 2022 ĐẠ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 BÁO CÁO ĐỒ ÁN 1 Học Kỳ II (2021 – 2022) ĐỀ TÀI: ỨNG DỤNG SỔ TAY CÁ NHÂN Nhóm sinh viên thực hiện: - Phạm Văn Chánh – 19521274 Hồ Quang – 19520875 - Lớp: SE121.M21.PMCL - Trường: ĐH CNTT - Giảng viên: Trần Anh Dũng Thành phố Hồ Chí Minh, ngày 17, tháng 06, năm 2022 MỤC LỤC DANH MỤC HÌNH ........................................................................................................ 1 DANH MỤC TỪ VIẾT TẮT .......................................................................................... 2 LỜI CẢM ƠN ................................................................................................................. 3 ĐỀ CƯƠNG CHI TIẾT ................................................................................................... 4 NỘI DUNG ..................................................................................................................... 9 Chương 1. GIỚI THIỆU ................................................................................................. 9 1.1. Lý do chọn đề tài .................................................................................................. 9 1.2. Mục tiêu ............................................................................................................... 9 1.3. Phạm vi .............................................................................................................. 10 1.4. Đối tượng sử dụng .............................................................................................. 10 1.5. Phương pháp thực hiện ....................................................................................... 10 Chương 2. KIẾN THỨC VÀ CÔNG NGHỆ NỀN TẢNG ............................................ 12 2.1. Kiến thức nền tảng ............................................................................................. 12 Để thiết kế và hoàn thiện sản phẩm đúng với yêu cầu người dùng, chúng ............... 12 2.2. Công nghệ sử dụng ............................................................................................. 12 2.2.1. Ngôn ngữ lập trình Dart ............................................................................... 12 2.2.2. Flutter .......................................................................................................... 13 2.2.3. Nodejs ......................................................................................................... 14 2.2.4. Expressjs ..................................................................................................... 15 2.2.5. MongoDB .................................................................................................... 16 2.2.6. DialogFlow .................................................................................................. 17 2.2.7. Visual Studio Code ...................................................................................... 18 Chương 3. XÂY DỰNG ỨNG DỤNG ......................................................................... 19 3.1. Yêu cầu chức năng ............................................................................................. 19 3.1.1. Use Case Diagram ....................................................................................... 19 3.1.2. Mô tả Use Case ............................................................................................ 20 3.1.3. Đặc tả Use case ............................................................................................ 21 UC1: Đăng nhập ..................................................................................................... 21 UC2: Đăng ký ........................................................................................................ 23 UC3: Quên mật khẩu .............................................................................................. 26 UC4: Send OTP ...................................................................................................... 29 UC5: Đăng xuất ...................................................................................................... 30 UC6: Cập nhật thông tin cá nhân ............................................................................ 31 UC7: Tạo công việc (CRUD) ................................................................................. 32 UC8: Tạo thông báo nhắc việc ................................................................................ 35 UC9: Tạo ghi chú (CRUD) ..................................................................................... 37 UC10: Tạo Album ảnh (CRUD) ............................................................................. 40 UC11: Thêm ảnh (CRUD) ...................................................................................... 43 UC12: Thêm tài khoản (CRUD) ............................................................................. 45 UC13: Thêm giấy tờ (CRUD) ................................................................................. 47 UC14: Scan ảnh ...................................................................................................... 50 UC15: Hỏi đáp chatbot ........................................................................................... 52 UC16: Thêm thông tin sức khoẻ (CRUD) ............................................................... 54 3.1.4. Mô tả cơ sở dữ liệu ...................................................................................... 56 3.1.5. Danh sách Messages .................................................................................... 61 3.2. Yêu cầu phi chức năng ....................................................................................... 62 3.2.1. Capacity....................................................................................................... 62 3.2.2. Response Time ............................................................................................ 62 3.2.3. Portability .................................................................................................... 62 3.2.4. Reliability .................................................................................................... 62 3.2.5. Safety .......................................................................................................... 63 Chương 4. THIẾT KẾ GIAO DIỆN ỨNG DỤNG ........................................................ 64 4.1. Giao diện đăng ký .............................................................................................. 64 4.2. Giao diện đăng nhập ........................................................................................... 65 4.3. Giao diện quên mật khẩu .................................................................................... 67 4.4. Màn hình trang chủ ............................................................................................ 68 4.5. Màn hình thông tin cá nhân ................................................................................ 69 4.6. Giao diện lập kế hoạch ....................................................................................... 71 4.7. Giao diện thêm công việc ................................................................................... 72 4.8. Giao diện ghi chú ............................................................................................... 73 4.9. Giao diện album ảnh .......................................................................................... 75 4.10. Giao diện tài khoản .......................................................................................... 77 4.11. Giao diện sức khoẻ ........................................................................................... 79 4.12. Giao diện chatbot hỏi đáp sức khoẻ .................................................................. 81 Chương 5. THỬ NGHIỆM VÀ ĐÁNH GIÁ ................................................................. 82 5.1. Môi trường thử nghiệm ...................................................................................... 82 5.2. Kết quả thử nghiệm ............................................................................................ 82 5.3. Đánh giá sản phẩm ............................................................................................. 82 Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................... 83 6.1. Kết luận.............................................................................................................. 83 6.2. Hạn chế và hướng phát triển ............................................................................... 83 6.2.1. Hạn chế........................................................................................................ 83 6.2.2. Hướng phát triển .......................................................................................... 83 TÀI LIỆU THAM KHẢO ............................................................................................. 85 DANH MỤC HÌNH Hình 2.1: Ngôn ngữ lập trình Dart ................................................................................. 12 Hình 2.2: Flutter SDK.................................................................................................... 13 Hình 2.3: Javascript runtime Nodejs .............................................................................. 14 Hình 2.4: Expressjs framework ...................................................................................... 15 Hình 2.5: Cơ sở dữ liệu MongoDB ................................................................................ 16 Hình 2.6: Dialogflow framework AI .............................................................................. 17 Hình 2.7: Visual Studio Code ........................................................................................ 18 Hình 3.1: Sơ đồ Usecase tổng quát hệ thống…………………………………………….19 Hình 3.2: Database Diagram .......................................................................................... 57 Hình 4.1: Danh sách màn hình đăng ký………………………………………………….64 Hình 4.2: Màn hình đăng nhập....................................................................................... 65 Hình 4.3: Màn hình quên mật khẩu ................................................................................ 67 Hình 4.4: Màn hình trang chủ ........................................................................................ 68 Hình 4.5: Màn hình thông tin cá nhân ............................................................................ 69 Hình 4.6: Màn hình lập kế hoạch ................................................................................... 71 Hình 4.7: Màn hình thêm công việc ............................................................................... 72 Hình 4.8: Danh sách màn hình ghi chú .......................................................................... 74 Hình 4.9: Danh sách màn hình album ảnh ...................................................................... 76 Hình 4.10: Danh sách màn hình lưu trữ tài khoản .......................................................... 77 Hình 4.11: Danh sách màn hình hồ sơ sức khoẻ ............................................................. 79 Hình 4.12: Màn hình chatbot ......................................................................................... 81 1 DANH MỤC TỪ VIẾT TẮT # 1 Từ viết tắt UI Từ đầy đủ User Interface Ý nghĩa Giao diện người dùng 2 API Application Programing Inteface Giao diện lập trình ứng dụng 3 CSDL Cơ sở dữ liệu 4 SDK Software Development Kit Công cụ và phần mềm dùng để phát triển ứng dụng thông qua một nền tảng nhất định 5 I/O Input / Output Thiết bị đầu cuối 6 HTTP Hyper Text Transfer Protocol Giao thức truyền tải siêu văn bản 7 URL Uniform Resource Locator Hệ thống định vị tài nguyên thống nhất (hay địa chỉ web) 8 JSON Javascript Object Notation Kiểu dữ liệu mở trong Javascript dùn để trao đổi dữ liệu trên web 9 AI Artificial Intelligence Trí tuệ nhân tạo 10 IVR Interactive Voice Response Hệ thống tổng đài trả lời tự động 11 IDE Integrated Development Environment Môi trường tích hợp dùng để viết code để phát triển ứng dụng 12 UC Usecase 13 CRUD Create, Read, Update, Delete Thêm, đọc, sửa, xoá 14 OTP One Time Password Mật khẩu xác thực một lần được coi là lớp bảo vệ thứ hai cho ứng dụng 15 BR Business Rule Quy tắc nghiệp vụ 16 MSG Message 17 MTBF Mean time between failure 2 Thời gian trung bình giữa các lần hỏng hóc LỜI CẢM ƠN Sau quá trình ho ̣c tập và rèn luyện ta ̣i khoa Công nghệ phầ n mề m trường Đa ̣i ho ̣c Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã đươc̣ trang bi ̣các kiế n thức cơ bản, các kỹ năng thực tế để có thể lầ n đầ u thực hiện Đồ án 1 của mình. Để hoàn thành Đồ án này, chúng em xin gửi lời cảm ơn chân thành đế n: Ban Giám hiệu trường Đa ̣i ho ̣c Công nghệ Thông tin – ĐHQG TP.HCM vì đã ta ̣o điề u kiện về cơ sở vật chấ t với hệ thố ng thư viện hiện đa ̣i, đa da ̣ng các loa ̣i sách, tài liệu thuận lơị cho việc tìm kiế m, nghiên cứu thông tin. Chúng em xin gửi lời cảm ơn chân thành đế n thầ y Trầ n Anh Dũng đã tận tình giúp đỡ, đinh ̣ hướng cách tư duy và cách làm việc khoa ho ̣c. Đó là những góp ý hế t sức quý báu không chỉ trong quá trình thực hiện đề tài mà còn là hành trang tiế p bước cho chúng em trong quá trình ho ̣c tập và lập nghiệp sau này. Và cuố i cùng, chúng em xin gửi lời cảm ơn đế n gia đình, tấ t cả thầ y cô trong khoa, ba ̣n bè, tập thể lớp PMCL2019 là những người luôn sẵn sàng sẻ chia và giúp đỡ trong ho ̣c tập và cuộc số ng. Mong rằ ng, chúng ta sẽ mãi mãi gắ n bó với nhau. Tuy nhiên trong quá trình nghiên cứu đề tài, do kiến thức chuyên ngành còn hạn chế nên chúng em vẫn còn nhiều thiếu sót khi tìm hiểu, đánh giá, trình bày về đề tài. Rất mong nhận được sự quan tâm, góp ý của thầy để đề tài của chúng em được đầy đủ và hoàn chỉnh hơn. Chúng em xin chân thành cảm ơn. TP. Hồ Chí Minh, ngày 14 tháng 06 năm 2022 3 ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TP. HCM, ngày 17 tháng 6 năm 2022 ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: Xây dựng ứng dụng sổ tay cá nhân Cán bộ hướng dẫn: ThS. Trần Anh Dũng Thời gian thực hiện: Từ ngày 28/02/2022 đế n ngày 11/06/2022 Sinh viên thực hiện: Phạm Văn Chánh – 19521274 Hồ Quang – 19520875 Nội dung đề tài 1. Lý do chọn đề tài Với nhiều hoạt động xảy ra thường xuyên mỗi phút, mỗi giờ hằng ngày. Khi chúng ta làm bất cứ một việc nào đó, ta thường làm theo bản năng và không có một kế hoạch nào nhất định. Và chúng ta hoàn toàn có thể quên béng đi chỉ ngay trong chớp mắt. Chính việc này dẫn đến tình trạng bị trì trệ, không mang đến kết quả tốt. Những điều đó khả năng là bạn không biết quản lý thời gian và lên kế hoạch cho cuộc sống. Ngoài thói quen sắp xếp lối sống sinh hoạt, sắp xếp các vật dụng trong nhà, thì bạn cũng cần phải có sự sắp xếp để quản lý thời gian của bản thân. Có một cuốn sổ tay để ghi vào đó những lịch hẹn hay deadline cho công việc trong tuần kế tiếp, lướt qua nó trước khi bắt đầu một ngày mới, chắc chắn bạn sẽ có được kế hoạch tốt hơn cho bản thân, Bộ nhớ của con người là vô hạn. Nhưng nếu không thường xuyên được gợi nhớ thì các thông tin lưu trữ cũng có thể bị mất đi. Một cuốn sổ tay sẽ là trợ lý tuyệt vời 4 giúp bạn ghi nhớ mọi vấn đề trong cuộc sống. Địa chỉ của khách hàng, số điện thoại của người bạn mới quen, liệt kê các hạng mục cần mua sắm, nhật ký chi tiêu hàng ngày… Biết được tầm quan trọng, chúng em quyết định xây dựng ứng dụng sổ tay cá nhân. Với mong muốn giúp người dùng quản lý được thời gian, kế hoạch cho riêng mình. Giúp quản lý chi tiêu cá nhân để bạn biết sử dụng đồng tiền một cách hợp lý, hiệu quả hơn. Giúp ghi chú lại những thứ quan trọng, đặc biệt lưu trữ thông tin trình trạng sức khoẻ và hệ thống chatbot hỗ trợ trả lời các câu hỏi về sức khoẻ, bệnh lý và các triệu chứng thông thường mà mỗi cá nhân chúng ta gặp phải. 2. Mục tiêu Xây dựng ứng dụng hỗ trợ về các vấn đề cá nhân - Hỗ trợ việc lên kế hoạch và nhắc việc. - Hỗ trợ việc ghi chú thông tin, lưu trữ tài sản cá nhân (hình ảnh, video, tài khoản,…) - Hỗ trợ giúp cải thiện sức khỏe: lưu trữ thông tin sức khoẻ, chatbot hỗ trợ sức khoẻ (FAQ các vấn đề cơ bản về sức khỏe, cung cấp các bài viết của các chuyên gia về các bệnh lý, triệu chứng thông thường, Hỏi đáp về các khoảng thời gian ngủ nghỉ hợp lý,..) 3. Phạm vi Phạm vi môi trường: Ứng dụng di động. Phạm vi chức năng:  Đối với ứng dụng: - Cung cấp chức năng xem thông tin, đăng nhập, đăng ký, đăng xuất. - Cung cấp chức năng để người dùng lên kế hoạch và nhắc việc - Cung cấp chức năng để lưu ghi chú và xem các tư liệu, các thông tin đã lưu. - Cung cấp chức năng quản lý thông tin sức khoẻ 5  Đối với chatbot - Có khả năng trả lời các câu hỏi về các bệnh lý thường gặp một cách hiệu quả. - Hiểu và gửi các tài liệu hợp lý cho người dùng. - Tính toán và cung cấp thời gian hợp lý về việc ngủ nghỉ. 4. Đối tượng sử dụng Tất cả người dùng có lối sống sinh hoạt bận rộn, hay quên, không làm chủ được thời gian trong công việc hằng ngày muốn đề ra kế hoạch rõ ràng cho bản thân bao gồm theo dõi, đánh giá, điều chỉnh thời gian, tình trạng tài chính cá nhân,.. 5. Phương pháp thực hiện: Phương pháp làm việc: - Làm việc nhóm 2 thành viên thông qua cả 2 phương thức online và offline dưới sự hướng dẫn của giảng viên. Phương pháp nghiên cứu: - Phân tích nhu cầu sử dụng của đối tượng người dùng. - Nghiên cứu tài liệu các công nghệ liên quan. Phương pháp công nghệ: - Xây dựng giao diện mobile app để tương tác với người dùng - Quản lý source code thông qua Github 6. Nền tảng công nghệ: - Frontend: Flutter, Dart - Backend: nodejs, express, javascript - Database: MongoDB - Extension: Visual Studio Code 6 - DialogFlow Chatbot 7. Kết quả mong đợi: - Ứng dụng hoạt động ổn định, có thể xử lý thông tin nhanh chóng, giao diện thân thiện với người dùng,... - Chatbot có khả năng phản hồi nhanh và chính xác ở mức tương đối. 8. Hướng phát triển của đề tài: - Thêm tính năng đăng, xem bài viết chia sẻ - Liên kết với các ví điện tử trong quản lý chi tiêu - Hỗ trợ nhiều gói ngôn ngữ 9. Kế hoạch làm việc Thời gian thực hiện từ ngày 28/02/2022 đến ngày 11/06/2022 Thời gian Công việc dự kiến Phân công 28/02/2022 -  Tìm hiểu công nghệ 13/03/2022  Tìm hiểu yêu cầu nghiệp vụ 14/03/2022 -  Đặc tả yêu cầu phần mềm 27/03/2022  Thiết kế database  sketches  Xây dựng giao diện, Chánh, Quang  Các tính năng đăng nhập, đăng ký Chánh  Quên mật khẩu, thông tin cá nhân. Quang  Xây dựng giao diện Chánh, Quang 28/03/2022 10/4/2022 7 Chánh, Quang Chánh, Quang 11/4/2022 -  Các tính năng phân hệ lập kế hoạch và Chánh nhắc việc 1/5/2022  Tính năng ghi chú và lưu trữ tài sản cá Quang nhân (image, video, account, …)  Xây dựng giao diện, Chánh, Quang  Các tính năng lưu trữ thông tin sức khoẻ Chánh  Chatbot Quang 29/5/2022 -  Kiểm thử ứng dụng Chánh, Quang 11/6/2022  Hoàn thiện và sửa các lỗi  Hoàn thành báo cáo 2/5/2022 28/5/2022 . 8 NỘI DUNG Chương 1. GIỚI THIỆU 1.1. Lý do chọn đề tài Với nhiều hoạt động xảy ra thường xuyên mỗi phút, mỗi giờ hằng ngày. Khi chúng ta làm bất cứ một việc nào đó, ta thường làm theo bản năng và không có một kế hoạch nào nhất định. Và chúng ta hoàn toàn có thể quên béng đi chỉ ngay trong chớp mắt. Chính việc này dẫn đến tình trạng bị trì trệ, không mang đến kết quả tốt. Những điều đó khả năng là bạn không biết quản lý thời gian và lên kế hoạch cho cuộc sống. Ngoài thói quen sắp xếp lối sống sinh hoạt, sắp xếp các vật dụng trong nhà, thì bạn cũng cần phải có sự sắp xếp để quản lý thời gian của bản thân. Có một cuốn sổ tay để ghi vào đó những lịch hẹn hay deadline cho công việc trong tuần kế tiếp, lướt qua nó trước khi bắt đầu một ngày mới, chắc chắn bạn sẽ có được kế hoạch tốt hơn cho bản thân. Bộ nhớ của con người là vô hạn, nhưng nếu không thường xuyên được gợi nhớ thì các thông tin lưu trữ cũng có thể bị mất đi. Một cuốn sổ tay sẽ là trợ lý tuyệt vời giúp bạn ghi nhớ mọi vấn đề trong cuộc sống. Địa chỉ của khách hàng, số điện thoại của người bạn mới quen, liệt kê các hạng mục cần mua sắm, nhật ký chi tiêu hàng ngày… Biết được tầm quan trọng, chúng em quyết định xây dựng ứng dụng sổ tay cá nhân. Với mong muốn giúp người dùng quản lý được thời gian, kế hoạch cho riêng mình. Giúp quản lý chi tiêu cá nhân để bạn biết sử dụng đồng tiền một cách hợp lý, hiệu quả hơn. Giúp ghi chú lại những thứ quan trọng, đặc biệt lưu trữ thông tin trình trạng sức khoẻ và hệ thống chatbot hỗ trợ trả lời các câu hỏi về sức khoẻ, bệnh lý và các triệu chứng thông thường mà mỗi cá nhân chúng ta gặp phải. 1.2. Mục tiêu Xây dựng ứng dụng hỗ trợ về các vấn đề cá nhân - Hỗ trợ việc lên kế hoạch và nhắc việc. 9 - Hỗ trợ việc ghi chú thông tin, lưu trữ tài sản cá nhân (hình ảnh, video, tài khoản,…) - Hỗ trợ giúp cải thiện sức khỏe: lưu trữ thông tin sức khoẻ, chatbot hỗ trợ sức khoẻ (FAQ các vấn đề cơ bản về sức khỏe, cung cấp các bài viết của các chuyên gia về các bệnh lý, triệu chứng thông thường, Hỏi đáp về các khoảng thời gian ngủ nghỉ hợp lý,..) 1.3. Phạm vi Phạm vi môi trường: Ứng dụng di động. Phạm vi chức năng:  Đối với ứng dụng: - Cung cấp chức năng xem thông tin, đăng nhập, đăng ký, đăng xuất. - Cung cấp chức năng để người dùng lên kế hoạch và nhắc việc - Cung cấp chức năng để lưu ghi chú và xem các tư liệu, các thông tin đã lưu. - Cung cấp chức năng quản lý thông tin sức khoẻ  Đối với chatbot - Có khả năng trả lời các câu hỏi về các bệnh lý thường gặp một cách hiệu quả. - Hiểu và gửi các tài liệu hợp lý cho người dùng. 1.4. Đối tượng sử dụng Tất cả người dùng có lối sống sinh hoạt bận rộn, hay quên, không làm chủ được thời gian trong công việc hằng ngày muốn đề ra kế hoạch rõ ràng cho bản thân bao gồm theo dõi, đánh giá, điều chỉnh thời gian, tình trạng tài chính cá nhân,.. 1.5. Phương pháp thực hiện Phương pháp làm việc: 10 - Làm việc nhóm 2 thành viên thông qua cả 2 phương thức online và offline dưới sự hướng dẫn của giảng viên. Phương pháp nghiên cứu: - Phân tích nhu cầu sử dụng của đối tượng người dùng. - Nghiên cứu tài liệu các công nghệ liên quan. Phương pháp công nghệ: - Xây dựng giao diện mobile app để tương tác với người dùng - Quản lý source code thông qua Github 11 Chương 2. KIẾN THỨC VÀ CÔNG NGHỆ NỀN TẢNG 2.1. Kiến thức nền tảng Để thiết kế và hoàn thiện sản phẩm đúng với yêu cầu người dùng, chúng em đã vận dụng các kiến thức có liên quan, cụ thể:  Frontend: Ngôn ngữ Dart với mobile UI framework Flutter và công cụ lập trình Visual Studio Code: Kiến thức lập trình hướng đối tượng, chức năng cơ bản của các Widget, thiết kế giao diện, xử lí sự kiện …  Backend: Nodejs với Javascript và thư viện hỗ trợ tạo API Express: tạo API, tương tác database,…  Cơ sở dữ liệu: thiết kế CSDL phù hợp với mô hình ứng dụng, ràng buộc dữ liệu, truy vấn dữ liệu… 2.2. Công nghệ sử dụng 2.2.1. Ngôn ngữ lập trình Dart Hình 2.1: Ngôn ngữ lập trình Dart  Giới thiệu: Dart là ngôn ngữ lập trình được phát triển bởi Google, hiện đã được chấp thuận bởi tổ chức Ecma. Dart được sử dụng để xây dựng các loại ứng dụng: web, server, di động (IOS và Android với công cụ Flutter). Dart là ngôn ngữ hỗ trợ lập trình hướng đối tượng, cú pháp kiểu C, mã code Dart có thể biên dịch thành JavaScript để chạy trên trình duyệt. Nó hỗ trợ những khái niệm lập trình hiện đại như giao diện lớp, lớp trừu tượng ... 12 Từ ngôn ngữ lập trình Dart, Google giới thiệu SDK Futter để sử dụng ngôn ngữ Dart phát triển ứng dụng di động chạy đa nền tảng (Một lần viết code build ra ứng dụng cho IOS và Android).  Lý do sử dụng: Vì Dart là một ngôn ngữ phổ biến hiện nay trong việc phát triển ứng dụng di động, nó giúp tạo ra ứng dụng một cách nhanh chóng và đẹp mắt hơn. Vì đây là ứng dụng hướng đến mọi người dùng nên việc dùng Dart sẽ giúp phát triển ứng dụng đa nền tảng cho cả người dùng IOS và Android. 2.2.2. Flutter Hình 2.2: Flutter SDK  Giới thiệu: Đây là một UI Framework mã nguồn mở miễn phí được phát triển bởi Google và phát hành vào tháng 5/2017. Flutter cho phép người dùng tạo ra native app (ứng dụng di động gốc) với một codebase có giao diện chất lượng cao trên iOS và Android trong thời gian ngắn nhất. Flutter hoạt động trên code có sẵn và được rất nhiều lập trình viên và các tổ chức sử dụng. Sự phát triển của Flutter đã giải quyết được bài toán thường gặp trong di động là native PerFormance và Fast Development. Nếu như Code Native thuần chỉ đảm bảo được Native PerFormance và React Native chỉ giải quyết được Fast Development thì Flutter sẽ giải quyết được cả hai vấn đề trên. Flutter gồm có 2 thành phần quan trọng là: 13 - Một SDK (Software Development Kit): Tổng hợp các công cụ giúp người dùng phát triển ứng dụng. Nó bao gồm cả những công cụ biên dịch mã thành các mã máy gốc dùng cho iOS và Android. - Một Framework (UI Library based on widgets): Là tập hợp gồm nhiều thành phần giao diện người dùng có thể tái sử dụng như slider, button,… giúp người dùng có thể cá nhân hóa theo nhu cầu cá nhân.  Lý do sử dụng Có thể sử dụng Flutter để tạo ra các ứng dụng di động vô cùng đơn giản mà không cần phải code nhiều. Với Flutter, Có thể tạo ra các hiệu ứng và đồ hoạ bất kỳ trên cả hai nền tảng là Android và IOS. Khi làm việc liên quan đến giao diện người dùng UI, Flutter giúp tạo ra sự thuận tiện cho bạn cũng như thay đổi code và xem kết quả trong thời gian thực bởi nó sở hữu Hot Reload. 2.2.3. Nodejs Hình 2.3: Javascript runtime Nodejs  Giới thiệu: NodeJS là mã nguồn mở chạy trên môi trường V8 JavaScript runtime (một trình thông dịch Javascript chạy cực nhanh trên trình duyệt Chrome). NodeJS giúp các nhà phát triển xây dựng các ứng dụng web một cách đơn giản và dễ dàng mở rộng. 14 NodeJS có thể được dùng để xây dựng các loại ứng dụng khác nhau như các ứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thời gian thực, máy chủ Rest API … Tuy nhiên, NodeJS thường được dùng chủ yếu để xây dựng các chương trình mạng như máy chủ web, tương tự như PHP, Java hoặc ASP.NET. Vì đây là mã nguồn mở nên cho phép bạn sử dụng miễn phí và đồng thời được liên tục được chỉnh sửa, cải tiến bởi cộng đồng các nhà phát triển toàn cầu.  Lý do sử dụng: Nodejs chạy đa nền tảng phía Server, sử dụng kiến trúc hướng sự kiện Eventdriven, cơ chế non-blocking I/O làm cho nó nhẹ và hiệu quả. Có thể chạy ứng dụng Nodejs ở bất kỳ đâu trên máy Mac – Window – Linux, hơn nữa cộng đồng Nodejs rất lớn và hoàn toàn miễn phí. Các ứng dụng NodeJS đáp ứng tốt thời gian thực và chạy đa nền tảng, đa thiết bị. 2.2.4. Expressjs Hình 2.4: Expressjs framework  Giới thiệu: Express là một framework nhỏ và tiện ích để xây dựng các ứng dụng web, cung cấp một lượng lớn của tính năng mạnh mẽ để phát triển các ứng dụng web và mobile. Nó rất dễ dàng để phát triển các ứng dụng nhanh dựa trên Nodejs cho các ứng dụng Web. Các tính năng cơ bản của Express framework: - Cho phép thiết lập các lớp trung gian để trả về các HTTP request. 15
- Xem thêm -

Tài liệu liên quan