GIỚI THIỆU
ĐẶT VẤN ĐỀ
Dịch bệnh đã để lại ấn tượng sâu sắc, với việc giao tiếp hàng ngày giữa con người luôn diễn ra, bất kỳ sự cố nào cũng có thể gây ra hệ lụy lớn Để hạn chế tác động, cần bắt đầu từ quy mô nhỏ, như trong trường học Việc ghi nhận thông tin sinh viên ra vào trường hiện nay gặp khó khăn khi thực hiện thủ công, tốn thời gian và nguồn lực Khảo sát cho thấy, thông tin về Covid trên Website và Google Play tuy phong phú nhưng thiếu chi tiết, gây khó khăn trong việc kiểm soát Các ứng dụng Covid trên Google Play không hiệu quả cho khu vực Đại Học Tây Đô Đề tài luận văn này nhằm phát triển một Website kết hợp với ứng dụng, giúp kiểm soát, thống kê và truy vết nhanh chóng các đối tượng có nguy cơ nhiễm bệnh trong trường học.
Hệ thống hoạt động thông qua kết nối giữa Website và ứng dụng, giúp người dùng dễ dàng nắm bắt và cập nhật thông tin kịp thời Phía Website được chia thành ba phân hệ chính: quản lý người dùng, quản lý đối tác sử dụng hệ thống và truy vết các đối tượng Ở phía người dùng, hệ thống cũng được chia thành ba phân hệ: quét mã QR, thông báo cho người dùng và gửi phản hồi.
LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Để kiểm soát và thống kê lượng người ra vào trong ngày, cần thực hiện kê khai thông qua các mẫu giấy có sẵn và phân chia hợp lý.
Hệ thống Hỗ Trợ Truy Vết Covid Tại Trường Đại Học Tây Đô cung cấp giải pháp minh bạch và hiệu quả trong việc kiểm soát ra vào khu vực, giúp giảm bớt thời gian và công sức cho người dùng Hệ thống này không chỉ mang lại nhiều chức năng tiện lợi cho việc tìm kiếm và thống kê số người ra vào, mà còn tối ưu hóa việc cập nhật và quản lý thông tin, tạo ra nhiều lựa chọn hơn cho người sử dụng.
Mục tiêu của đề tài luận văn này là xây dựng một môi trường thông tin và liên lạc hiệu quả giữa người dùng và quản trị hệ thống, đồng thời nâng cao chất lượng và kỷ luật của hệ thống thông qua sự quản lý của người quản trị.
Người dùng có thể dễ dàng xác thực thông qua đăng nhập mã OTP, giúp quản lý thông tin dựa trên số điện thoại hiệu quả hơn Ứng dụng Di Động cung cấp chức năng đơn giản cho phép người dùng cập nhật thông tin cá nhân và số mũi tiêm bằng cách liên hệ với quản trị hệ thống Một tính năng quan trọng là quét mã QR, ghi lại thông tin như thời gian, người quét và khu vực quét, rất cần thiết cho việc truy vết người dùng có nguy cơ mắc Covid Nếu người dùng tiếp xúc gần với ca bệnh Covid, ứng dụng sẽ gửi thông báo và số ngày cách ly cần thiết, từ đó giúp người dùng bảo vệ sức khỏe và ngăn chặn sự lây lan của dịch bệnh.
Khi người dùng được cấp quyền bởi hệ quản trị, họ trở thành đối tác và chịu sự quản lý của quản trị hệ thống Họ có thể thực hiện các chức năng được cung cấp và hiển thị trên một trang riêng biệt, giúp hệ thống hoạt động liên tục thông qua các đối tác.
Chức năng của quản trị hệ thống được trình bày trên một trang riêng, bao gồm giao diện Dashboard, quản lý địa điểm, vaccine, người dùng, đối tác, quét mã nhanh, đánh giá và ý kiến, cùng với quản lý truy vết khai báo Trong đó, quản lý truy vết khai báo là nhiệm vụ chính, lưu trữ thông tin người quét tại các địa điểm đã định, phục vụ cho việc truy vết và xuất file excel để quản lý, cũng như đánh dấu những người có nguy cơ nhiễm bệnh Ngoài ra, quản trị hệ thống có quyền xóa hoặc thu hồi quyền của đối tác nếu vi phạm quy định.
Hệ thống này nhằm tạo ra một môi trường quản lý và thống kê dịch bệnh chuyên nghiệp trong trường học, bao gồm ba phân hệ: quản trị hệ thống, đối tác và người dùng Hệ thống giúp giảm thời gian và công sức trong việc thống kê và kiểm soát số lượng học sinh ra vào hàng ngày, từ đó hỗ trợ việc truy vết dễ dàng và hạn chế sự lây lan của dịch bệnh.
IV ĐỐI TƯỢNG VÀ PHẠM VI NHIÊN CỨU
1 Đối tượng nghiên cứu Đối tượng nghiên cứu mà đề tài này hướng đến là các sinh viên trong khu vực nhà trường Đề tài tập trung nghiên cứu về các tình huống sinh viên bị bệnh Covid-19 Quản trị hệ thống sẽ truy vết những sinh viên đã tải ứng dụng Di Động này về và quét mã QR ở các phòng học hoặc phòng thực hành được dán mã QR địa điểm và quản trị hệ thống sẽ truy vết lại các khả năng tiếp xúc gần với người bệnh Covid và gửi thông báo cho họ cách ly tại nhà (có hiển thị đến ngày hết cách ly) thông qua ứng dụng Di Động
2 Phạm vi nghiên cứu Đề tài được nghiên cứu và phát triển trọng phạm vi khu vực nhà trường như các trường trung học, trung học phổ thông hoặc trường Đại Học ở Việt Nam Các học sinh viên cần tải ứng dụng Di Động truy vết Covid về và liên hệ với quản trị hệ thống để cập nhật thông tin số mũi tiêm để dễ quản lý hơn
Phân tích yêu cầu hệ thống quản lý lớp học trong bối cảnh Covid-19 là cần thiết Việc khảo sát và thu thập ý kiến từ sinh viên sẽ giúp xác định những vấn đề trong quản lý lớp học chưa hiệu quả, đặc biệt khi có sinh viên nhiễm Covid-19 Điều này sẽ hỗ trợ trong việc xác định rõ nhu cầu và cải thiện hệ thống quản lý.
Thiết kế hệ thống dựa trên khảo sát từ sinh viên để xác định các chức năng cần thiết Mô tả chi tiết các chức năng của hệ thống, bao gồm việc xây dựng cơ sở dữ liệu cho trang quản lý website và ứng dụng di động, cùng với các trường hợp sử dụng cụ thể.
To set up, use the JavaScript programming language to develop web applications with the ReactJS framework and NodeJS server Additionally, create mobile applications using Android Studio with Java programming and utilize MongoDB and Firebase for database management.
VI BỐ CỤC LUẬN VĂN
Bố cục của toàn bộ quyển luận văn này bao gồm:
Phần 1 - Giới thiệu: Trình bày một cách khái quát nhất về đề tài nhằm giúp người đọc hiểu một cách bao quát nhất có thể thông qua các mục: đặt vấn đề, mục tiêu đề tài, lịch sử giải quyết vấn đề, nội dung nghiên cứu, đối tượng nghiên cứu và phạm vi nghiên cứu chính của đề tài
Phần 2 – Trình bày về hệ thống Covid:
- Chương 1: Tổng quát về đề tài này, các cơ sở lý thuyết được sử dụng trong đề tài và các chức năng có trong hệ thống
- Chương 2: Thiết kế các sơ đồ và cơ sở dữ liệu được sử dụng trong suốt quá trình hệ thống vận hành và các công nghệ mới
- Chương 3: Trình bày về Module trên Ứng Dụng Thiết Bị Di Động, cách sử dụng và các tính năng có trên nền tảng này
- Chương 4: Trình bày kết quả sử dụng ứng dụng và Website, kiểm thử tính chính xác và sẵn dùng của ứng dụng và Website
Phần 3 – Kết quả và hướng phát triển:
Tóm tắt những kết quả hoạt động của hệ thống, đồng thời đề xuất các giải pháp bảo trì, sửa chữa và phát triển trong tương lai.
HỆ THỐNG TRUY VẾT COVID
Từ năm 2019 đến nay, tình hình Covid-19 tại Việt Nam đã gây ra nhiều thiệt hại về người và tài sản Sự chủ quan sau khi tiêm chủng phòng ngừa Covid-19 có thể dẫn đến sự trở lại của virus với các biến chủng mới, như biến chủng BA.5 vừa được phát hiện Tại Bạc Liêu, có 26 ca nhiễm Covid-19 cũ và 2 trẻ em đã tử vong, cho thấy sự cần thiết phải ngăn ngừa và truy vết lây lan Đề tài nghiên cứu này tập trung vào trường Đại Học Tây Đô, với hệ thống liên kết gồm 3 phần: Người dùng, đối tác và quản trị hệ thống Quản trị hệ thống sẽ hợp tác với đối tác để cung cấp quyền hạn hỗ trợ trong việc cập nhật thông tin, truy vết và khai báo, nhằm tạo sự tiện lợi và nhanh chóng trong công tác phòng chống Covid-19.
Người dùng có thể bắt đầu sử dụng ứng dụng Di Động (Android) bằng cách xác thực số điện thoại để tạo tài khoản Sau khi đăng nhập bằng mã OTP, người dùng sẽ truy cập vào các chức năng của ứng dụng Nếu là người dùng mới, họ có thể cập nhật thông tin và tải mã QR để cập nhật chi tiết số mũi vaccine bằng cách liên hệ với quản trị hệ thống Người dùng cũng có thể gửi phản ánh đến quản trị hệ thống qua điện thoại hoặc liên kết với Zalo Chức năng quét mã QR giúp cập nhật thông tin lên quản trị hệ thống, làm cho việc truy vết dữ liệu trở nên dễ dàng hơn.
Các đối tác sẽ trực tiếp theo dõi hệ thống và nhận thông tin từ người dùng thông qua các chức năng do quản trị hệ thống cung cấp Họ chỉ có thể thực hiện các chức năng này khi được sự cho phép của quản trị hệ thống, không thể tự ý phát sinh các chức năng khác.
Quản trị hệ thống là module thiết yếu kết nối đối tác và người dùng, đảm nhận việc phân công chức năng cho đối tác và quản lý hoạt động của hệ thống Chức năng chính của quản trị hệ thống bao gồm nhiều nhiệm vụ quan trọng.
TỔNG QUAN VỀ ĐỀ TÀI
MÔ TẢ ĐỀ TÀI
Từ năm 2019 đến nay, Covid-19 đã gây thiệt hại lớn về người và tài sản tại Việt Nam Sự chủ quan sau khi tiêm chủng đã dẫn đến nguy cơ tái bùng phát với biến chủng mới, như Covid-19 BA.5 Gần đây, 26 người ở Bạc Liêu nhiễm lại chủng cũ và 2 trẻ em đã tử vong Đề tài này ra đời nhằm ngăn ngừa và truy vết, giảm khả năng lây lan, với nghiên cứu chủ đạo tại trường Đại Học Tây Đô Luận văn trình bày một hệ thống liên kết gồm ba phần chính: Người dùng, đối tác và quản trị hệ thống, nhằm cung cấp quyền cho đối tác trong việc hỗ trợ cập nhật thông tin, truy vết và khai báo, từ đó mang lại sự tiện lợi và nhanh chóng trong công tác phòng chống Covid-19.
Người dùng có thể bắt đầu sử dụng ứng dụng Di Động (Android) bằng cách xác thực số điện thoại để tạo tài khoản Sau khi đăng nhập bằng mã OTP, họ sẽ truy cập vào các chức năng của ứng dụng Người dùng mới có thể cập nhật thông tin và tải mã QR để cập nhật chi tiết về số mũi vaccine bằng cách liên hệ với quản trị hệ thống Ngoài ra, người dùng có thể gửi phản ánh đến quản trị hệ thống qua số điện thoại hoặc liên kết với Zalo Chức năng quét mã QR cũng giúp cập nhật thông tin lên hệ thống, tạo điều kiện cho việc truy vết dữ liệu dễ dàng hơn so với phương pháp thủ công.
Các đối tác sẽ trực tiếp quản lý hệ thống và nhận thông tin từ người dùng thông qua các chức năng do quản trị hệ thống cung cấp Họ chỉ có thể thực hiện các chức năng khi được sự cho phép của quản trị hệ thống, không thể tự ý phát sinh chức năng khác.
Quản trị hệ thống là module quan trọng kết nối đối tác và người dùng, chịu trách nhiệm phân công chức năng cho đối tác và vận hành hệ thống Chức năng chính của quản trị hệ thống là
Chức năng quản lý truy vết và xác thực thông tin cho phép người quản trị hệ thống tìm kiếm người đã khai báo tại các địa điểm theo tên, địa điểm và ngày giờ Tính năng đặc biệt giúp đánh dấu những người có nguy cơ nhiễm và thông báo ngày hết cách ly an toàn Quản trị hệ thống có khả năng cung cấp hoặc thu hồi quyền cho các đối tác, đảm bảo phân công công việc hiệu quả Thông tin được cập nhật chỉ có thể bị xóa bởi người sử dụng hệ quản trị hoặc các đối tác được cấp quyền Ngoài ra, hệ thống còn có các chức năng quản lý người dùng, quản lý vaccine, quản lý địa điểm khai báo, quét mã nhanh để xem thông tin người dùng và cung cấp tài khoản cho đối tác.
CÁC CHỨC NĂNG CHÍNH CỦA HỆ THỐNG
+ Đăng nhập số điện thoại kiểm tra số điện thoại chủ sở hữu
Tạo tài khoản khách hàng là bước quan trọng để người dùng có thể truy cập vào hệ thống Nếu bạn đã có tài khoản, hệ thống sẽ tự động chuyển hướng bạn đến trang chính.
+ Tải mã QR: dùng để gửi cho quản trị hệ thống để cập nhật thông tin các mũi tiêm chủng
Người dùng có thể cập nhật thông tin cá nhân như tên, địa chỉ và giới tính Tuy nhiên, số điện thoại không thể thay đổi trực tiếp, vì mỗi người dùng chỉ được phép sử dụng một số điện thoại để thuận tiện cho việc quản lý Nếu cần thay đổi số điện thoại, người dùng phải liên hệ với quản trị hệ thống hoặc đối tác có chức vụ quản lý người dùng.
Quét mã QR cho phép người dùng cập nhật thông tin lên hệ thống quản trị khi di chuyển đến các phòng học hoặc phòng thực hành có dán mã QR.
+ Liên hệ: Người dùng có thể liên hệ trực tiếp với quản trị hệ thống bằng số điện thoại để khai báo vấn đề
+ Gửi phản ánh: Giúp người dùng phản ánh thông tin, giúp truy vấn Covid dễ dàng hơn
+ Xem thông tin: xem thông tin chi tiết số mũi tiêm (trường hợp không có thông tin tiêm, liên hệ quản trị hệ thống để thêm vào)
+ Nhận và thực hiện các chức năng được cung cấp bởi hệ quản trị
+ Quyền quản lý người dùng bao gồm các thông tin đầy đủ của người dùng
+ Quyền quản lý địa điểm khai báo là các khu vực được tạo ra để người dùng có thể dùng thiết bị Di Động để quét khai báo
+ Quyền quản lý lô vaccine và các loại trong lô vaccine để thống kê và kiểm soát số lượng vaccine
+ Quyền truy vết khai báo người dùng để tìm kiếm và đánh dấu người dùng đã khai báo tại các địa điểm (nếu có bệnh)
+ Quyền quyết mã nhanh để xem thông tin chi tiết của người dùng
+ Thực hiện các chức năng thêm, sửa, xóa và cập nhật các thông tin trong cơ sở dữ liệu
+ Tạo và cung cấp tài khoản cho đối tác để có thể truy cập và thực hiện các tác vụ trong hệ thống.
CƠ SỞ LÝ THUYẾT
Material UI là một thư viện thành phần React mã nguồn mở triển khai Material Design của Google
Nó bao gồm một bộ sưu tập toàn diện các thành phần được tạo sẵn, sẵn sàng để sử dụng trong quá trình sản xuất ngay khi xuất xưởng
Material UI nổi bật với thiết kế đẹp mắt và bộ tùy chọn tùy chỉnh, giúp bạn dễ dàng triển khai hệ thống thiết kế riêng trên các components phổ biến như button, switch, grid view, list và nhiều components khác.
Android Studio là IDE chính thức được sử dụng trong phát triển ứng dụng Android dựa trên IntelliJ IDEA
Android Studio là công cụ chính để phát triển ứng dụng, cung cấp giao diện giúp người dùng tạo ứng dụng và xử lý các tệp phức tạp Ngôn ngữ lập trình chính được sử dụng trong Android Studio là Java, và nó đã được cài đặt sẵn trên thiết bị của bạn.
1.3.3 Ngôn ngữ lập trình Java
Java là ngôn ngữ lập trình hướng đối tượng phổ biến, được ứng dụng rộng rãi trong phát triển phần mềm, website, game và ứng dụng di động.
Java được sáng lập bởi James Gosling cùng với các đồng nghiệp tại Sun MicroSystem vào năm 1991 Ban đầu, ngôn ngữ này được phát triển để viết phần mềm cho các sản phẩm gia dụng và được gọi là Oak.
Tại Google I/O 2013, Google đã ra mắt thư viện mạng Volley cho phát triển ứng dụng Android, giúp quản lý các yêu cầu mạng một cách hiệu quả mà không cần viết nhiều mã Volley cho phép thực hiện nhiều yêu cầu đồng thời trên các luồng khác nhau với các mức độ ưu tiên khác nhau Tất cả phản hồi được lưu trữ trong bộ nhớ cache, giúp tăng tốc độ tải lại dữ liệu Tuy nhiên, do toàn bộ phản hồi được lưu trong bộ nhớ, Volley không phù hợp cho việc tải dữ liệu lớn như nhạc hay phim, nhưng lại rất hiệu quả cho các loại dữ liệu nhẹ như JSON, hình ảnh và chuỗi.
1.3.5 Tích hợp Material Design vào ứng dụng Android Được Google giới thiệu từ năm 2014 nhưng với nhiều người thì đây vẫn còn là thứ mới mẻ Nó mới bởi Material Design liên tục được cập nhật Với bộ component Material design thì người lập trình thực sự đã nhàn hơn rất nhiều trong việc thiết kế giao diện ứng dụng Hơn thế nữa còn giúp tạo giao diện chuyên nghiệp hơn, trải nghiệm người dùng tốt hơn nhiều và tương thích với thiết bị tốt hơn…
1.3.6 Các công nghệ sử dụng khác
MongoDB là một cơ sở dữ liệu tài liệu (document database) lưu trữ dữ liệu dưới dạng JSON và được phân loại là NoSQL Khác với các mô hình cơ sở dữ liệu quan hệ, MongoDB không có liên kết giữa các tài liệu và không áp đặt ràng buộc về dữ liệu, mang lại tốc độ truy xuất dữ liệu cao.
Firebase là dịch vụ API cho phép lưu trữ và đồng bộ hóa dữ liệu theo thời gian thực, giúp bạn không phải lo lắng về backend server, cơ sở dữ liệu hay các thành phần real-time như socket.io.
10 nền tảng đám mây của Google hỗ trợ lập trình viên phát triển ứng dụng nhanh chóng bằng cách tối ưu hóa các thao tác với cơ sở dữ liệu.
Firebase Remote Config là dịch vụ đám mây cho phép bạn thay đổi hành vi và giao diện ứng dụng mà không cần người dùng tải xuống bản cập nhật Bạn có thể tạo giá trị mặc định trong ứng dụng để kiểm soát các yếu tố này và sau đó sử dụng bảng điều khiển Firebase hoặc API để ghi đè các giá trị cho tất cả người dùng hoặc cho các phân đoạn cụ thể Ứng dụng sẽ tự động kiểm tra và áp dụng các bản cập nhật với tác động tối thiểu đến hiệu suất.
+ Firebase Authentication: là chức năng dùng để xác thực người dùng bằng Password, số điện thoại hoặc tài khoản Google, Facebook hay Twitter, v.v
+ Firebase Cloud Messaging: Với Firebase Cloud Messaging, ta có thể gửi nhận tin nhắn miễn phí Khái niệm "Gửi message" ở đây còn dùng để chỉ việc push thông báo
Heroku là nền tảng đám mây (PaaS - Platform as a Service) giúp lập trình viên xây dựng, triển khai, quản lý và mở rộng ứng dụng một cách linh hoạt và dễ dàng Nền tảng này cung cấp con đường đơn giản nhất để đưa sản phẩm đến tay người dùng, cho phép các nhà phát triển tập trung vào việc phát triển sản phẩm mà không cần lo lắng về việc vận hành máy chủ hay phần cứng.
Postman là một công cụ mạnh mẽ cho việc thao tác với API, đặc biệt là REST, và hiện đang là một trong những công cụ phổ biến nhất cho thử nghiệm API Với Postman, người dùng có thể thực hiện các yêu cầu Rest API mà không cần viết mã Công cụ này hỗ trợ đầy đủ các phương thức HTTP như GET, POST, PUT, PATCH, DELETE, và cho phép lưu lại lịch sử các yêu cầu, giúp dễ dàng sử dụng lại khi cần thiết.
Git: là hệ thống kiểm soát phiên bản phân tán mà nguồn mở (OpenSource
Hệ thống Kiểm soát Phiên bản Phân phối (Distributed Version Control System) như Git là rất quan trọng trong các dự án thực tế có nhiều nhà phát triển làm việc đồng thời Nó giúp đảm bảo rằng không xảy ra xung đột mã giữa các lập trình viên, từ đó nâng cao hiệu quả làm việc nhóm và quản lý mã nguồn.
11 cầu trong dự án thay đổi thường xuyên Vì vậy, cần một hệ thống cho phép nhà phát triển quay lại phiên bản cũ hơn của mã
THIẾT KẾ VÀ CÀI ĐẶT GIẢI PHÁP
SƠ ĐỒ USECASE
Hình 1 Sơ đồ luồng dữ liệu phía người dùng
Người dùng sau khi đăng nhập vào hệ thống mới cấp phép cho người dùng sử dụng các chức năng như cập nhật thông tin, quét mã QR….
THIẾT KẾ CƠ SỞ DỮ LIỆU
Collection là một tập hợp các tài liệu được lưu trữ dưới dạng JSON, tương tự như dòng trong cơ sở dữ liệu quan hệ Hệ thống bao gồm các collection như: admin, partner, place, user, userPlace, userVaccine, vaccine, vaccineLot và feedBack Các collection quan trọng sẽ được trình bày chi tiết, trong khi các collection còn lại sẽ được đề cập ở phần phụ lục.
Hình 2 Sơ đồ Admin Collections
- ADMIN Collections dùng để tạo ra để lưu tài khoản và quản lý tài khoản của admin bao gồm các trường:
Hình 3 Sơ đồ Partner Collections
- Partner Collections là các đối tác được tạo ra từ Admin và bao gồm các trường như:
+ permissionUser là quyền liên quan đến người dùng
+ permissionPlace là quyền liên quan đến địa điểm
+ permissionScan là quyền liên quan đến quét mã dùng để cập nhật thông tin nhanh người dùng
+ permissionDeclaration là quyền liên quan đến khai báo truy vết
+ permissionInfoVaccine là quyền về thông tin vaccine tất cả thuộc kiểu Boolean
Hình 4 Sơ đồ Place Collections
Place Collections dùng để lưu các địa điểm tạo ra để khai báo bao gồm các trường như: name kiểu String và address kiểu String
Hình 5 Sơ đồ User Collections
- User Collections dùng để lưu trữ thông tin của người dùng ở phía khách hàng bao gồm các trường như:
+ gender là giới tính kiểu String
+ phoneNumber là số điện thoại kiểu String
+ fullName là tên đầy đủ kiểu String
+ address là địa chỉ kiểu String
+ alert là để đánh dấu trong việc truy vết khai báo theo kiểu Boolean
+ dateCheck là dùng để lưu trữ thời gian đã đánh dấu
+ tokenUser là mã token kiểu String
Hình 6 Sơ đồ UserPlace Collections
- UserPlace dùng để lưu trữ địa điểm mà người dùng đã quét để khai báo gồm 2 trường
+ user là khóa chính kiểu ObjectID
+ place có kiểu ObjectID tham chiếu để 2 collections đó là User và Place
Hình 7 Sơ đồ UserVaccine Collections
- UserVaccine Collections dùng để lưu trữ vaccine mà người dùng đã tiêm gồm các trường:
+ user với khóa chính kiểu ObjectID
+ vaccine là khóa chính với kiểu Object
+ vaccineLot với kiểu là ObjectID tham chiếu lần lượt đến các Collections User, Vaccine và VaccineLot
Hình 8 Sơ đồ Vaccine Collections
Vaccine Collections dùng để lưu trữ vaccine gồm trường name với kiểu là String
Hình 9 Sơ đồ UserVaccine Collections
- VaccineLot là dùng để lưu trữ các lô vaccine và bên trong lô sẽ gồm các loại vaccine nên Collections này gồm các trường:
+ trường vaccine với khóa chính kiểu Object tham chiếu đến Collections Vaccine
Hình 10 Sơ đồ feedBack Collections
- FeedBack là nơi dùng để lưu trữ những ý kiến và phản hồi của người dùng trong quá trình sử dụng gồm các trường:
+ user với khóa chính kiểu ObjectID
+ namePlace là tên khu vực kiểu String
+ comment là bình luận kiểu String
+ statusComment là trạng thái bình luận kiểu Boolean
MODULE ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG
MÔ TẢ LUỒNG DỮ LIỆU
Hình 11 Mô tả luồng dữ liệu trên ứng dụng Di Động
Ký kiệu: Bắt đầu, Kết thúc
CHỨC NĂNG CỦA NGƯỜI DÙNG
3.2.1 Chức năng đăng ký hoặc đăng nhập tài khoản
Người dùng có thể đăng ký tài khoản trên thiết bị Di Động bằng số điện thoại, giúp tăng tính xác thực và dễ quản lý Việc đăng ký và đăng nhập qua số điện thoại tiện lợi hơn so với việc nhớ tài khoản hay mật khẩu Để sử dụng ứng dụng, người dùng cần nhập số điện thoại và sau đó nhận mã OTP để xác thực quyền sở hữu.
Hình 12 Giao diện đăng nhập
Hình 13 Giao diện mã OTP
Mã OTP là một yếu tố quan trọng trong việc xác thực người dùng, vì nếu nhập sai, quá trình xác thực sẽ không thành công Nó giúp đảm bảo rằng chỉ có người dùng hợp lệ mới có thể truy cập ứng dụng, ngăn chặn việc đăng nhập trái phép từ những người khác sử dụng số điện thoại của chủ tài khoản Việc xác thực điện thoại qua mã OTP đã được áp dụng rộng rãi trên nhiều nền tảng lớn như My Viettel và Foody.
Sau khi xác thực số điện thoại, ứng dụng sẽ chuyển đến trang tải dữ liệu, nơi hệ thống kiểm tra xem số điện thoại này đã được đăng ký hay chưa.
Hình 14 Giao diện đợi load dữ liệu
Khi người dùng mới đăng ký bằng số điện thoại, ứng dụng sẽ chuyển đến trang đăng ký để tạo tài khoản mới Trong quá trình này, số điện thoại không thể thay đổi.
Hình 15 Giao diện tạo tài khoản Hình 16 Sau khi nhập dữ liệu
Trường hợp số điện thoại này đã từng đăng ký và hệ thống kiểm tra đã có dữ liệu, ứng dụng sẽ tự động vào trang giao diện chính
Hình 17 Giao diện tải dữ liệu Hình 18 Giao diện người dùng đăng nhập
3.2.2 Cập nhật thông tin người dùng
Người dùng có thể cập nhật thông tin cá nhân như họ tên, địa chỉ và giới tính trên trang giao diện chính, nhưng không thể thay đổi số điện thoại Việc này nhằm đảm bảo quản lý người dùng hiệu quả, tránh tình trạng sử dụng số điện thoại không đúng hoặc không có thật Để thay đổi số điện thoại, người dùng cần liên hệ trực tiếp với quản trị hệ thống hoặc các đối tác có quyền hạn Quản lý thông tin chính xác là rất quan trọng, đặc biệt trong bối cảnh dịch bệnh, vì thông tin sai lệch có thể dẫn đến các hình thức xử lý vi phạm từ Đại Học Tây Đô hoặc nơi sử dụng ứng dụng.
Hình 19 Cập nhật dữ liệu Hình 20 Giao diện chức năng cập nhật
Chức năng tải mã QR giúp người dùng nhanh chóng tìm kiếm trên hệ thống và khai báo thông tin Thông tin này có thể được gửi đến các mạng xã hội như email, Zalo, v.v., cho quản trị viên Tính năng này liên quan đến việc xem thông tin cho các chức năng tiếp theo.
Hình 21 Tải mã QR Hình 22 Giao diện tải mã QR
3.2.4 Xem thông tin Ở trang xem thông tin người dùng có thể hiển thị chi tiết số mũi tiêm chủng mà họ khai báo bao gồm: Số mũi tiêm, tên mũi tiêm, và thời gian tiêm Đối với trường hợp thông tin trống Việc này cần liên hệ với quản trị hệ thống để cập nhật số mũi tiêm Việc tự nhập số mũi tiêm chủng người dùng có thể tự động khai số mũi không có thực làm cho việc kiểm soát trở nên khó khăn và ảnh hưởng đến một số quy định do quản trị hệ thống đưa ra.
Hình 23 Xem thông tin chi tiết
Hình 24 Giao diện thông tin khi chưa có vaccine
Hình 25 Giao diện xem thông tin chi tiết đã thêm dữ liệu
3.2.5 Chức năng quét mã QR
Khi sử dụng chức năng mã QR tại Đại Học Tây Đô, người dùng quét mã QR được cung cấp ở các phòng học và phòng thực hành để cập nhật thông tin và thời gian lên hệ thống Trong trường hợp dịch bệnh xảy ra, hệ thống sẽ truy vết và cảnh báo người dùng qua ứng dụng.
Hình 26 Quét mã QR Hình 27 Giao diện quét mã QR
3.2.6 Chức năng gửi phản ánh
Chức năng gửi phản ánh sẽ hỗ trợ việc truy vết Covid-19 hiệu quả hơn, đặc biệt khi người dùng phát hiện có trường hợp nhiễm Covid-19 trong khu vực trường học.
Người dùng có thể gửi phản ánh lên quản trị hệ thống để truy vết các trường hợp nghi ngờ nhiễm Covid-19, nhằm hạn chế sự lây lan của virus Thông tin phản ánh bao gồm nội dung cụ thể và địa điểm, được quản trị hệ thống tạo ra dựa trên danh sách các địa điểm trong trường Đại Học Tây Đô.
Hình 28 Gửi phản ánh Hình 29 Giao diện phản ánh
Hình 30 Nội dung gửi phản ánh
Chức năng liên hệ cho phép người dùng nhanh chóng kết nối với quản trị hệ thống để cập nhật thông tin hoặc giải quyết các vấn đề liên quan đến ứng dụng Người dùng có thể liên lạc trực tiếp qua gọi điện thoại hoặc sử dụng các ứng dụng như Zalo.
Hình 31 Liên hệ Hình 32 Liên hệ zalo hoặc điện thoại
Hình 33 Giao diện chức năng gọi thoại
Hình 34 Giao diện chức năng gọi thoại
Hình 35 Giao diện gọi thông qua zalo
Khi có trường hợp người nhiễm Covid, quản trị hệ thống sẽ thông báo cho người dùng và hướng dẫn cụ thể về thời gian cách ly trước khi trở lại trường học.
Hình 36 Cảnh báo người dùng
KIỂM THỬ VÀ ĐÁNH GIÁ
MỤC TIÊU KIỂM THỬ
Mục đích của kiểm thử là đảm bảo quá trình vận hành hệ thống diễn ra một cách trơn tru và chính xác Điều này giúp đạt được sự tự tin và cung cấp thông tin về chất lượng sản phẩm, từ đó hỗ trợ cho các lập trình viên trong quá trình phát triển.
Trong quá trình kiểm thử, 34 viên có khả năng nhận diện và khắc phục lỗi một cách dễ dàng, giúp nâng cao chất lượng sản phẩm Kiểm thử bao gồm các loại như kiểm thử chức năng, kiểm thử khả năng sử dụng, kiểm thử tính tương thích và kiểm thử cơ sở dữ liệu, từ đó từng bước hoàn thiện sản phẩm.
Kiểm thử chức năng đảm bảo rằng các chức năng được mô tả trong tài liệu hoạt động một cách chính xác và không có lỗi, đồng thời đáp ứng nhu cầu của người dùng.
- Kiểm tra chức năng phản hồi và ý kiến trên hệ thống
- Kiểm tra chức năng quản lý đối tác trên hệ thống
- Kiểm tra chức năng xuất file excel
- Kiểm tra quét mã QR có tính chính xác hay không
- Kiểm tra sau khi truy vết chính xác có gửi thông báo xuống cho người dùng hay không
- Kiểm tra chức năng thêm, xóa, cập nhật địa điểm
- Kiểm tra đối tác sử dụng các chức năng mà hệ thống cấp phép
- Kiểm tra chức năng hiển thị dashboard có sai số hay không
- Kiểm tra thông tin người dùng có hiển thị đúng hay không
- Kiểm tra số điện thoại có phải chính chủ hay không
- Kiểm thử tạo tài khoản người dùng có sai sót thông tin không
- Kiểm tra cập nhật thông tin có chính xác hay không
- Kiểm tra chức năng xem thông tin trên ứng dụng Di Động có đúng trong khai báo
Kiểm tra tính khả dụng là quá trình đánh giá mức độ dễ sử dụng của hệ thống, bao gồm cách sắp xếp bố cục giao diện, độ thân thiện và sự hấp dẫn đối với người sử dụng.
- Thiết kế giao diện có phù hợp hoặc gọn gàng hay không
- Các tabs hoặc navigation có đảm bảo hoạt động tốt không
- Nội dung hướng dẫn có rõ ràng hay không
- Kiểm tra ứng dụng có bị mất chữ hay không
- Kiểm tra font chữ Website và ứng dụng Di Động có dễ nhìn hay không
- Kiểm tra lỗi chính tả
- Kiểm tra ngữ pháp có phù hợp hay không
- Kiểm tra phông nền và chữ có tương phản không và nội dung có dễ đọc hay không
Kiểm tra tính tương thích của Hệ Thống Truy Vết COVID trên website là rất quan trọng, đảm bảo nó hoạt động hiệu quả trên nhiều trình duyệt như Chrome, Firefox và Microsoft Edge Ngoài ra, cần xác minh hệ thống có hoạt động tốt trên các loại điện thoại và kích thước màn hình khác nhau hay không.
Kiểm thử cơ sở dữ liệu là kiểm tra MongoDB có hoạt động đúng hay không
Cơ sở dữ liệu đóng vai trò quan trọng trong hệ thống, do đó cần được kiểm tra kỹ lưỡng để đảm bảo hai nền tảng hoạt động một cách trơn tru và giảm thiểu lỗi Việc này là cần thiết cho sự phát triển bền vững của hệ thống trong tương lai.
- Kiểm tra thời gian truy vấn dữ liệu
- Kiểm tra dữ liệu truy vấn có đúng hay không
- Kiểm tra đường truyền API có xảy ra lỗi
- Kiểm tra các hoạt động thêm sửa, xóa các collections
- Kiểm tra việc truy vấn liên tục có xảy ra lỗi hay không
KỊCH BẢN KIỂM THỬ
Kịch bản kiểm thử chức năng
STT Mô tả chức năng Ngày kiểm thử
2 Chức năng tạo tài khoản 12/7/2022
3 Chức năng cập nhật người dùng 12/7/2022
4 Chức năng quét mã QR 12/7/2022
5 Chức năng tải mã QR 12/7/2022
6 Chức năng gửi phản ánh 12/7/2022
8 Chức năng xem thông tin 12/7/2022
Bảng 2 Kịch bản kiểm thử chức năng
Kịch bản kiểm thử tính khả dụng
STT Mô tả Ngày kiểm thử
1 Kiểm tra lỗi chính tả 12/7/2022
3 Kiểm tra đường dẫn và navigation 12/7/2022
Bảng 3 Kịch bản kiểm thử tính khả dụng
Kịch bản kiểm thử cơ sở dữ liệu
STT Mô tả Ngày kiểm thử
2 Kiểm thử đường dẫn API 12/7/2022
Bảng 4 Kịch bản kiểm thử cơ sở dữ liệu
KẾT QUẢ KIỂM THỬ
4.3.1 Các chức năng của khách hàng
4.3.1.1 Bảng thông tin kiểm thử
Chức năng quét mã QR (giao diện người dùng)
- Bước 1: đi đến phòng học có dán mã QR
QR đi động - Bước 2: Xác thực số điện thoại
- Bước 3: Truy cập ứng dụng
Chức năng gửi phản ánh (giao diện người dùng)
Chức năng gửi phản ánh Ứng dụng đi động
- Bước 1: Xác thực số điện thoại
- Bước 2: Truy cập vào ứng dụng
- Bước 3: Ghi nội dung và khu vực cần phản ánh, gửi phản ánh
Gửi phản ánh thành công
Chức năng cập nhật người dùng (giao diện người dùng)
Chức năng cập nhật người dùng Ứng dụng
- Bước 1: Xác thực số điện thoại
- Bước 2: Truy cập vào ứng dụng
- Bước 3: Cập nhật thông tin và sửa lại thông tin người dùng
Thay đổi thông tin chính xác
Chức năng tải mã QR (giao diện người dùng)
Chức năng tải mã QR Ứng dụng
- Bước 1: Xác thực số điện thoại
- Bước 2: Truy cập vào ứng dụng
QR và nhấn vào nút tải mã về máy
QR về máy và tìm kiếm trong thư mục chỉ định
Chức năng xem thông tin (giao diện người dùng)
Chức năng xem thông tin Ứng dụng
- Bước 1: Xác thực số điện thoại
- Bước 2: Truy cập vào ứng dụng
QR và nhấn vào nút tải mã về máy
Xem được thông tin chi tiết mũi tiêm, trường hợp chưa có dữ liễu Quản trị hệ thống sẽ cập nhật dựa theo thông tin được cấp
Chức năng liên hệ (giao diện người dùng)
Chức năng liên hệ Ứng dụng
- Bước 1: Xác thực số điện thoại
- Bước 2: Truy cập vào ứng dụng
Người dùng có thể liên trực tiếp với quản trị hệ
- Bước 3: Liên hệ thống thông qua gọi thoại hoặc mạng xã hội zalo
Bảng 5 Kết quả kiểm thử khách hàng
4.3.1.2 Minh họa chức năng quét mã QR
Hình 37 Giao diện xác thực mã
Sau khi nhập mã xác thực thành công, ứng dụng sẽ tạo tài khoản hoặc chuyển đến màn hình chính Từ giao diện chính, chúng ta sẽ tiến hành kiểm thử các chức năng của ứng dụng.
Chức năng quét mã QR của người dùng đã được kiểm thử thành công, kết quả chính xác được hiển thị thông tin trên Website
Hình 38 Minh họa chức năng quét mã QR trên nền tảng Di Động
Hình 39 Thông tin được hiển thị dựa trên thông tin quét mã QR
4.3.1.3 Minh họa chức năng gửi phản ánh
Sau khi nhập mã xác thực thành công, ứng dụng sẽ tạo tài khoản hoặc chuyển đến màn hình chính Tại giao diện chính, chúng ta sẽ tiến hành kiểm thử các chức năng của ứng dụng.
Phản ánh đã được gửi thành công lên hệ thống với nội dung và địa điểm cụ thể Tại đây, quá trình truy vết sẽ được thực hiện nhằm tìm kiếm và đánh dấu những người bị nhiễm cũng như các đối tượng lân cận.
Hình 40 Minh họa chức năng phản ánh
Hình 41 Phản ánh được gửi lên hệ thống
Bên cạnh đó Việc yêu cầu được xử lý, hệ thống sẽ trả về một thông báo với người dùng
Hình 42 Phản ánh đã được xử lý phản ánh
4.3.1.4 Minh họa chức năng cập nhật người dùng
Sau khi nhập mã xác thực thành công, ứng dụng sẽ tạo tài khoản hoặc chuyển đến màn hình chính Tại giao diện chính, chúng ta sẽ tiến hành kiểm thử chức năng Hình dưới đây cho thấy thông tin đã được cập nhật thành công.
Hình 43 Minh họa chức năng cập nhật (dữ liệu cũ)
Hình 44 Minh họa chức năng cập nhật (thay đổi dữ liệu mới)
Thông tin được thay đổi và lưu trữ trên hệ thống
Hình 45 Sau khi cập nhật và dữ liệu được thay đổi trên hệ thống
4.3.1.5 Minh họa chức năng tải mã QR
Sau khi nhập mã xác thực thành công, ứng dụng sẽ tạo tài khoản hoặc đưa người dùng vào màn hình chính Tại giao diện chính, chúng ta sẽ tiến hành kiểm thử các chức năng của ứng dụng.
Hình 46 Minh họa chức năng tải mã QR code
Hình 47 Sau khi tải mã và hiển thị trong thư mục
4.3.1.6 Minh họa chức năng xem thông tin và chức năng liên hệ
Sau khi nhập mã xác thực thành công, ứng dụng sẽ tạo tài khoản hoặc chuyển đến màn hình chính Từ giao diện chính, chúng ta sẽ tiến hành kiểm thử các chức năng của ứng dụng.
Thông tin về số mũi tiêm vaccine của người dùng hiện chưa được hiển thị Để biết thêm chi tiết, người dùng cần liên hệ với quản trị hệ thống qua trang chức năng liên hệ.
Để cập nhật thông tin chi tiết về số mũi tiêm của người dùng, cần liên hệ với quản trị hệ thống qua điện thoại hoặc mạng xã hội Zalo.
Hình 49 Minh họa chức năng liên hệ
Hình 50 Liên hệ với quản trị hệ thống
Sau khi liên hệ với quản trị hệ thống thông qua zalo, người dùng có thể yêu cầu cập nhật lại thông tin (số mũi tiêm Covid)
Hình 51 Thông tin mũi tiêm được cập nhật