Professional Documents
Culture Documents
G4 F CDC Final Project Report
G4 F CDC Final Project Report
G4 F CDC Final Project Report
FPT UNIVERSITY
1
Table of Contents
Acknowledgement 11
Definition and Acronyms 11
I. Project Introduction 13
1. Overview 13
1.1 Project Information 13
1.2 Project Team 13
a. Supervisor 13
b. Team Members 13
2. Product Background 13
3. Existing System 14
3.1. HCDC website 14
3.2. Electronic healthy declaration 15
4. Business Opportunity 16
5. Software Product Vision 16
6. Project Scope & Limitations 16
6.1 Major Features 16
6.2 Limitations & Exclusions 17
II. Project Management Plan 17
1. Overview 17
1.1 WBS & Estimation 17
1.2 Project Objectives 21
1.3 Project Risks 22
2. Management Approach 23
2.1 Project Process 23
2.2 Quality Management 24
3. Master Schedule 25
4. Project Organization 26
4.1 Team & Structures 26
4.2 Roles & Responsibilities 27
5. Project Communication 27
5.1 Communication Plan 27
5.2 External Interface 28
6. Configuration Management 29
6.1 Tools & Infrastructures 29
6.2 Document Management 29
2
6.3 Source Code Management 29
III. Software Requirement Specification 29
1. Overall Description 29
1.1 Product Overview 29
1.2 Business Rules 30
2. User Requirements 32
2.1 Overview 32
a. Use Case Diagram 32
b. System Actors 35
c. Use Cases List 35
2.2 Use Case Specification 38
2.2.1. Guest 38
2.2.1.1. View news detail 38
2.2.1.2. Search news 39
2.2.1.3. Chat with facebook page 40
2.2.2. Admin 41
2.2.2.1. Log in 41
2.2.2.2 Log out 42
2.2.2.3. View news list 43
2.2.2.4. Create news 44
2.2.2.5. Search news 45
2.2.2.6. Delete news 45
2.2.2.7. Update news 46
2.2.2.8. View staffs list 47
2.2.2.9. View doctors list 48
2.2.2.10. View patients list 49
2.2.2.11. Search users 50
2.2.2.12. Create staff account 51
2.2.2.13. Create doctor account 52
2.2.2.14. Create patient account 53
2.2.2.15. Delete user 54
2.2.2.16. Import users by excel 54
2.2.3. Staff 55
2.2.3.1 Login 55
2.2.3.2 Logout 56
2.2.3.3 Change password 57
3
2.2.3.4 Forgot password 58
2.2.3.5 Dashboard 59
2.2.3.6 Update patient information 59
2.2.3.7 View patients list 60
2.2.3.8 View normal patient list 61
2.2.3.9 View report list 62
2.2.3.10 View daily report detail 63
2.2.3.11 Reply daily report 64
2.2.3.12 Create daily report 65
2.2.3.13 Send patient to doctor 66
2.2.3.14 View covid test patient list 66
2.2.3.15 Update patient status 67
2.2.3.16 Export user to excel 68
2.2.3.17 Remind send daily report 69
2.2.4 Doctor 70
2.2.4.1 Login 70
2.2.4.2 Logout 71
2.2.4.3 Change password 72
2.2.4.4 Forgot password 73
2.2.4.5 Update avatar 73
2.2.4.6 Dashboard 74
2.2.4.7 View patient list 75
2.2.4.8 View report list 76
2.2.4.9 View daily report detail 77
2.2.4.10 Reply daily report 78
2.2.4.11 View news 79
2.2.4.12 Search news 80
2.2.5 Patient 81
2.2.5.1 Login 81
2.2.5.2 Logout 82
2.2.5.3 Change password 82
2.2.5.4 Forgot password 83
2.2.5.5 Update avatar 84
2.2.5.6 Create daily report 85
2.2.5.7 View report history 86
2.2.5.8 View daily report detail 87
4
2.2.5.9 View covid test result 88
2.2.5.10 Dashboard 89
2.2.5.11 View news 89
2.2.5.12 Search news 90
3. Functional Requirements 92
3.1 System Functional Overview 92
a. Screen Flow 92
b. Screen Details 92
c. Screen Authorization 93
d. Non-Screen Functions 94
e. Entity Relationship Diagram 95
3.2 Website for Guest, Doctor and Patient 96
3.2.1. Homepage 96
3.2.2. News 97
3.2.3.News details 98
3.2.5. Information 100
3.2.6. List Patient 100
3.2.7. Update information 101
3.2.8. View daily report 102
3.2.9. Change password 103
3.2.10. View result test 103
3.3 Application for Admin 105
3.3.1. Sign up 105
3.3.2. Log in 106
3.3.3. Management account 107
3.3.4. Create account 108
3.3.5. Manage News 108
3.3.6. Create news 109
3.3.7. Delete news 110
4. Non-Functional Requirements 111
4.1 External Interfaces 111
a. User Interfaces 111
b. Software Interfaces 112
c. Hardware Interfaces 112
d. Communications Interfaces 112
4.2 Quality Attributes 112
5
a. Usability 112
b. Reliability 112
c. Performance 112
d. Dependability 113
d1. Security 113
d2. Safety 113
e. Supportability 113
f. Design Constraints 113
g. Support Documents 113
5. Other Requirements 113
5.1 Appendix1 - Notification List 113
IV. Software Design Description 114
1. Overall Description 114
1.1 Assumptions 114
1.2 Design Constraints 114
1.3 Technology Suggestion 114
2. System Architecture Design 115
2.1 Overall Architecture 115
2.1.1 Diagram 115
2.2.2 Component Explanation 115
2.2.2.1 Diagram 115
2.2.2.2 MySQL 116
2.2.2.3 Spring Framework 116
2.2.2.4 eSms 117
2.2.2.5 IntelliJ IDEA 117
2.2.2.6. Bizfly 117
2.2 System Architecture 118
2.2.1 F-CDC Front-end Architecture 118
2.2.2 F-CDC Back-end Architecture 119
2.3 Package Diagram 119
2.3.1 F-CDC Package Diagram 119
2.3.2 F-CDC Front-end 121
2.3.2.1 Diagram 121
2.3.2.2 Package Explanation 121
2.3.3 F-CDC Back-end 123
2.3.3.1 Diagram 123
6
2.3.3.2 Package Explanation 123
3. System Detailed Design 124
3.1 Home 124
3.1.1 Log In 124
3.1.2 Log out 125
3.1.3 View news list 127
3.1.4 View news detail 127
3.1.5 Search news 128
3.2 User Profile 130
3.2.1 Forgot Password 130
3.2.2 Change Password 131
3.2.3 Update avatar 132
3.3 Doctor Management 133
3.3.1 Dashboard number patient 133
3.3.2 Dashboard status patient 134
3.3.3 View daily report 135
3.3.4 Reply daily report 136
3.4 Patient Management 137
3.4.1 Create daily report 137
3.4.2 View report history 138
3.4.3 View daily report 139
3.4.4 View covid test result 140
3.4.5 Dashboard status patient 141
3.5 Admin Management 142
3.5.1 View news list 142
3.5.2 Create news 143
3.5.3 Search news 144
3.5.4 Update news 145
3.5.5 Delete news 146
3.5.6 View staffs list 147
3.5.7 View doctors list 148
3.5.8 View patients list 149
3.5.9 Search users 150
3.5.10 Create staff account 151
3.5.11 Create doctor account 152
3.5.12 Create patient account 153
7
3.5.13 Delete user 154
3.5.14 Import patients by excel 155
3.5.15 Import doctors by excel 156
3.5.16 Import staffs by excel 157
3.5.17 Export users to excel 158
3.6 Staff Management 159
3.6.1 Dashboard number patient 159
3.6.2 View patients list 160
3.6.3 View normal patients list 161
3.6.4 Create daily report 162
3.6.5 View daily report 163
3.6.6 Reply daily report 164
3.6.7 Send patient to doctor 165
3.6.8 View test patient list 166
3.6.9 Update patient status 167
4. Class Specifications 168
4.1 F-CDC Back-end 168
4.1.1 Controller 168
4.1.1.1 User Controller 168
4.1.1.2 Village Controller 169
4.1.1.3 Staff Controller 169
4.1.1.4 Sms Controller 169
4.1.1.5 Report Controller 169
4.1.1.6 Province Controller 170
4.1.1.7 News Controller 170
4.1.1.8 Login Controller 170
4.1.1.9 Districts Controller 171
4.1.1.10 Admin Controller 171
4.1.1.11 Master Data Controller 171
4.1.2 Service 171
4.1.2.1 UserService 171
4.1.2.2 Village Service 173
4.1.2.3 Sms Service 173
4.1.2.4 Province Service 173
4.1.2.5 Province Service 173
4.1.2.6 MasterData Service 174
8
4.1.2.7 Districts Service 174
4.1.2.8 DailyReport Service 174
4.2 F-CDC Front-end 175
4.2.1 Pages 175
4.2.1.1 Admin 175
4.2.1.2 Staff 175
4.2.1.3 Doctor 176
4.2.1.4 Patient 177
4.2.1.5 Common 178
4.2.2 Library 178
4.2.2.1 Common 178
4.2.2.2 Plugin 178
4.2.3 Context 179
4.2.3.1 Authenticator 179
4.2.4 Components 179
4.2.4.1 UI 179
4.2.4.2 Layout 179
5. Database Design 180
5.1. News 181
5.2. User 182
5.3. File 182
5.4. Role 182
5.5. Province 183
5.6. District 183
5.7. Village 183
5.8. Medicine 183
5.9. Symptom 184
5.10. Exercise 184
5.11. Medicine_daily_detail 184
5.12. Symptom_daily_detail 184
5.13. Exercise_daily_detail 184
5.14. Daily_report 185
V. Software Testing Documentation 185
1. Overall Description 185
1.1 Test Model 185
1.2 Testing Levels 187
9
1.2.1. Unit Testing 187
1.2.2. Integration Testing 188
1.2.3. System Testing 188
1.2.4. Acceptance Testing 189
1.3 Testing Types 190
1.3.1. Function Testing 190
1.3.2. API Testing 190
1.3.3. UI/UX Testing 190
1.3.4. Acceptance Testing 190
2. Test Plan 190
2.1 Test Stages 190
2.2 Resources 191
a. Human Resources 191
b. Environment 191
2.3 Test Milestones 191
2.4 Deliverables 191
3. Test Cases 192
3.1 Unit Testing 192
3.2 Integration Testing & System Testing 193
3.3 Acceptance Testing 194
4. Test Reports 195
4.1 Unit Test Report 195
4.2 Integration Test Report 196
4.3 System Test Report 196
4.4 Acceptance Test Report 196
VI. Release Package & User Guides 198
1. Deliverable Package 198
1.1 Source codes & documents 198
1.2 Known Issues, Limitations & Restrictions 198
2. Installation Guides 198
2.1 System Requirements 198
2.2 Installation Instruction 198
3. User Manual 199
3.1 System requirements 199
3.2 Application Usage 199
3.2.1 Guest 199
10
3.2.2 Doctor 201
3.2.3 Patient 205
3.2.4 Admin 208
3.2.5 Staff 214
3.3 Troubleshooting 226
VII. Appendix 226
Acknowledgement
This project would have not been completed without the support of many people. So, we want to
thank all of them:
First of all, we want to express our deepest gratitude to our supervisor, Mr. Pham Ngoc Ha for guiding
us throughout this project. His instruction, advice and motivation is the most important factor of this
project’s success.
Second, we want to thank all of the lectures of FPT University, the FPT University itself and Coursera
and Funix online learning system. The knowledge which they provide us with is the most valuable
resource for us to use in the project.
Third, we want to thank all of the FPT University’s students and graduate students for always cheering
us up and providing us with their experience.
Finally, we want to thank and express respect to our families and friends for always supporting us from
behind.
BA Business Analysis
BR Business Rule
11
DB Database
FK Foreign Key
IT Information Technology
JS Javascript
PK Primary Key
PM Project Manager
QA Quality Assurance
UC Use Case
UI User Interface
UX User Experience
12
I. Project Introduction
1. Overview
1.1 Project Information
● Project name: Management and take care patient-Zero at home
● Project code: F-CDC
● Group name: SWP490_G24
● Software type: Website
● Timeline:
1.2 Project Team
a. Supervisor
Full Name Email Mobile Title
b. Team Members
Full Name Email Mobile Role
2. Product Background
Currently, our country and other countries in the world are struggling with the Coronavirus
disease (COVID-19) that has caused the death of millions of people.
The Support Patient Zero Self-treatment team realised the number of covid-19 patients in
Vietnam is increasing day by day:
● Currently, in Vietnam, as of September, there are a total of more than 600,000 cases
with the number of daily cases about 10,000 cases, and the trend is continuing to
increase.
● The number of deaths has reached more than 15,000
● Ho Chi Minh City alone has more than 300,000 cases, Binh Duong province has more
than 160,000 cases, Dong Nai province has more than 35,000 cases.
Because there are too many people infected while infrastructure and facilities are not enough
to meet the needs of COVID-19 treatment, so many patients have to self-treat at home according to
the request and instructions of the Ministry of Health.
The current epidemic is very serious, the government has switched to treating covid patients
in a 3-story tower. The first layer is very important, it covers patients with a little or no symptoms,
underlying disease, or stable underlying disease. So the first floor will be treated at home
13
In order to better manage and care for patients in each area, the Support Patient Zero Self-
treatment team decided to create a website to help staff in commune health centres manage and take
care of patients in a timely and better manner.
This software will help medical staff and doctors to capture patient information in a smart,
simple and fastest way. And can cover the current situation of the epidemic.
3. Existing System
3.1. HCDC website
HCDC is a centre for health and disease. The system focuses on services such as
covid-19 testing, vaccination schedules, and other disease-related information.
HCDC is a great site. It provides a user-friendly interface that is easy to use. Provide a lot of information
related to the Covid-19 epidemic and effective disease prevention measures
14
• Users can use it simply and effective • HCDC is only a website that
• HCDC provides important information provides information about covid-
for everyone 19 services but cannot advise or
give effective advice directly to
Covid patients.
• Users can use it simply and effective • This system allows you to declare
15
4. Business Opportunity
In the context of complicated epidemic developments, the number of people infected with
the disease increased, the demand for health care consultations of patients also increased. The State
has implemented a 3-tier model of patient care and management. The first tier is for patients with
mild symptoms, no underlying disease, or non-serious underlying disease.
Expect good first-floor care when the sick are isolated at home. We need a system to help
manage and care for patients
To solve this problem, a system of management and care of covid patients isolated at home
was born.
The user is provided an account as a doctor who take care patients have a
Doctor
noted condition
F-CDC System will provide the following functions to the above users:
FE Description
02 Staff receives reports and gives comment replies for each report.
16
03 Staff send information of patients in bad condition to a doctor.
05 Text chat between staff’ facebook page and patients, doctor and guest.
Est. Effort
WBS ID WBS Item Complexity
(man-days)
1 Project Initiating 15
2 Project Planning 25
17
2.3 Meet instructor Simple 1
3.1 Iteration 1 65
3.1.2.1 Back-end 9
3.1.2.2 Front-end 10
3.1.3 Document 10
18
3.2.2 Code & Implementation 36
3.2.2.1 Back-end 10
3.2.2.1.1 API 10
3.2.2.2 Front-end 26
3.2.3 Testing 24
3.2.4 Document 10
19
3.2.4.1 Create report 4 (Software Design) Medium 10
3.3 Iteration 3 67
3.3.2.1 Back-end 16
3.3.2.1.1 API 16
3.3.2.2 Front-end 20
3.3.3 Testing 16
20
3.3.3.1 Create test case iteration 3 Medium 5
3.3.4 Document 10
5 Project Closing 10
21
4 System Test The tester creates and tests
Total 100%
22
6 Internet Low Medium All developers have Use alternative ways to
connection is to set up the connect to the internet
down and isolated such as 3G, 4G.
team development
members environment and
cannot have an offline copy
submit work of the
or merge documentation.
code.
2. Management Approach
2.1 Project Process
After researching the software development model carefully, the project will use the
Iterative and Incremental Software Process Model. In an Iterative & Incremental model, initially,
a partial implementation of a total system is constructed so that it will be in a deliverable state.
The Iterative & Incremental model is mostly used when the scope of the project is big, the major
requirements are defined clearly, some more details will be added later in software development.
By using this software process model, we break down the developing system task into a series of
smaller tasks which will be completed separately, allowing us to take advantage of what was
learned during the development of earlier parts of the system. The reasons for the project to
choose this model are:
● You can develop some main func ons that prioritize requirements first.
23
● Customers can provide feedback to each product increment, thus avoiding surprises at the
end of development.
● Customers get important func onality early.
2.2 Quality Management
2.2.1 Defect Prevention:
● If any defect is found, the related person must be no fied immediately at that time.
● Defects must be carefully evaluated such as "How bad is the defect and can it damage the
system?", "How long is the time to fix that defect?".
● The deadline for fixing the defect must be specified clearly.
● There is always a plan to prepare for what could happen at any time.
2.2.2 Reviewing:
● The curator must be honest and not biased towards any of the project members. If there
is an error, the person must immediately notify the person responsible for the defect.
● Defects should be recorded on the Bug Tracking software with details such as priority.
● The person responsible for defects found must-have solutions to fix the defect as quickly as
possible.
● The test should cover non-functional issues such as load and performance
24
defects.
3. Master Schedule
# Deliverable Due Date Deliverable Scope
4 Report 3 – SRS 10/07/21 Business Rules, Use Case Diagram & Use
Case Description, Functional Requirements,
and Non-Functional Requirements
25
7 Code & 11/11/21 Detailed Design Code & Unit test Integration
Implement & System test cases
Iteration 2
8 Report 5 – 12/09/21 Test Model, Test Plan, Test Cases, and Test
Test Reports
Document
10 Code & 12/09/21 Detailed Design Code & Unit test Integration
Implement & System test cases
Iteration 3
11 Final Code and 12/19/21 Final Codes & documents, User manual
Report
4. Project Organization
4.1 Team & Structures
26
4.2 Roles & Responsibilities
Role Responsibility
5. Project Communication
5.1 Communication Plan
Communication Who/ Purpose When Type, Tool,
Item Target Frequency Method(s)
27
Team weekly All team Review plan, 15:00 pm Offline,
meeting members schedule, every online
members’ work Saturday through
achievements Facebook,
during the week Google Meet
and
report the
project’s progress
and status
b. Customer Contacts
Function Contact Person Contact address Responsibility
(name, (email, telephone)
position)
28
6. Configuration Management
6.1 Tools & Infrastructures
Category Tools & Techniques
DBMS MySQL
29
During the current complicated situation of the covid epidemic, the F-CDC website will
contribute to helping medical facilities manage and treat patients more quickly and easily.
1.2 Business Rules
ID Description
B01 The phone number must be valid with 10 numeric characters in length.
B04 When changing a password, a user must enter the new password twice.
30
B05 Input field not allowed empty
B10 Admin cannot register with a phone number that has already been registered.
B11 Users must provide their phone number and password when logging into the
system.
B12 Users cannot update their phone number once it has been registered.
B13 When changing a password, a new password must not be the same as the
current password.
B21 The data of the user when deleted always just be disabled.
31
B22 When the users forgot their password, they must input exactly their phone
number
2. User Requirements
2.1 Overview
a. Use Case Diagram
Admin
Staff
32
33
Guest, Patient & Doctor
34
b. System Actors
# Actors Description
35
UC-10 Update news Admin N/A
36
UC-29 View daily report detail Staff N/A
37
UC-48 Log out Patient N/A
2.2.1. Guest
2.2.1.1. View news detail
Description View news about covid-19 information and knowledge about covid-
19
Post-conditions N/A
38
Normal Flow 1. Go to the Home screen.
Exceptions E1 - The system cannot communicate with API Server. The system
will display an error message as MSG01.
E2 - User tries to edit URL with undefined or not exist. The system
will display the 404 page.
Priority High
Business Rules
Assumptions N/A
39
Pre-conditions N/A
Post-conditions When the normal flow completes successfully, the system displays all
news which matches with the search content.
Normal Flow 1. Go to the Home page or “Cẩm nang” page or “Tin tức” page
2. Click on search bar
3. Input a search content to search in the search area.
4. Enter or click the search icon
5. The system displays the result.
Priority High
Assumptions N/A
Pre-conditions N/A
Post-conditions When the normal flow completes successfully, can chat directly with a
40
staff who manage page
Priority High
Business Rules
Assumptions N/A
2.2.2. Admin
2.2.2.1. Log in
Description Admin logs in to the admin dashboard using the phone number and
password.
41
Normal Flow 1. Go to the “Đăng nhập” page.
2. System loads the login page.
3. Admin enter “Số điện thoại” và “Mật khẩu”
Priority High
Assumptions N/A
Normal Flow 1. On the dashboard screen, select the menu in the upper right
corner.
2. Click “Đăng xuất”.
3. The system will redirect Admin to the log in page.
42
Alternative Flow N/A
Exceptions N/A
Priority High
Business Rules
Assumptions N/A
Post-conditions
Priority High
43
Frequency of Use High
Business Rules
Assumptions N/A
Post-conditions When the normal flow completes successfully, the news will be save in
database
Priority High
44
Assumptions N/A
Pre-conditions When the normal flow completes successfully, the system displays all
news which matches with the search content.
Post-conditions N/A
Priority High
Assumptions N/A
45
Use Case ID UC – 09 Use Case Name Delete news
Post-conditions When the normal flow completes successfully, the news will be
deleted from the database.
Priority High
Business Rules
Assumptions N/A
46
Created By KhanhTQ Created Date 03/10/2021
Post-conditions When the normal flow completes successfully, the news will be
updated from the database.
Priority High
Business Rules
Assumptions N/A
47
Description Display list of staffs
Post-conditions
Normal Flow 1. On the admin page, click on”Danh sách nhân viên” on sidebar
2. Display the list staffs
Priority High
Business Rules
Assumptions N/A
Post-conditions
48
Normal Flow 1. On the admin page, click on”Danh sách bác sĩ” on sidebar
2. Display the list doctors
Priority High
Business Rules
Assumptions N/A
Post-conditions
Normal Flow 1. On the admin page, click on”Danh sách bệnh nhân” on sidebar
2. Display the list patients
49
Exceptions E1 - The system cannot communicate with API Server. The
system will display an error message as MSG01.
Priority High
Business Rules
Assumptions N/A
Pre-conditions N/A
Post-conditions When the normal flow completes successfully, the system displays all
users which match with the search content.
Priority High
50
Frequency of Use High
Assumptions N/A
Post-conditions When the normal flow completes successfully, a new account will be
created with the role of staff and saved into a database.
Priority Medium
51
Business Rules
Assumptions N/A
Post-conditions When the normal flow completes successfully, a new account will be
created with the role of doctor and saved into a database.
Priority High
52
Business Rules
Assumptions N/A
Post-conditions When the normal flow completes successfully, a new account will be
created with the role of patient and saved into a database.
Priority High
Business Rules
Assumptions N/A
53
2.2.2.15. Delete user
Post-conditions When the normal flow completes successfully, that user will
be removed and database saved
Priority High
Business Rules
Assumptions N/A
54
Description Sign up for a list of users on the system by an excel file.
Priority High
Business Rules
Assumptions N/A
2.2.3. Staff
2.2.3.1 Login
Use Case ID UC - 20 Use Case Name Login
Description Staff login into the admin dashboard using the phone number and
password.
55
Normal Flow 1. Go to the “Đăng nhập” page.
2. System loads the login page.
3. Staff enter “Số điện thoại” và “Mật khẩu”
4. Click on “Đăng nhập” button
Priority Medium
Business Rules
Assumptions N/A
2.2.3.2 Logout
Use Case ID UC - 21 Use Case Name Logout
Normal Flow 1. On the dashboard screen, select the menu in the upper right
corner.
2. Click “Đăng xuất”.
3. The system will redirect Staff to the login page.
56
Alternative Flow N/A
Priority Medium
Business Rules
Assumptions N/A
Post-conditions When the normal flow completes successfully, the new password will be
updated to success and saved into the database.
Normal Flow 1. On the main screen, select the menu in the upper right corner.
2. Click on “Đổi mật khẩu”.
3. Input old password, new password and confirm password.
4. Click on “Đổi mật khẩu” button.
Priority High
57
Frequency of Use High
Business Rules
Assumptions N/A
Pre-conditions
Priority High
Business Rules
58
Other Information N/A
Assumptions N/A
2.2.3.5 Dashboard
Post-conditions
Priority High
Business Rules
Assumptions N/A
59
Use Case ID UC – 25 Use Case Name Update patient
information
Post-conditions
Priority High
Business Rules
Assumptions N/A
60
Primary Actor Staff Secondary Actor N/A
Post-conditions
Normal Flow 1. On the staff page, click on”Danh sách nhân viên” on sidebar
2. Display the list staffs
Priority High
Business Rules
Assumptions N/A
61
Post-conditions
Priority High
Business Rules
Assumptions N/A
Post-conditions
Normal Flow 1. On the staff page, click on”Danh sách bệnh nhân” on sidebar
2. Click to a patient in list
3. Display reports of this patient
62
Alternative Flow N/A
Priority High
Business Rules
Assumptions N/A
Post-conditions N/A
Priority Medium
63
Frequency of Use Medium
Business Rules
Assumptions N/A
Post-conditions When the normal flow completes successfully, the reply will be saved
into the database.
Priority High
64
Frequency of Use High
Business Rules
Assumptions N/A
Description The staff create a report instead patient when they can’t send report
Normal Flow 1. On the staff screen, click on “Danh sách bệnh nhân”
2. Click on “Khai báo hộ”.
3. Input data in form.
4. Click on “Confirm” button.
Priority High
Business Rules
65
Assumptions N/A
Description Send all disease status of patient which not good status disease to
doctor
Post-conditions N/A
Priority High
Business Rules
Assumptions N/A
66
Created By KhanhTQ Created Date 03/10/2021
Post-conditions
Priority High
Business Rules
Assumptions N/A
67
Pre-conditions Staff has signed into the staff website.
Post-conditions N/A
Priority High
Business Rules
Assumptions N/A
68
Normal Flow 1. Go to admin page
2. Click to “Bệnh nhân” or “Nhân viên” or “Bác sĩ”
3. Click to “Xuất ra excel”
Priority High
Business Rules
Assumptions N/A
Description Remind patients send daily report if they send report late
69
Exceptions E1 - The system cannot communicate with API Server. The
system will display an error message as MSG01.
Priority High
Business Rules
Assumptions N/A
2.2.4 Doctor
2.2.4.1 Login
Use Case ID UC – 37 Use Case Name Login
Description Doctor login into the doctor dashboard using the phone number and
password.
70
Priority High
Business Rules
Assumptions N/A
2.2.4.2 Logout
Use Case ID UC – 38 Use Case Name Logout
Normal Flow 1. On the dashboard screen, select the menu in the upper right
corner.
2. Click “Đăng xuất”.
3. The system will redirect Staff to the login page.
Priority High
71
Business Rules
Assumptions N/A
Normal Flow 1. On the homepage screen, select the Username in the upper
right corner.
2. Click on “Đổi mật khẩu”.
3. Input old password, new password and confirm password.
4. Click on “Đổi mật khẩu” button.
Priority High
Business Rules
Assumptions N/A
72
2.2.4.4 Forgot password
Pre-conditions
Priority High
Business Rules
Assumptions N/A
73
Created By KhanhTQ Created Date 04/10/2021
Priority High
Business Rules
Assumptions N/A
2.2.4.6 Dashboard
74
Pre-conditions Doctor must login.
Post-conditions
Priority High
Business Rules
Assumptions N/A
Post-conditions
75
Normal Flow 1. On the doctor page, click on”Danh sách bệnh nhân”
2. Display the list of patients
Priority High
Business Rules
Assumptions N/A
Post-conditions
Normal Flow 1. On the doctor page, click on”Danh sách bệnh nhân” on sidebar
2. Click to a patient in list
3. Display reports of this patient
76
Exceptions E1 - The system cannot communicate with API Server. The
system will display an error message as MSG01.
Priority High
Business Rules
Assumptions N/A
Post-conditions N/A
77
Priority High
Business Rules
Assumptions N/A
Post-conditions When the normal flow completes successfully, the reply will be saved
into the database.
Alternative Flow
Priority High
78
Business Rules
Assumptions N/A
Description View news about covid-19 information and knowledge about covid-
19
Pre-conditions N/A
Post-conditions N/A
Priority High
Business Rules
79
Other Information N/A
Assumptions N/A
Pre-conditions N/A
Post-conditions When the normal flow completes successfully, the system displays all
news which matches with the search content.
Normal Flow 1. Go to the Home page or “Cẩm nang” page or “Tin tức” page
2. Click on search bar
4. Input a search content to search in the search area.
5. Enter or click the search icon
6. The system displays the result.
Priority High
Business Rules
Assumptions N/A
80
2.2.5 Patient
2.2.5.1 Login
Description Patient login into the doctor dashboard using the phone number and
password.
Priority High
Business Rules
Assumptions N/A
81
2.2.5.2 Logout
Normal Flow 1. On the dashboard screen, select the menu in the upper right
corner.
2. Click “Đăng xuất”.
3. The system will redirect Staff to the login page.
Priority High
Business Rules
Assumptions N/A
82
Primary Actor Patient Secondary Actor N/A
Normal Flow 1. On the homepage screen, select the Username in the upper
right corner.
2. Click on “Đổi mật khẩu”.
3. Input old password, new password and confirm password.
4. Click on “Đổi mật khẩu” button.
Priority High
Business Rules
Assumptions N/A
Pre-conditions
83
Post-conditions When the normal flow completes successfully, the password
will be updated to default password and saved into the
database.
Priority High
Business Rules
Assumptions N/A
84
Alternative Flow N/A
Priority High
Business Rules
Assumptions N/A
85
Exceptions E1 - The system cannot communicate with API Server. The
system will display an error message as MSG01.
Priority High
Business Rules
Assumptions N/A
Post-conditions N/A
86
Priority High
Business Rules
Assumptions N/A
Post-conditions N/A
Priority High
87
Frequency of Use High
Business Rules
Assumptions N/A
Post-conditions N/A
Priority High
Business Rules
88
Assumptions N/A
2.2.5.10 Dashboard
Post-conditions
Priority High
Business Rules
Assumptions N/A
89
Use Case ID UC - 59 Use Case Name View news
Pre-conditions N/A
Post-conditions N/A
Priority High
Business Rules
Assumptions N/A
90
Created By KhanhTQ Created Date 04/10/2021
Pre-conditions N/A
Post-conditions When the normal flow completes successfully, the system displays all
news which matches with the search content.
Normal Flow 1. Go to the Home page or “Cẩm nang” page or “Tin tức” page
2. Click on search bar
4. Input a search content to search in the search area.
5. Enter or click the search icon
6. The system displays the result.
Priority High
Business Rules
Assumptions N/A
91
3. Functional Requirements
3.1 System Functional Overview
a. Screen Flow
b. Screen Details
# Feature Screen Description
1 Home Log in Screen for the patient and doctor to sign in into the
system.
3 Personal Change The screen for the patient and doctor to change
password the password.
6 Personal Edit profile The screen where patients edit their profile.
7 Personal View history The screen where users view their report history
in the system.
8 Personal Sign out The popup for the patients and doctors to sign out
the system.
9 CreateReport Send report The screen for patients to create a report to send to
daily staff.
92
10 UpdateReport Send report The screen for patients to input symptoms in the
daily report daily.
12 StaffMagage Manage report The screen displays all reports daily of patients.
13 StaffMagage Reply report The screen where staff reply to reports daily.
14 StaffMagage Manage covid The screen displays and updates covid test
test results of patients.
15 AdminManage Manage Users The screen where the admin manages all users.
c. Screen Authorization
Screen Role1 Role2 Role3 Role4 Role5
Home
Sign in X X X X
Register X
Forgot Password X X X
Personal
Home
Change password X
Send report X
User profile X
Edit profile X
93
View history report X
Sign out X X X X
View News X X X X
Search News X X X X
AdminManage
Dashboard X
Create News X
Manage Users X
View users X
Manage News X
In which:
● Role1: Admin
● Role2: Staff
● Role3: Doctor
● Role4: Pa ent
● Role5: Guest
d. Non-Screen Functions
# Feature System Function Description
94
e. Entity Relationship Diagram
95
Entities List
# Entity Description
2 Create patient account Describe the admin create an account for patient.
3 Create staff account Describe the admin create an account for staff.
4 Create doctor account Describe the admin create an account for doctor.
• Function trigger: This function is triggered when the guest go to the Homepage.
• Function description: The guest can see some information about the F-CDC system.
96
• Function Details: When the user is in the state not logged in, at the home page there will be
show some information into the system.
3.2.2. News
• Function trigger: This function is triggered when the guest go to the Premium Screen.
• Function description: The guest can see some information’s about Request Counselling of F-
cdc system.
97
• Function Details: When the user is in the state not logged in, at the premium screen there
will be show some information’s of Request Counselling into the system.
3.2.3.News details
• Function trigger: This function is triggered when the guest go to the News Screen.
• Function description: The guest can see some information’s about News of F-cdc system.
• Screen layout: Sample below is for the News Screen.
98
• Function Details: When the user is in the state not logged in, at the support screen there
will be show some information about support of News detail system.
3.2.4. Introduction
• Function trigger: This function is triggered when the guest go to the introduction Screen.
99
• Function Details: When the user is in the state not logged in, at the view introduction
Screen, they can get link to the store to download f-cdc application.
3.2.5. Information
• Function trigger: This function is triggered when the doctor go to the information
Screen.
100
3.2.7. Update information
• Function trigger: This function is triggered when the doctor go to the update
information Screen.
101
3.2.8. View daily report
• Function trigger: This function is triggered when the doctor go to the view daily report
Screen.
102
3.2.9. Change password
• Function trigger: This function is triggered when the doctor go to the view change
password Screen.
103
3.2.11. View dashboard
• Function trigger: This function is triggered when the doctor and patient go to the view
dashboard Screen.
104
3.3 Application for Admin
3.3.1. Sign up
• Function trigger: This function is triggered when the admin register to create a user of F-cdc
system.
• Function description: The user register to become a user.
• Screen layout: Sample below is for the Sign up Screen.
105
• Function Details: The guest input all the fields to provide information then choose “Đăng
Nhập”
3.3.2. Log in
• Function trigger: This function is triggered when the user log in into the F-cdc system.
106
• Function Details: The guest input all the fileds to provide information then choose “Đăng
Nhập”
3.3.3. Management account
• Function trigger: This function is triggered when the user go to the management account
Screen.
• Function Details: After going to the management account screen, users can see list
107
accounts of F-cdc system.
3.3.4. Create account
• Function trigger: This function is triggered when the admin wants to manage news in f-cdc
system
• Function description: The user can view news.
• Screen layout: Sample below is for the view news Screen.
108
• Function Details: After going to the manage news Screen,admin can login f-cdc system
3.3.6. Create news
• Function trigger: This function is triggered when admin want to create news in f-cdc system
• Function description: The user can create news.
• Screen layout: Sample below is for the create news Screen.
109
• Function Details: After going to the Create news Screen, admin must go to manage news
3.3.7. Delete news
• Function trigger: This function is triggered when the admin can delete news in f-cdc system
• Function description: The admin can delete news
• Screen layout: Sample below is for the Delete news Screen.
110
• Function Details: After going to the Delete news Screen,Admin can click button “Xoa”
4. Non-Functional Requirements
4.1 External Interfaces
a. User Interfaces
UI-1: The websites will have a user-friendly interface and are easy to use.
UI-2: The layout of the screen is streamlined, easy to operate, and implement for the user.
UI-3: Buttons have distinctive features and colours but are in sync with the interface.
UI-4: When the user is on a screen or function, the position of that function displayed on the
sidebar will be bright and synchronized with the interface.
UI-5: Notifications displayed on the screen have a friendly banner outlining the content for the
user.
UI-6: The LCM screen displays shall conform to the Process Impact Internet Application User
Interface Standard, Version 2.0 [3].
UI-7: The system will provide a website help link that is displayed explaining how to use that page
to the user.
111
UI-8: Web pages will allow users to copy and paste using a mouse, in addition to using a mouse
and keyboard combination.
b. Software Interfaces
SI-1: Login System
SI-1.1: The F-CDC will pass the phone number and password of the user to the sign-in the
system through a programming interface.
SI-1.2: The sign-in system will notify F-CDC that the user exists or not.
SI-2: Manage System
The F-CDC shall communicate with the Manage System through a programmatic interface
for the following operations:
SI-2.1: To allow an Admin to view all Users.
SI-2.2: To allow an Admin to view all Staffs.
SI-2.3: To allow an Admin to view all Doctors.
SI-2.4: To allow an Admin to view all News.
c. Hardware Interfaces
No hardware interfaces have been identified.
d. Communications Interfaces
CI-1: The F-CDC system shall send an email to remind patient update report daily
4.2 Quality Attributes
a. Usability
● The languages are Vietnamese.
● The user interface of the solution should be elegant, easy to navigate, and user-friendly
● All the titles or names of functions should be easy to understand and reflect the purpose of
the function.
● All error message should be clear for all users
● All related functions for each type of user should be grouped into categories and placed on a
navigation bar for the efficiency of interactions.
● User should be able to learn to use the specified functions in no time
● Links, buttons are easily clickable.
● Links are easily recognizable, which looks clickable.
● Main functions are organized into tabs for easier access.
● Links, buttons, and checkboxes are easily clickable.
● The Front-end web application should support Chrome and Firefox browsers.
b. Reliability
● The uptime system at least 90% day time.
● The system runs 24/7.
● The average time it takes to repair the system if a module fails in about 4-8 hours.
● The system is only allowed to stop working for at most 8 hours since the problem occurred so
that users can continue using the system.
c. Performance
112
d. Dependability
d1. Security
● Allow the separation between front-end and back-end sides. The front-end can be developed
as standalone client applications (web, mobile, etc.), while the back-end provides APIs for
client consumption.
● All passwords must be hashed using the PasswordEncoder.
d2. Safety
● This product is a web application running on the web browser so it will not affect any other
application or user’s hardware, which may lead to data loss or system damage. The software
is designed mainly for devices with an appropriate wide display so for maintaining the
correctness of the user’s actions and data, the user should use this application on a device
with a wide enough screen so the software can fit the screen.
● However, the solution is an e-commerce application so all transactions and behavior must
follow the Law on Commerce of Vietnam No.36/2005/QH11 and Decree No.52/2013/NĐ-CP
About eCommerce
e. Supportability
● The system will have maintenance periods to improve user security.
● The system will update content updates for users.
● The system has counsellors to support mentees and mentors if they have any problems.
f. Design Constraints
- End-user’s Environment: Windows.
g. Support Documents
- F-CDC User guides
5. Other Requirements
5.1 Appendix1 - Notification List
Notification Notification
# Context Content
code Type
The user does not enter
1 NOT01 Request Please fill out this field.
information in the fields
The user enters information in
2 NOT02 Request one field, leaving the Please fill out this field.
remaining fields blank.
Show message "Số điện
3 NOT03 Request Phone number already exists
thoại đã tồn tại”
Phone number have format Show message "Số điện
4 NOT04 Request
wrong thoại không hợp lệ”
Input Password’s length Password’s length between
6 NOT06 Request
between 8 to 50 characters 8 to 50 characters.
113
IV. Software Design Description
1. Overall Description
1.1 Assumptions
This system is designed based on the following assumptions:
● Window 10
● NodeJS v14.17.0
● MySQL
● Google Chrome
1.2 Design Constraints
This system should comply with the following items:
● It has 2 websites at the client-side to serve two types of actors: normal users and admin. They
can use a web browser and application to send requests and connect to the front-end
application.
● End-user’s Environment: Windows.
● Database using MySQL.
● Support languages: Vietnamese, English.
● The web applica on must be responsive and snappy.
● The user must have a stable connec on to the internet.
1.3 Technology Suggestion
● Database: MySQL
● Web Applica on: Bizfly
● Server: VPS, Local server
114
2. System Architecture Design
2.1 Overall Architecture
2.1.1 Diagram
React is an open-source, front-end, JavaScript library for building user interfaces or UI components. It
is maintained by Facebook and a community of individual developers and companies. React can be
used as a base in the development of single-page or mobile applications
115
2.2.2.2 MySQL
The Spring Framework is an application framework and inversion of control container for the Java
platform. The framework’s core features can be used by any Java application, but there are extensions
for building web applications on top of the Java EE (Enterprise Edition) platform. Although the
framework does not impose any specific programming model, it has become popular in the Java
community as an addition to the Enterprise Javabeans (EJB) model. The Spring Framework is open
source.
116
2.2.2.4 eSms
IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer
software. It is developed by JetBrains (formerly known as IntelliJ), and is available as an Apache 2
Licensed community edition, and in a proprietary commercial edition. Both can be used for
commercial development.
2.2.2.6. Bizfly
117
BizFly Cloud is a system of cloud computing technology solutions in the BizFly ecosystem
operated by VCCorp. With more than 13 years of experience in the field of construction,
management and operation of IT systems as well as cloud computing infrastructure, BizFly
Cloud sets itself the mission of becoming one of the leading partners in Vietnam in terms of
solutions. cloud infrastructure. We are constantly researching to come up with an ecosystem
of infrastructure solutions to best meet the needs of businesses.
2.2 System Architecture
2.2.1 F-CDC Front-end Architecture
118
2.2.2 F-CDC Back-end Architecture
119
120
2.3.2 F-CDC Front-end
2.3.2.1 Diagram
No Package Description
1 F-CDC System Contain all code of F-CDC system
3 Landing Page Contain all code of website appear for the first time
121
4 Admin UI Contain all client code for the managed app
5 Common UI Contain all component which uses in both Client UI and Admin UI
7 axios Promise based HTTP client for the browser and node.js
9 views Contain all components used to render interface for the entire system
122
2.3.3 F-CDC Back-end
2.3.3.1 Diagram
1 Controller Contain classes that are defined as controllers, the main function is
connected between client and server through API endpoints.
123
2 Router A concept that defines how an application will respond when a user
requests a particular endpoint. That endpoint is usually a URI or a
path with a specific Request method (POST, PUT, GET, ...).
124
b. Sequence diagram
125
b. Sequence Diagram
126
3.1.3 View news list
a. Class Diagram
b. Sequence Diagram
127
b. Sequence Diagram
128
b. Sequence Diagram
129
3.2 User Profile
3.2.1 Forgot Password
a. Class diagram
130
b. Sequence diagram
131
b. Sequence Diagram
132
b. Sequence Diagram
133
b. Sequence Diagram
134
b. Sequence Diagram
135
b. Sequence Diagram
136
b. Sequence Diagram
b. Sequence Diagram
137
3.4.2 View report history
a. Class Diagram
b. Sequence Diagram
138
3.4.3 View daily report
a. Class Diagram
b. Sequence Diagram
139
3.4.4 View covid test result
a. Class Diagram
b. Sequence Diagram
140
3.4.5 Dashboard status patient
a. Class Diagram
b. Sequence Diagram
141
3.5 Admin Management
3.5.1 View news list
a. Class diagram
142
b. Sequence diagram
b. Sequence Diagram
143
3.5.3 Search news
a. Class Diagram
b. Sequence Diagram
144
3.5.4 Update news
a. Class Diagram
145
b. Sequence Diagram
b. Sequence Diagram
146
3.5.6 View staffs list
a. Class Diagram
b. Sequence Diagram
147
3.5.7 View doctors list
a. Class Diagram
148
b. Sequence Diagram
b. Sequence Diagram
149
3.5.9 Search users
a. Class Diagram
150
b. Sequence Diagram
151
b. Sequence Diagram
152
b. Sequence Diagram
153
b. Sequence Diagram
154
b. Sequence Diagram
b. Sequence Diagram
155
3.5.15 Import doctors by excel
a. Class Diagram
156
b. Sequence Diagram
157
b. Sequence Diagram
158
b. Sequence Diagram
159
b. Sequence Diagram
b. Sequence Diagram
160
3.6.3 View normal patients list
a. Class Diagram
b. Sequence Diagram
161
3.6.4 Create daily report
a. Class Diagram
162
b. Sequence Diagram
163
b. Sequence Diagram
b. Sequence Diagram
164
3.6.7 Send patient to doctor
a. Class Diagram
b. Sequence Diagram
165
3.6.8 View test patient list
a. Class Diagram
166
b. Sequence Diagram
167
b. Sequence Diagram
4. Class Specifications
4.1 F-CDC Back-end
4.1.1 Controller
4.1.1.1 User Controller
No Method Description
1 getAllByRole Using to find users by role and search by full name.
12 toTestCovid Using to display patients who are eligible for a covid test.
14 changeTypeTakeCare Using to determine which doctor will take care of that patient
168
16 importStaff Using to import staff
No Method Description
1 getAllVillageByDistrictId Using to display villages by district.
No Method Description
Using to display whether the patient has recovered or not to
1 getAll
the staff and search for the patient's name by fullname.
No Method Description
1 sentSms Using it to send text messages over the phone.
No Method Description
1 addReport Using to add a report..
169
2 getAllReport Using to show all reports.
No Method Description
1 getAllProvince Using to get all provinces.
No Method Description
1 getNew Using to display all news.
No Method Description
1 checkLogin Using to login into the system.
170
Using to reset passwords for users who forgot their
3 resetPass
password.
No Method Description
1 getAllDistrictByProvince Using to get all districts by province.
No Method Description
1 getAllByText Using to get all users by role and search by fullname.
4.1.1.11 Master Data Controller
No Method Description
1 pickerProvince Using to picker province.
4.1.2 Service
4.1.2.1 UserService
No Method Description
1 getAllUser Using to get all users.
171
5 deleteUser Using to delete users.
23 toTestCovid Using to display patients who are eligible for a covid test.
172
29 getCuredPatientOneDay Using to get cured patients one day.
totalCurrentF0
31 Using to count current f0.
No Method Description
1 getAllVillageBydistrictId Using to get all villages by district.
No Method Description
1 sendGetJSON Using send to get json.
No Method Description
1 getAllProvince Using to get all provinces.
No Method Description
1 getNew Using to display all news.
173
6 deleteNew Using to delete the news .
No Method Description
1 pickerProvince Using to picker province.
No Method Description
1 getAllDistrictByProvince Using to get all districts by province.
No Method Description
1 addReport Using to add a report..
174
8 countSentReport Using to count users sent reports .
No Method Description
1 CreateAccount Create a new account.
4.2.1.2 Staff
No Method Description
1 PatientList Display the list of F0 and cured patients
175
Display the chart about total F0 and cured patients in 7
8 ViewChart
days
4.2.1.3 Doctor
No Method Description
1 ChangePassword Change new password for doctor
176
9 ChangePassword Change new password for doctor
4.2.1.4 Patient
No Method Description
1 ReportDetails Display the sent report in a day
177
4.2.1.5 Common
No Method Description
1 NewDetails Display a news details
4.2.2 Library
4.2.2.1 Common
No Method Description
1 Regex Validate value input
4.2.2.2 Plugin
178
No Method Description
4 Messenger Get Facebook chat plugin
4.2.3 Context
4.2.3.1 Authenticator
No Method Description
1 AdminProvider Login authentication admin
4.2.4 Components
4.2.4.1 UI
No Method Description
1 BackDropLayout Display the backdrop layout
4.2.4.2 Layout
No Method Description
1 MainLayout Display main content layout
179
3 Pagination Display pagination component
5. Database Design
180
5.1. News
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 title String N Y N Title for news
7 description Long text N N N Description for news
8 image_url String N N N Image url for news
181
9 is_delete Int N N N Delete for news
10 user_id BigInt N N Y Id of user who created
11 file_id BigInt N N Y Id of image for news
5.2. User
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 address String N Y N Address detail for user
7 birth_of_date Long text N N N Date of birth for user
8 date_start String N N N Quarantine start date
9 is_active Int N N N Delete for user
10 email BigInt N N Y Email for user
11 fullname BigInt N N Y Full name for user
12 gender String N N N Gender for user
13 image_url String N Y N Image url for user
14 password String N N N Password for user
15 phone String N N N Phone for user
16 username String N Y N Username for user
17 role_id BigInt N N Y Id of role for user
18 result String N N N Result for user
19 village_id BigInt N N Y Id of village for user
20 current_status String N N N Current status for user
21 type_take_care String N N N Type take care for user
22 id_file BigInt N Y Y Id file of image for user
5.3. File
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 data LongBlog N Y N Data of file
3 name String N Y N Name of file
4 type String N Y N Type of file
5.4. Role
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of Role
182
5.5. Province
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of province
5.6. District
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of District
7 province_id BigInt N Y Y Id of province for District
5.7. Village
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of Village
7 District_id BigInt N Y Y Id of district for Village
5.8. Medicine
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of Medicine
7 description String N Y N Description of Medicine
183
5.9. Symptom
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of Symptom
7 description String N Y N Description of Symptom
5.10. Exercise
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of Exercise
7 description String N Y N Description of Exercise
5.11. Medicine_daily_detail
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 daily_report_id BigInt N Y Y Id of report
7 medicine_id BigInt N Y Y Id of medicine
5.12. Symptom_daily_detail
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 daily_report_id BigInt N Y Y Id of report
7 symptom_id BigInt N Y Y Id of symptom
5.13. Exercise_daily_detail
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
184
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 daily_report_id BigInt N Y Y Id of report
7 exercise_id BigInt N Y Y Id of exercise
5.14. Daily_report
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
body_tempera Body temperature of patient for
6 Double N N N
ture report
7 breathing_rate Double N N N Breathing rate of patient for report
oxygen_conce Oxygen concentration of patient for
8 Double N N N
ntration report
9 comment Text N N N Comment of patient for report
10 date_time String N Y N Date time of report
Feedback of staff or doctor for
11 feedback String N N N
report
12 status String N Y N Status for report
13 user_id BigInt N Y Y Id of user who report
185
No Verification Phases Validation Phases
Acceptance Testing: User Acceptance Testing
User Requirement: This is the first phase in
is conducted to determine whether the
the development cycle where the product
system is ready for release. During this phase,
requirements are understood from the
the tester and some alpha test users will test
customer’s perspective. This phase
the system to find out whether the
involves detailed communication with the
application meets their business needs.
customer to understand his expectations
Acceptance testing is associated with the
and the exact requirement of the project.
1 business requirement analysis phase and
This is a very important activity and it
involves testing the product in the user
needs to be managed well because most of
environment. Acceptance tests uncover the
the customers are not sure about what
compatibility issues with the other systems
exactly they need. The acceptance test
available in the user environment. It also
design planning is done at this stage as
discovers non-functional issues such as load
business requirements can be used as an
and performance defects in the actual user
input for acceptance testing.
environment.
Software Requirement Specification: Once
System Testing: System testing is the first
you have your clear and detailed product
level in which the complete application is
requirements, it's time to complete the
tested as a whole. System testing is directly
system design. The system designer will
associated with the system design phase.
complete the understanding and detailing
System tests check the entire system
2 of the software and communication setup
functionality and the communication of the
for the product under development. The
system under development with external
system test plan was developed based on
systems. Most of the software and hardware
the system design. Doing this at an earlier
compatibility issues can be uncovered during
stage leaves more time for the actual test
this system test execution.
execution afterward.
186
Architectural Design: Architectural Integration Testing: Integration testing allows
specifications are understood and individuals the opportunity to combine all of
designed in this phase. Usually, more than the units within a program and test them as a
one technical approach is proposed, and group. This testing level is designed to find
based on the technical and financial interface defects between the
feasibility the final decision is taken. The modules/functions. This is particularly
system design is broken down further into beneficial because it determines how
modules taking up different functionality. efficiently the units are running together
3
This is also referred to as High-Level Design Integration testing is associated with the
(HLD). The data transfer and architectural design phase. Integration tests
communication between the internal are performed to test the coexistence and
modules and with the outside world (other communication of the internal modules
systems) is clearly understood and defined within the system.
in this stage. With this information,
integration tests can be designed and
documented during this stage.
Detailed Design: In this phase, the detailed Unit Testing: The main aim of this endeavour
internal Design for all the system modules is to determine whether the application
is specified, referred to as Low-Level functions as designed. In this phase, a unit
Design(LLD). The design must be can refer to a function, individual program, or
compatible with the other modules in the even a procedure, and a Whitebox Testing
system architecture and the other external method is usually used to get the job done.
4
systems. Unit tests are an essential part of Unit tests Designed in the module Design
any development process and help phase are executed on the code during this
eliminate the maximum faults and errors validation phase. Unit testing is the testing at
at a very early stage. These unit tests can the code level and helps eliminate bugs at an
be Designed at this stage based on the early stage, though all defects cannot be
internal module Designs. uncovered by unit testing.
187
During this first round of testing, the program is submitted to assessments that focus on
specific units or components of the software to determine whether each one is fully functional. The
main aim of this endeavor is to determine whether the application functions as Designed. In this phase,
a unit can refer to a function, individual program, or even a procedure, and a White-box Testing
method is usually used to get the job done. One of the biggest benefits of this testing phase is that it
can be run every time a piece of code is changed, allowing issues to be resolved as quickly as possible.
It’s quite common for software developers to perform unit tests before delivering software to testers
for formal testing.
Integrating testing checks the data flow from one module to other modules. This kind of testing is
performed by testers.
Integration testing allows individuals the opportunity to combine all of the units within a
program and test them as a group. This testing level is Designed to find interface defects between the
modules/functions. This is particularly beneficial because it determines how efficiently the units are
running together. Keep in mind that no matter how efficiently each unit is running, if they aren’t
properly integrated, it will affect the functionality of the software program. To run these types of tests,
individuals can make use of various testing methods, but the specific method that will be used to get
the job done will depend greatly on how the units are defined.
188
System testing is the first level in which the complete application is tested as a whole. The goal
at this level is to evaluate whether the system has complied with all of the outlined requirements and
to see that it meets Quality Standards. System testing is undertaken by independent testers who
haven’t played a role in developing the program. This testing is performed in an environment that
closely mirrors production. System Testing is very important because it verifies that the application
meets the technical, functional, and business requirements that were set by the customer.
The final level, Acceptance testing (or User Acceptance Testing), is conducted to determine
whether the system is ready for release. During the Software development life cycle, requirements
changes can sometimes be misinterpreted in a fashion that does not meet the intended needs of the
users. During this final phase, the user will test the system to find out whether the application meets
their business needs. Once this process has been completed and the software has passed, the program
will then be delivered to production.
189
You can reference at https://viblo.asia/p/user-acceptance-testing-1VgZv8R95Aw
2. Test Plan
2.1 Test Stages
Stage of Test
Types of Test
Unit Integration System Acceptance
Function Test X X X X
API Test X X
User Interface Test X X X X
190
System Test X
Acceptance Test X
2.2 Resources
a. Human Resources
Worker/Doer Role Specific Responsibilities/Comments
Manage test resources and assign test tasks
Create Test Plan, Test Cases (IT, ST), Test Scripts (IT, ST)
KhanhTQ Test Leader/Tester Review Test Data
Final Inspection Test Cases
Create Test Reports
Project Manager/ Approve Test Cases (UT, IT, ST), Test Plan, Test Results,
KhanhPV
Tester Test Reports
AnhPQ Create UT Cases, UT Reports
AnhPQ Developer Create UT Cases, UT Reports
AnhPQ Developer Create UT Cases, UT Reports
b. Environment
Purpose Tool Provider Version
Visual Studio Code Microsoft Corporation 1.55.2
Unit Testing
IntelliJ IDEA JetBrains 2021.1
API Testing Postman Postman, Inc 8.2.3
User Interface Testing Chrome Google 90.0.4430.93
Integration Testing Chrome Google 90.0.4430.93
System Testing Chrome Google 90.0.4430.93
Acceptance Testing Chrome Google 90.0.4430.93
2.4 Deliverables
Due Date
No Deliverables Iteration 2 Iteration 3
1 Test Plan 20/10/2021 15/11/2021
191
2 Test case 21/10/2021 16/11/2021
3 Test case review 21/10/2021 16/11/2021
4 Defect report 09/12/2021 09/12/2021
5 Final test summary report 09/12/2021
3. Test Cases
3.1 Unit Testing
All unit tests are located in the folder FCDC/src/test in source code. Here is an example of unit test
cases:
192
3.2 Integration Testing & System Testing
The term “integration” means a process of combining into an integral whole. Similarly, integration
testing of a build indicates separate testing units of a system as one.
A system test inspects every software unit to secure their proficiency as a whole or assembled build.
In software engineering, a system test takes place after unit and integration testing.
Integration Test and System Test are done by testers to ensure that combined units work correctly and
that the system functions as intended.
GUI testing is also done during this process to ensure that elements and functions load correctly, the
text is readable, and the website interface looks good in various browser sizes.
This is the sample tests of Integration Test and System Test in F-CDC system:
Detailed test cases of these types of testing are described in 2 files: F-CDC_IntegrationTest.xlsx (for
Integration Testing) and F-CDC_SystemTest.xlsx (for System Testing).
193
Figure 2: System Test Case Example
Checklist
ID Yes No
Text on all pages for spelling and grammar are not
CL-01 √
errors.
CL-02 Every buttons have activity and working normally √
CL-03 All error messages are displayed in red colour. √
CL-04 All mandatory fields are validated √
General
Delete functionality for any record on the page is
CL-05 √
asked for confirmation.
CL-06 All required field cannot be blank/space √
Website crash or unavailable pages are redirected to
CL-07 √
an error page.
CL-08 Screens are designed following project requirement √
All fields on page (text box, checkbox, dropdown lists)
CL-09 √
should be aligned properly
CL-10 User-friendly and easy-to-use screen interface √
Information is arranged symmetrically with adequate
CL-11 √
spacing between components.
The most important fields are located where they are
CL-12 √
easy to see.
GUI and Information is presented in the order that the user
CL-13 √
Usability needs it.
The important fields and buttons are located where
CL-14 √
they are easy to see.
The text is easy to read. Do not use slang, acronyms,
CL-15 √
and abbreviations
CL-16 The text is clear, concise, and meaningful √
Pop-up menus are provided for the user to access
CL-17 information about an object's properties or perform √
specific tasks on the object.
CL-18 Correct data is saved in the database. √
Fields are designed with correct data type and data
CL-19 √
length.
Database Input field leading and trailing spaces are truncated
CL-20 √
before committing data to the database
Input numeric fields with minimum, maximum, and
CL-21 √
long values
CL-22 Quick response display √
Performance CL-23 Receive uninterrupted notifications √
CL-24 Multiple users can access at the same time √
Check password security and password policy
CL-25 √
Security enforcement.
CL-26 Check website logout functionality. √
194
4. Test Reports
4.1 Unit Test Report
195
4.2 Integration Test Report
Checklist
ID Yes No
196
Text on all pages for spelling and grammar are not
CL-01 √
errors.
CL-02 Every buttons have activity and working normally √
CL-03 All error messages are displayed in red colour. √
CL-04 All mandatory fields are validated √
General
Delete functionality for any record on the page is
CL-05 √
asked for confirmation.
CL-06 All required field cannot be blank/space √
Website crash or unavailable pages are redirected to
CL-07 √
an error page.
CL-08 Screens are designed following project requirement √
All fields on page (text box, checkbox, dropdown lists)
CL-09 √
should be aligned properly
CL-10 User-friendly and easy-to-use screen interface √
Information is arranged symmetrically with adequate
CL-11 √
spacing between components.
The most important fields are located where they are
CL-12 √
easy to see.
GUI and Information is presented in the order that the user
CL-13 √
Usability needs it.
The important fields and buttons are located where
CL-14 √
they are easy to see.
The text is easy to read. Do not use slang, acronyms,
CL-15 √
and abbreviations
CL-16 The text is clear, concise, and meaningful √
Pop-up menus are provided for the user to access
CL-17 information about an object's properties or perform √
specific tasks on the object.
CL-18 Correct data is saved in the database. √
Fields are designed with correct data type and data
CL-19 √
length.
Database Input field leading and trailing spaces are truncated
CL-20 √
before committing data to the database
Input numeric fields with minimum, maximum, and
CL-21 √
long values
CL-22 Quick response display √
Performance CL-23 Receive uninterrupted notifications √
CL-24 Multiple users can access at the same time √
Check password security and password policy
CL-25 √
Security enforcement.
CL-26 Check website logout functionality. √
197
VI. Release Package & User Guides
1. Deliverable Package
1.1 Source codes & documents
No. Items Sub-Items Type Version
Code Package
1 Front-end client New 1.0
2 Back-end api New 1.0
Documents
1 Final report LiveCodingMentership_FinalReport.pdf New 1.0
2 Report 1 Report1_Project Introduction.docx New 1.0
3 Report 2 Report2_Project Management Plan.docx New 1.0
Report3_Software-Requirement-
4 Report 3 New 1.0
Specification.docx
5 Report 4 Report4_Software Design Document.docx New 1.0
6 Report 5 Report5_Test Documentation.docx New 1.0
7 Report 6 Report6_Software-User-Guides.docx New 1.0
F-
8 CDC_SystemT F-CDC_SystemTest.xlsx New 1.0
est
F-
9 CDC_Integrati F-CDC_IntegrationTest.xlsx New 1.0
onTest
1.2 Known Issues, Limitations & Restrictions
N/A
2. Installation Guides
2.1 System Requirements
● Windows 10 Professional 64 bit, Intel® Core™ i5-7200U, RAM 8.00GB:
● MySql
● Postman v8.2.3
● NodeJS v14.16.1
● Visual Studio Code v1.55.2
● IntelliJ IDEA v2021.1
198
3. Copy and Paste the username:
45.124.95.51
4. Click Connect.
● Download and install Postman by following the instruction at:
https://www.postman.com/downloads/
1. Open Postman.
2. In the Home menu. Choose Collections, and click to Import.
3. Choose the file collection end then click “Import”.
● Download and install NodeJS by following the instruction at:
https://nodejs.org/en/blog/release/v14.16.1/
● Download and install Visual Studio Code at:
https://code.visualstudio.com/download
1. Open lcm-system project in Visual Studio Code
2. Open terminal in the project folder and run:
⮚ yarn install
⮚ yarn start
● Download and install IntelliJ IDEA at:
https://www.jetbrains.com/idea/download/other.html
1. Open lcm-system project in IntelliJ IDEA
2. Open terminal in the project folder and run:
⮚ yarn install
⮚ yarn start
3. User Manual
3.1 System requirements
Internet access required.
Any laptop, pc, table or mobile that is able to use Google Chrome, Mozilla Firefox or other browsers.
3.2 Application Usage
3.2.1 Guest
● View Homepage:
199
o Access homepage
o User can view all information about the website, user can log in
200
Figure 5: View news list
● View news detail
○ On the homepage.
○ Click “Tin tức” on the menu bar of the website.
○ Click on the news that you want
3.2.2 Doctor
● View patients list:
o Doctor login
o Click to name of doctor in the top right of website
o In page “Danh sách bệnh nhân”
o Doctor view patients list with their informations
201
Figure 6: View patients list
● Change password:
o Doctor login
o Click to name of doctor in the top right of website
o Click to “Đổi mật khẩu”
o Input new password and confirm new password
202
● View daily reports list:
o In page “Danh sách bệnh nhân”, doctor click “Xem” in column “Chi tiết”.
o The mentee view list of daily reports of that patient with information related to
symptoms of covid-19.
203
● View dashboard
o In page “Danh sách bệnh nhân”, doctor click “Xem” in column “Chi tiết”.
o The mentee view list of daily reports of that patient.
o Dashboard display below list of reports with information about “Nhiệt độ, Nhịp thở,
Nồng độ Oxy”
204
● Logout:
o In home page
o Click to “Đăng xuất” on the top right of the website.
3.2.3 Patient
● View report history :
o Patient login
o Click to name of patient in the top right of website
o In page “Lịch sử báo cáo”
o Patient view reports list with informations relate to symptoms
205
Figure 15: View daily report detail
● View dashboard:
o In page “Lịch sử báo cáo”.
o Dashboard display below list of reports with information about “Nhiệt độ, Nhịp thở,
Nồng độ Oxy”
206
Figure 17: Create daily report.
● View test covid result:
o Patient login
o Click to name of patient in the top right of website
o Click to “Kết quả xét nghiệm”
o Display result of covid test.
207
Figure 19: Update avatar.
● Logout:
o In home page
o Click to “Đăng xuất” on the top right of the website.
3.2.4 Admin
● View news list
o Admin login.
o Click to “Quản lý tin tức”
o Admin view list of news
208
Figure 21: View news list..
● Create news :
o In page “Quản lý tin tức”.
o Click to icon “+”
o Input “Tiêu đề”, “Ảnh”, “Nội dung”
o Click to “Tạo” button
209
Figure 23: Search news.
● Update news
o In page “Quản lý tin tức”.
o Click icon edit to go to update news page
o Edit “Tiêu đề” or “Ảnh” or “Nội dung”
o Click to “Cập nhật”.
210
Figure 25: Delete news.
● View users list
o Admin login.
o Click “Bệnh nhân” to display list of patients
o Click “Nhân viên” to display list of staffs
o Click “Bác sĩ” to display list of doctors
211
Figure 27: Search users.
212
Figure 29: Delete user account.
● Logout:
o In home page
o Click to “Đăng xuất” in sidabar.
213
Figure 31: Logout screen
3.2.5 Staff
● Export list Covid-19 patients to Excel:
o In page ‘’Bệnh nhân F0’’.
o Click button ‘’Xuất ra excel’’ to download excel file to your computer.
214
Figure 33: Export list patients recovered cured of Covid-19
215
o Staff can see all Covid-19 patients
.
.
216
Figure 36: Search patient recovered cured of Covid-19
217
Figure 38: Change result status
218
o Find patient who staff want to choose
o Staff click list doctor in “Bác sĩ điều trị” column
o Choose doctor who staff wants to take care for patient
Figure 41: Display list daily report and dashboard for each patient
219
● Display daily report detail
o In the page, staff chooses the tab “Bệnh nhân F0”.
o Find patient who staff want to choose
o Staff click icon “eye” in “Danh sách báo cáo” column
o Find daily report which staff want to show
o Click icon “eye” in last column
220
Figure 43: List of unsent reports
221
Figure 45: Remind patient to send daily report
222
o Click icon “edit” daily report which staff want to reply
223
● Export list of patients to test for covid to excel
o In the page, staff chooses the tab “Danh sách đi test Covid”.
o Choose datetime you want to show
o Show all of patients to test Covid-19
o Click button “Xuất ra excel” to download
224
Figure 50: Dashboard covid patients management
● Change password
o In the page, staff chooses the tab “Đổi mật khẩu”.
o Enter your password you want to change
o Enter your re-password
● Sign out
o In the page, staff chooses the tab “Đăng xuất”.
225
3.3 Troubleshooting
The application can be slow when the internet is poor.
VII. Appendix
Reference:
HCDC : https://hcdc.vn/
Electronic health declaration(gov): https://kbyt.khambenh.gov.vn/#tokhai_yte/model
“Công văn bộ y tế “ : congvanboyte.pdf
226