0% found this document useful (0 votes)
29 views103 pages

Report3 - Software Requirement Specification

Report 3 – Software Requirement Specification
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views103 pages

Report3 - Software Requirement Specification

Report 3 – Software Requirement Specification
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 103

CAPSTONE PROJECT REPORT

Report 3 – Software Requirement Specification

– Danang, April 2023 –

Table of Contents
I. Record of Changes..............................................................................................................................1
II. Software Requirement Specification..................................................................................................2
1. Product Overview...........................................................................................................................2
2. User Requirements.........................................................................................................................3
2.1 Actors.......................................................................................................................................3
2.2 Use Cases.................................................................................................................................3
2.3 Feature Common....................................................................................................................11
3. Functional Requirements.............................................................................................................48
3.1 System Functional Overview..................................................................................................48
3.2 Authentication........................................................................................................................54
3.3 Homepage..............................................................................................................................57
3.4 User Profile.............................................................................................................................59
3.5 Course Learning......................................................................................................................60
3.6 Taking Mock Test....................................................................................................................64
3.7. Earn Coin...............................................................................................................................66
3.8 My Blog..................................................................................................................................67
3.9 About Us................................................................................................................................70
3.10 Knowledge Sharer Analyst Data...........................................................................................72
3.11 Admin Analyst Data..............................................................................................................80
4. Non-Functional Requirements.....................................................................................................90
4.1 External Interfaces.................................................................................................................90
4.2 Quality Attributes...................................................................................................................91
5. Requirement Appendix................................................................................................................92
5.1 Business Rules........................................................................................................................92
5.2 Common Requirements.........................................................................................................92
5.3 Application Messages List......................................................................................................93

Table of Figures
Figure 1. Overview of Flearning Platform ...............................................................................................
2

Figure 2. Flearning Platform Use Case Diagram ..................................................................................... 4

Figure 3. Use Case for Authentication ....................................................................................................


5
Figure 4. Use Case for Learner ................................................................................................................
6

Figure 5. Use Case for Knowledge Sharer ...............................................................................................


7

Figure 6. Use Case for Admin ..................................................................................................................


8

Figure 7. Swimlane diagram for Course creation and learning .............................................................. 9

Figure 8. Screen Flows for each actor in FLearing Platform ................................................................. 48

Figure 9. Entity Relationship Diagram ...................................................................................................


53

Figure 10. Sign In Screen .......................................................................................................................


54

Figure 11. Sign Up Screen .....................................................................................................................


55

Figure 12. Forgot Password Screen .......................................................................................................


56

Figure 13. Change Password Screen .....................................................................................................


57

Figure 14. Homepage Screen ................................................................................................................


58

Figure 15. My Profile Screen .................................................................................................................


59

Figure 16. Other User’s Wall Screen .....................................................................................................


60

Figure 17. Course Overview Screen ......................................................................................................


61

Figure 18. Course Detail Screen ............................................................................................................


62

Figure 19. Course Detail Question Screen ............................................................................................


63

Figure 20. Course Detail Video Screen ..................................................................................................


64

Figure 21. All Mock Test Screen ............................................................................................................


65

Figure 22. Mock Test Detail Screen ...................................................................................................... 66

Figure 23. Earn Coin Screen ..................................................................................................................


67
Figure 24. All Blogs Screen ....................................................................................................................
68

Figure 25. Blog Detail Screen ................................................................................................................


69

Figure 26. My Blog Screen ....................................................................................................................


70

Figure 27. About Us Screen ...................................................................................................................


71

Figure 28. Knowledge Dashboard Screen .............................................................................................


72

Figure 29. Knowledge Sharer’s Course Screen ..................................................................................... 73

Figure 30. Knowledge Sharer’s Video Screen .......................................................................................


74 Figure 31. Knowledge Sharer’s Chapter
Screen .................................................................................... 75

Figure 32. Knowledge Sharer’s Question Screen ..................................................................................


76

Figure 33. Knowledge Sharer’s Mock Test Screen ................................................................................ 77

Figure 34. Knowledge Sharer’s Enroller Screen ....................................................................................


78

Figure 35. Knowledge Sharer’s Income Screen .....................................................................................


79

Figure 36. Knowledge Sharer’s Comment Screen .................................................................................


80

Figure 37. Admin Dashboard Screen.....................................................................................................


81

Figure 38. Admin’s User Screen ............................................................................................................


82

Figure 39. Admin’s Course Screen ........................................................................................................


83

Figure 40. Admin’s Video Screen ..........................................................................................................


84

Figure 41. Admin’s Question Screen .....................................................................................................


85

Figure 42. Admin’s Transaction Screen .................................................................................................


86

Figure 43. Admin’s Comment Screen ....................................................................................................


87

Figure 44. Admin’s Blog Screen.............................................................................................................


88
Figure 45. Admin’s Mock Test Screen ...................................................................................................
89 Figure 46. Admin’s Notification Screen ................................................................................................

90

Table of Tables
Table 1. All actors in the system ............................................................................................................. 3

Table 2. Use case Description ...............................................................................................................


11

Table 3. Screen Descriptions .................................................................................................................


50

Table 4. Screen Authorization ...............................................................................................................


52

Table 5. Non-Screen Functions .............................................................................................................


52

Table 6. Entities Description .................................................................................................................


54

Table 7. Business Rule ...........................................................................................................................


92

Table 8. Common Requirements ..........................................................................................................


93

Table 9. Application Message List .........................................................................................................


96
I. Record of Changes
Date A*, M, D In charge Change Description

22/02/2023 A VaxMS Team Add initial version

28/03/2023 M VaxMS Team Update mentor’s comment part 1

10/04/2023 M VaxMS Team Update mentor’s comment part 2

13/04/2023 M VaxMS Team Update mentor’s comment part 3


*A - Added M - Modified D - Deleted
II. Software Requirement Specification
1. Product Overview
In Vietnam, vaccination centers are located throughout the country, including both public health
centers and private vaccination services. The current manual data management system results in
significant challenges in aggregating data and generating reports on local vaccination status.
Additionally, using paper-based records makes tracking vaccination history prone to errors, loss, and
omissions, posing risks to the individuals receiving vaccines.
To address these issues, a unified technology platform is needed to synchronize data across all
vaccination centers. Moreover, a standardized process and clear legal framework must be established.
The National Expanded Program on Immunization has issued the document "Vaccination Assignment
Process and Pre-vaccination Consultation in the Expanded Immunization Program," which
accompanies Decision No. 678/QD-VSDTTU dated June 7, 2013, by the Director of the National
Institute of Hygiene and Epidemiology. This ensures compliance with the vaccine and biological
product usage regulations issued by the Ministry of Health (Decision No. 23/2008/QD-BYT dated July
7, 2008).
Additionally, reporting templates for vaccination data have been standardized and unified across all
vaccination centers.

Figure 1. Overview of the VaxMS Platform

2. User Requirements
2.1 Actors
# Actor Description
1 Guest Guest is a user who accesses the VaxMS system without logging in.
They can navigate the landing page and have access to view
information on vaccines, read blogs, participate in live chat, and use
the search functionality.
2 Customer Customer is a registered user in the VaxMS system. They can
manage their profile, view and track vaccination records, provide
feedback, handle wallet payments, browse vaccine schedules, and
register for vaccinations. Additionally, they receive appointment
reminders, can download vaccination certificates, and have the
ability to book or reschedule vaccination appointments.
3 Staff Staff are users with permissions to manage operational tasks in the
VaxMS system. They can view vaccine registrations, manage vaccine
information, create vaccination schedules, and access vaccination
lists.
4 Admin Admin is a system user with full control and management privileges
over the VaxMS system. Admins can manage user accounts, oversee
payments, update and maintain vaccine data, and handle other
system configurations.
Table 1. All actors in the system

2.2 Use Cases


2.2.1 Diagram(s)

2.2.1.1 Use Case Overview


Below is an overview of the use cases for the VaxMS Platform.

Figure 2. VaxMS Platform Use Case Diagram


2.2.1.2 Use Case for Authentication
In the VaxMS system, all users except for guests must authenticate upon entry. This process verifies
the user's identity and ensures that only authorized individuals can access specific functionalities. By
enforcing authentication, the system protects sensitive data and prevents unauthorized access
tocritical information.
Figure 3. Use Case for Authentication

2.2.1.3 Use Case for Staff


Below is a subsystem use case for the Staff actor.
Figure 4. Use Case for Staff

2.2.1.4 Use Case for Customer


Below is a subsystem use case for the Customer actor.
Figure 5. Use Case for Customer
2.2.1.5 Use Case for Admin
Below is a subsystem use case for the Admin actor.
Figure 6. Use Case for Admin

2.2.2. Swimlane Diagram


Below is a swimlane diagram depicting the primary activity of the FLearning system, which involves
the creation and learning of courses.

Figure 7. Swimlane diagram for create vaccine and

2.2.3 Descriptions
Below is a summary of the use cases present in the FLearning system:

ID Use Case Actors

UC-1 Register Guest

UC-2 Login Staff, Customer, Admin, Guest

UC-3 Logout Staff, Customer, Admin

UC-4 Forgot Password Staff, Customer, Admin

UC-5 Change Password Staff, Customer, Admin

UC-6 View Landing Page Staff, Customer, Admin, Guest

UC-7 Search Staff, Customer, Admin, Guest

UC-9 View Vaccine Details Staff, Customer, Admin, Guest


UC-10 View Vaccine Overview Staff, Customer, Admin, Guest

UC-11 View Schedule Staff, Customer, Admin, Guest

UC-12 Create Vaccine Schedule Staff, Admin

UC-13 Update, Delete Schedule Staff, Admin

UC-14 Feedback Customer

UC-15 View Comment Staff, Customer, Admin, Guest

UC-17 View My Profile Customer, Staff, Admin

UC-18 Update Personal Information Customer, Staff, Admin

UC-19 View Dashboard Staff, Admin

UC-20 Create Account Staff, Admin

UC-21 Update, Block Account Staff, Admin

UC-22 View My Wallet Customer

UC-23 View Vaccination History Customer

UC-24 Register for Vaccination Customer, Staff, Admin

UC-25 Chat Staff, Admin, Customer, Guest

UC-26 View Vaccination Schedule List Staff, Admin

UC-27 View Inventory Staff, Admin

UC-28 Update Inventory Staff, Admin

UC-29 View Vaccine Registrations List Staff, Admin

UC-30 Register Confirmation List Staff, Admin

UC-39 Export to Excel Staff, Admin

UC-40 View, Read Notification Customer, Staff, Admin

UC-41 View All, Send Notification Staff, Admin


Table 2. Use case Description

2.3 Feature Common


2.3.1 Authenticate User

2.3.1.1 Sign Up
Use Case ID: UC-01 Use Case Name: Sign Up
Created By: DucLV Date Created: 2023/2/24

Primary Actor: Guest Secondary Actor: None

This use case describes the process of new visitors creating an account on
Description: FLearning website, providing their personal information such as their name,
email address, and a password to become registered users.
Priority: High

The guest clicks on the "Đăng ký ngay" link in the Sign in page or accesses the
Trigger:
sign-up page with a link.
Preconditions: PRE-01: The guest has a valid email address.

POST-1: FLearning system works stably, without error.


Post - Conditions: POST-2: The system creates a new user account and assigns the guest a
unique identifier upon successful verification.
POST-3: The guest can use their account to login to FLearning system.

1. The guest accesses the landing page.


2. Click on “Đăng nhập” button.
3. System redirects to the sign-in page.
4. Click on “Đăng ký ngay” link.
Type in all the required fields needed to create an account.
Basic Flow: 5.
6. Click on button “Tạo tài khoản”.

7. Verify email with the code sent to the user's email address.
8. System redirects to the sign-in page.
Alternative Flow: None

5a. The guest fills in invalid username or email.


5a1. The system gives an error message and inform the guest to fill in
another username, email.
Exception Flow:
5b. The guest fills in a username or email that already exists.
5b1. The system gives an error message and inform the guest to fill in
another username, email.
Business Rules: BR-02, BR-03, BR-04
2.3.1.2 Sign In
Use Case ID: UC-02 Use Case Name: Sign In

Created By: PhucHNT Date Created: 2023/2/24

Learner, Secondary
Primary Actor: Knowledge Sharer, Admin Actor: None

This use case describes how a user can sign in to their account. The system
Description:
verifies the credentials and grants access to the user's account.
Priority: High
Users want to login to the FLearning system using a Flearning account or
Trigger:
using Facebook/ Google login methods.
PRE-01: User has a created and valid account. PRE-02:
Preconditions:
User account has been authorised.
POST-1: FLearning system works stably, without error.
Post - Conditions:
POST-2: User successfully logged into the FLearning system.
1. User access to the sign-in page.
2. User to choose login with FLearning account.
3. User type in account info and press sign in button.
Basic Flow:
4. System verifies the user's account information and allows the user to
access the system.
5. System redirects to Home page.
2a. User to login with Gmail method.
2a1. System redirects to the Google sign in page.
3a. Users type in their Google account and click log in.
Alternative Flow:
4a. Google verifies the account’s information and allows the user access to
the system.
2b. User to login with Facebook method.
2b1. System redirects to the Facebook sign in page.
3b. Users type in their Facebook account and click log in.
4b. Facebook verifies the account’s information and allows the user access
to the system.
4c. The system fails to verify the user's account information and display
message.
Exception Flow: 4c1. Users stop the login process.
Use case stops.
4c2. Users click on Forgot password.
Business Rules: BR-02, BR-16
2.3.1.3 Sign Out
Use Case ID: UC-03 Use Case Name: Sign Out
Created By: PhucHNT Date Created: 2023/2/24
Learner,
Primary Actor: Secondary Actor: None
Knowledge Sharer, Admin
Description: This use case describes how a user can sign out of their account, which clears
any active cookies and logs them out of the system.
Priority: High
Trigger: The user wants to log out of the FLearning website and clicks on the log out
option.
Preconditions: PRE-01: User has logged in into FLearning system.
Post - Conditions: POST-1: FLearning system works stably, without error.
POST-2: System navigates the users back to landing page.
Basic Flow: 1. User hovers over the avatar in the header.
2. Click on the log out option.
3. The user is now no longer determined as any role but Guest.
4. The guest will be navigated back to the Landing page.
Alternative Flow: None
Exception Flow: None
Business Rules: BR-16
2.3.1.4 Forgot Password
Use Case ID: UC-04 Use Case Name: Forgot Password
Created By: PhucHNT Date Created: 2023/2/24
Learner, Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes how a user can reset their forgotten password by
Description: verifying their email address and clicking on the password reset link sent by
the system.
Priority: Medium
Trigger: The user clicks on the forgot password link to be able to reset their password.
Preconditions: PRE-01: User already has a valid account and valid email address.
POST-1: FLearning system works stably, without error.
Post - Conditions:
POST-2: The user changed their account password successfully.
1. User access to the sign-in page.
2. User clicks on forgot password in the login screen.
3. User will fill their email address in the email field.
4. The FLearning system will send a link to reset password to the user’s
email address.
The user clicks on the link in their mail and got redirected to the
5.
Basic Flow: reset password screen.
6. The user types in the new password and clicks confirms the new
password.
7. System redirects back to login screen.
Alternative Flow: None

3a. The user fills in an invalid email address


Exception Flow: 3a1. The system gives an error message and inform the guest to fill in a valid
email.
Business Rules: BR-16
2.3.1.5 Change Password
Use Case ID: UC-05 Use Case Name: Change Password
Created By: PhucHNT Date Created: 2023/2/24
Learner, Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes how a user can change their password by entering
Description:
their old and new passwords.
Priority: Medium
User wants to change their password and click on edit password in their
Trigger:
personal profile.
Preconditions: PRE-01:
POST-1: FLearning system works stably, without error.
Post - Conditions:
POST-2: The user changed their account password successfully.
1. User access to the sign-in page.
2. User clicks on forgot password in the login screen.
3. User will fill their email address in the email field.
4. The FLearning system will send a link to reset password to the user’s
email address.
Basic Flow:
5. The user clicks on the link in their mail and got redirected to the
reset password screen.
6. The user types in the new password and clicks confirms the new
password.
7. System redirects back to login screen.
Alternative Flow: None
Exception Flow: None
Business Rules: BR-02, BR-04, BR-16

2.3.2 View Common Feature as Guest

2.3.2.1 View Landing Page


Use Case ID: UC-06 Use Case Name: View Landing Page
Created By: PhucHNT Date Created: 2023/2/24
Guest, Learner, Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes how a user can view the homepage, which displays
Description:
courses, blogs, navigation menus, etc.
Priority: High
Trigger: Users access the FLearning system and the view Homepage.
Preconditions: PRE-01: User logged in into the system.
POST-1: FLearning system works stably, without error.
Post - Conditions: POST-2: System displays homepage and all the courses, blogs. inside it. POST-
3: User is able to navigate to other pages or features of the application.

1. User accesses the FLearning website.


Basic Flow: 2. System displays the homepage to the user.
3. User views the available features and content on the homepage.
Alternative Flow: None
Exception Flow: None
Business Rules: BR-05, BR-16
2.3.2.2 Search Item
Use Case ID: UC-07 Use Case Name: Search Item
Created By: QuangLNN Date Created: 2023/2/24
Guest, Learner, Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case demonstrates how a user can search for items such as courses,
blogs, mock tests and so on the FLearning system.
Description:
The search request can take place on the front end or sending to the back
end depending on the page.
Priority: Medium
The user inputs the search value in the search input and waits for the results
Trigger:
to return.
PRE-01: It requires the user to login before performing a search function at
Preconditions:
some pages.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. Users access pages which have a search function, for guests, there
are pages such as: Home Page, All Blogs Page…, for Learners are
Course Detail Video page, Course Detail Mock Test page, for
Basic Flow: Knowledge Sharers and Admins are management pages.
2. The user inputs the search value in the search input.
3. FLearning system processes the request and returns the results to
the user.
2a. Users can press the delete icon on the search input to delete all search
Alternative Flow:
values.
1a. If user input search value that is more than 100 characters
Exception Flow:
- The FLearning system prevents further input for search value.
Business Rules: BR-05, BR-13, BR-16

2.3.3 Learn Course

2.3.3.1 Enrol Course


Use Case ID: UC-08 Use Case Name: Enrol Course
Created By: NhiNHT Date Created: 2023/2/24
Primary Actor: Learner Secondary Actor: None
Description: Users want to join a course.
Priority: High
Trigger: User clicks on the enrol course button.
Preconditions: PRE-1. The user is logged in.
Post - Conditions: POST-1. User will send a join request to the Flearning system
Basic Flow: 1. Users access a course.
2. User clicks “Đăng ký” button.
3. User clicks “Tới khóa học” button.
3. User is shown course details.
Alternative Flow: None
Exception Flow: None
Business Rules: BR-13, BR-16
2.3.3.2 View Course Details
Use Case ID: UC-09 Use Case Name: View Course Details
Created By: NhiNHT Date Created: 2023/2/24
Learner
Primary Actor: Knowledge Sharer, Secondary Actor: None
Admin
The "View Course Details" function allows users to access the detailed
Description: information of a specific course, including curriculum, video tutorial,
question and mock test in a course.
Priority: High
User selects a course from the list of available courses and clicks on
Trigger:
the "Tới khóa học” button.
Preconditions: PRE-1: The user has logged into the platform.
Post - Conditions: POST-1: The user has reviewed the course details information.
1. The user navigates to the course page and selects the course.
2. The system displays the course details page, which includes
information such as a specific course, including curriculum, video
tutorial, question and mock test in a course.
Basic Flow:
3. The user clicks a video to watch or question and mock tests to
take.
4. The FLearning system shows corresponding video, question or
mock test and further processing when the user finishes.
Alternative Flow: 3a. Users can buy videos or questions.
Exception Flow: 1.0.E1 Course is not found
- The user finds out the course name but when the user clicks to
see the details, cannot see it, the reason is the course’ sharer
deleted the course at the same time.
Business Rules: BR-16
2.3.3.3 View Course Overview
Use Case ID: UC-10 Use Case Name: View Course Overview
Created By: NhiNHT Date Created: 2023/2/24
Primary Actor: Learner Secondary Actor: None
The "View Course Overview" function enables users to access an
Description:
overview of a particular course on the platform, including its details.
Priority: Medium
User selects a course from the list of available courses and clicks into
Trigger:
the course to view the course overview.
Preconditions: PRE-1: The user has logged into the platform.
POST-1: The user has reviewed the course overview information.
Post - Conditions: POST-2: The user has the option to enrol in the course or return to the
home page.
1. The user navigates to the home page and selects the course to
view the course overview.
2. The system displays the course overview page, which includes
information such as course title, description, syllabus,
Basic Flow: instructor bio, prerequisites.
3. The user reviews the course overview information.
4. The user has the option to enrol in the course or return to the
platform dashboard
Alternative Flow: None
1.0.E1 Course is not found
- The user finds out the course name but when the user clicks to see
Exception Flow:
the details, cannot see it, the reason is the course’ sharer deleted the
course at the same time.
Business Rules: BR-13, BR-16
2.3.3.4 Do, Retake Mock Test/ Question
Do, Retake Mock test/ Question
Use Case ID: UC-11 Use Case Name:

Created By: NhiNHT Date Created: 2023/2/24


Learner,
Primary Actor: Knowledge Secondary Actor: Admin
Sharer
This use case describes the process of retaking a mock test/question. The
Description: learner has already taken the test before and wishes to take the test again
to improve their score.
Priority: High
The user's desire to improve their score on a previously taken mock
Trigger:
test/question.
PRE-1: The system must have the necessary software and hardware
components to conduct the mock test/question.
Preconditions:
PRE-2: The user must have access to the system and the mock test/question
module.
POST-1: The user does and retakes the mock test/question successfully.
Post - Conditions:
POST-2: The system records successful logging in Activity Log.
Basic Flow: 1. The user logs into the system and navigates to the mock test.
2. The user clicks on the “Làm lại” button if they want to retake the
mock test/question.
3. The user answers the questions/question within the given time
frame.
4. Once the test is completed, the system displays the test results to
the user.
3a. If the user selects the wrong subject or topic, they can go back and select
the correct one.
4a. If the user does not confirm that they want to retake the test, they can
cancel the process.
Alternative Flow:
5a. If the system encounters an error in retrieving the questions, it will
display an error message to the user.
6a. If the user encounters technical difficulties during the test, they can
contact the support team for assistance.
5a. If there is an error in retrieving the questions
- Due to a technical issue, the system displays an error message to
the user.
Exception Flow: 6c. Fail to complete the mock test
- If the user fails to complete the retake test within the given time
frame, the system submits the test and displays partial results to
the user.
Business Rules: BR-16

2.3.4 Buy Item

2.3.4.1 Buy Item


Use Case ID: UC-12 Use Case Name: Buy Item
Created By: NhiNHT Date Created: 2023/2/24
Primary Actor: Learner Secondary Actor: None
This use case describes the process of a user buying a course on the
Description:
Flearning system.
Priority: High
User's desire to purchase a course, mock test, question or video on the
Trigger:
Flearning system.
PRE-1: The user must have a registered account on the website.
Preconditions: PRE-2: The user must have logged in to their account.
PRE-3: User's coin is enough to pay.
POST-1: FLearning system works stably, without error.
Post - Conditions:
POST-2: User successfully buys a course on FLearning website.
Basic Flow: 1. User selects the desired course from the list of course
overviews.
2. The user clicks on the "Mua Ngay" button for the selected
course.
3. The user is redirected to the payment page where they can
choose their preferred payment method.
4. The user enters the required details for the selected payment
method.
5. The user confirms the payment and the platform verifies the
payment.
6. User clicks accept payment. User's money will be deducted and
they can do any operation in that course
3a. Insufficient account balance
Alternative Flow: - If the user does not have sufficient funds, the platform will prompt
the user to add funds before completing the purchase.
Exception Flow: 5a. Users stop the login process.
Business Rules: BR-12, BR-16

2.3.5 Manage Blog Articles

2.3.5.1 View All Blogs, Mock Tests


Use Case ID: UC-13 Use Case Name: View All Blogs, Mock Tests
Created By: PhucHNT Date Created: 2023/2/24
Guest, Learner,
Primary Actor: Knowledge Sharer, Admin Secondary Actor: None

This use case describes the process of user viewing all the available blogs or
Description:
mock tests on the FLearning website.
Priority: High
Trigger: User wants to view all blogs or mock tests available on the website.
Preconditions: None
POST-1: FLearning system works stably, without error.
Post - Conditions: POST-2: User is able to view all the available blogs or mock tests on the
system.
1. User navigates to the "Blogs" or "Mock Tests" section of the website.
2. The website displays a list of all available blogs or mock tests to the
Basic Flow:
user.
3. User views the overview features of Blogs/ Mock tests.
Alternative Flow: None
Exception Flow: None
Business Rules: BR-16

2.3.5.2 View Blog, Mock test Detail


Use Case ID: UC-14 Use Case Name: View Blog, Mock test Detail
Created By: PhucHNT Date Created: 2023/2/24
Learner, Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes the process of the user viewing the details of a
Description:
specific blog or mock test on the FLearning website.
Priority: High
Trigger: User clicks on a specific blog or mock test on the website.
Preconditions: PRE-1: User has successfully logged into the application.
POST-1: FLearning system works stably, without error.
Post - Conditions: POST-2: User is able to view the details of the selected blog or mock test.
POST-3: User is able to navigate back to the list of all blogs or mock tests.
1. User navigates to the "Blogs" or "Mock Tests" section of the website.
2. The system displays a list of all available blogs or mock tests to the
user.
Basic Flow: 3. User selects a specific blog or mock test to view.
4. The application displays the details of the selected blog or mock test
to the user.
5. User can navigate back to the list of all blogs or mock tests.
Alternative Flow: None
Exception Flow: None
Business Rules: BR-16
2.3.5.3 Create Blog
Use Case ID: UC-15 Use Case Name: Create Blog
Created By: PhucHNT Date Created: 2023/2/24
Learner, Knowledge
Primary Actor: Secondary Actor: Admin
Sharer, Admin
This use case describes the process of the user creating a new blog post on
Description:
the website.
Priority: High
User wants to create a new blog post by hovering on the user's avatar on the
Trigger:
header and clicking on create blog.
Preconditions: PRE-1: User has successfully logged into the application.
POST-1: FLearning system works stably, without error.
POST-2: The blog will be set status to pending and will be sent to Admin for
Post - Conditions:
approval.
POST-3: System logs the activity in the activity log
1. User navigates to the "Create Blog" section of the website.
2. The system displays a form for the user to fill in information and
create a new blog post.
Basic Flow: 3. User submits the form.
4. The system validates the information and creates an approval
request sent to the admin.
5. The system displays a pending blog message to the user.
6. The admin approves the blog created by the user.
7. The system displays the created blog in the Blog page.

Alternative Flow: None


3a. The user submits an incomplete form or provides invalid information.
3a1. The application displays an error message indicating the missing or
invalid information.
3a2. The user is prompted to correct the error(s) and resubmit the form. Use
Exception Flow: case continues at step 4.

6b. The admin rejects the blog create request from user 6b1.
The system notifies user that the blog had been rejected Use
case stops.
Business Rules: BR-10, BR-16
2.3.5.4 Update, Delete Blog
Use Case ID: UC-16 Use Case Name: Update, Delete Blog
Created By: PhucHNT Date Created: 2023/2/24
Learner, Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes the process of the user update or deleting their blog
Description:
so that they can modify or delete the blog.
Priority: High
User wants to update or delete a blog post and click on the update or delete
Trigger:
option of a specific blog.
PRE-1: User has successfully logged into the application. PRE-2:
Preconditions:
User has previously created a blog post.
POST-1: FLearning system works stably, without error.
Post - Conditions: POST-2: The system updates the blog list view.
POST-3: A system that changes data according to user actions.
1. Users navigate to the blog post they want to update or delete.
2. Users select the edit or delete option for the blog post.
3. System displays the blog post in an editable pop up or the confirm
delete form popup.
Basic Flow: 4. If the user updates the blog, the user makes changes to the blog
post. If the user deletes a blog, skip this step.
5. User selects the option to save the changes or the confirm button.
6. The system displays a toast message to let users know that the
operation has been performed successfully or failed.
Alternative Flow: 1a. Admin navigates to the blog management page.
1a1. Admin search for the blog to be updated or deleted.
4a. Users can select the cancel option to cancel the edit.
4b. Users can select the cancel option to cancel the delete.
4c. User attempts to make a change that violates the system's business rules
Exception Flow: (such as exceeding character limits).
4c1. System displays an error message to the user.
4c2. User makes the necessary changes and then saves the new changes.

5d. User or admin clicks on the cancel button in the form popup.

6e. The system encounters an error while deleting the blog post.
6e1. The system displays an error message to the user or admin. 6e2.
The user or admin can choose to continue or cancel the deleting
process.
Business Rules: BR-16
2.3.5.5 Set Public, Private for Blog
Set Public, Private for
Use Case ID: UC-17 Use Case Name:
Blog
Created By: QuangLNN Date Created: 2023/2/24
Learner,
Primary Actor: Secondary Actor: None
Knowledge Sharer, Admin
This use case describes users can snooze their blogs by switching from public
Description:
to private mode.
Priority: Low
Trigger: User wants to update mode for the blog by clicking the private or public
icon.
Preconditions: PRE-1: User has successfully logged into the application.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. User navigates to the All Blog Page or My Blog Page.
2. User clicks on a private or public icon.
Basic Flow: 3. The system displays a confirmation dialog box to confirm changing.
4. User clicks on the confirm button.
5. The FLearning system updates the blog to reflect the change.
Alternative Flow: 3a. Users can click the cancel button to cancel the update.
Exception Flow: None
Business Rules: BR-16
2.3.5.6 View Blog Analyst Data
Use Case ID: UC-18 Use Case Name: View Blog Analyst Data
Created By: KhoiNM Date Created: 2023/2/24
Primary Actor: Admin Secondary Actor: None
This use case demonstrates how a user can control the blog of the FLearning
Description:
system by viewing blogs analyst data in the most general and systematic way.
Priority: Medium
Trigger: User logged in as an admin role and went to the Blog Management Page.
Preconditions: PRE-01: User must be logged in as Admin role.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. Users logged in as an admin role.
2. User hovers on avatar on header and click “Đến trang Admin”
Basic Flow: 3. User clicks tab “Quản lý Blogs”.
4. FLearning system shows all blogs' analyst data such as total blogs,
number of creators, blogs approved, the most creators and so on.
4a. Users can view the list of blogs pending approval. 4b.
Alternative Flow:
Users can also edit or delete blogs.
4c. Users can also search or sort blogs.

2a. If the FLearning system does not have any blog to show analyst data
Exception Flow: - The FLearning system shows a message “Hiện không có bài viết nào.”

Business Rules: BR-08, BR-16

2.3.6 Manage Comments

2.3.6.1 View Comment Analyst Data


Use Case ID: UC-19 Use Case Name: View Comment Analyst Data
Created By: MinhNN Date Created: 2023/2/24
Knowledge Sharer, Admin Secondary
Primary Actor: None
Actor:
This use case describes the process of viewing comment analyst data to
Description: analyse the user's feedback on the knowledge sharers content posted and
improve them accordingly.
Priority: Medium
User logs in with a knowledge sharer or admin account and navigates to the
Trigger:
Comment Management Page.
Preconditions: PRE-01: User must be logged in with a knowledge sharer or admin account.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. Users logged in with a knowledge sharer or admin account. 2.
User hovers on avatar on header and click “Đến trang quản lý”
Basic Flow: 3. Click “Quản lý bình luận” option on the sidebar.
4. The system allows to view data to analyse the user's comment on
courses, mock tests, and questions.
4a. Users can also edit or delete comments.
Alternative Flow:
4b. Users can also search or sort comments.
4a. Knowledge sharer has no comments on the content they posted
Exception Flow: - The Comment Management screen will display “Không có comment
của người dùng”
Business Rules: BR-08, BR-16
2.3.6.2 Comment Item
Use Case ID: UC-20 Use Case Name: Comment Item
Created By: QuangLNN Date Created: 2023/2/24
Learner
Primary Actor: Secondary Actor: None
Knowledge Sharer, Admin
This use case demonstrates how a user can comment on items such as
Description:
course, blog, mock test and so on the FLearning system.
Priority: Medium
Trigger: The user focuses on the comment input and input comment value.
Preconditions: PRE-01: User must be logged in.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. Users access pages which have a comment function such as Blog
Detail Page, Course Overview, Mock Test Detail page and so on.
Basic Flow:
2. The user focuses on the comment input and input comment value.
3. User click “Gửi bình luận” button.
4. FLearning system handles requests and shows a toast message if
user comments fail or are successful.
5. FLearning system displays comments if the user comments
successfully.
2a. Users can attach icons or images of comments.
2b. Users can view preview comments before sending comments.
Alternative Flow:
2c. Users can click the delete icon on comment input to delete all current
comment values.
2a. If user input comment value that is more than 200 characters
- The FLearning system shows a warning message “Vui lòng nhập ít
Exception Flow: hơn 200 ký tự.”
3a. If user is not logged in before click “Gửi bình luận”
- The FLearning system redirects users to the sign in page.
Business Rules: BR-16
2.3.6.3. View Comment
Use Case ID: UC-21 Use Case Name: View Comment
Created By: PhucHNT Date Created: 2023/2/24
Guest, Learner,
Primary Actor: Knowledge Sharer, Secondary Actor: None
Admin
This use case describes the process of the user viewing comments on any
Description: items throughout the system. The items can be courses, videos, mock tests,
blogs,
Priority: High
Trigger: The user wants to view comments on a particular item.
Preconditions: PRE-1: User has successfully logged into the website.
PRE-2: There exists at least one comment on the item.
PRE-3: The item is published/not disabled and available for viewing.
POST-1: FLearning system works stably, without error. POST-2:
Post - Conditions:
The user can view comments on the item.
1. The user navigates to the item they wish to view comments on.
Basic Flow: 2. The user scrolls down to the comments section of the item page.
3. The user reads the comments.
Alternative Flow: None
1a. The item does not have any comments.
Exception Flow: 1a1. The system displays a message indicating that there are no comments
on the item.
Business Rules: BR-16
2.3.6.4. Update, Delete Comment
Use Case ID: UC-22 Use Case Name: Update Comment
Created By: PhucHNT Date Created: 2023/2/24
Learner, Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes the process of a user updating their own comment
Description: on any item throughout the system. The items can be courses, videos, mock
tests, blogs, etc.
Priority: High
Trigger: User wants to update their own comment on an item.
PRE-1: User has successfully logged into the website.
Preconditions: PRE-2: User has already created a comment on the item they want to
update.
POST-1: FLearning system works stably, without error.
Post - Conditions:
POST-2: User's comment is updated with the new content.
1. User navigates to the comment that contains the comment they
want to update or delete.
2. Users select the edit or delete option for the comment.
3. System displays the current content of the comment in an editable
field or the confirm delete form popup.
Basic Flow:
4. If the user updates the comment, the user makes changes to the
comment. If the user deletes a comment, skip this step.
5. User selects the option to save the changes or the confirm button.
6. The system displays a toast message to let users know that the
operation has been performed successfully or failed.
3a. Users can select the cancel option to cancel the edit.
3b. Users can select the cancel option to cancel the delete.
4a. User decides not to make any changes to the comment and clicks the
Alternative Flow:
"Cancel" button.
4a1. System does not update the comment and returns the user to the item
page.
4b. User enters invalid content in the comment field, such as bad words.
Exception Flow: 4b1. System displays an error message informing the user that their
comment cannot be updated due to invalid content.
Business Rules: BR-08, BR-16, BR-17

2.3.7 Like Item

2.3.7.1 Vaccination Appointment Schedule


Use Case ID: UC-23 Use Case Name: Vaccination Appointment
Schedule
Created By: Phuoc Date Created: 2024/8/28

Primary Actor: Staff Secondary Actor: Admin

Allows staff to view, create, modify, and cancel vaccination appointments for
Description: customer

Priority: High
Trigger: Staff manage vaccination appointments
Preconditions: PRE-01: Staff is logged into the system
Post - Conditions: POST-1: Appointment details are updated in the system
POST-1: Customer are notified of any changes to their appointments
1. Staff selects "Schedule vaccination appointment" option
Basic Flow: 2. Staff selects an action (view, create, modify, or cancel)
3. The system saves the updates and confirms the action.

Alternative Flow: 1. Rescheduling an appointment


2. Staff selects new time slot
3. System updates appointment and notifies patient
System error during update  System displays error message
No available slots for rescheduling  System notifies staff that no slots are
Exception Flow:
available

Business Rules: 1. Staff must provide a reason for cancelling appointments


2. Overbooking is not allowed unless explicitly authorized
3. There must be at least 24 hours between scheduling and appointment
time

2.3.8 Become Knowledge Sharer and Upgrade Account

2.3.8.1. View Medical Records


View Medical Records
Use Case ID: UC-24 Use Case Name:

Created By: Phuoc Date Created: 2024/8/28


Primary Actor: Staff Secondary Actor: Admin
View the customer medical records, including medical history, test results,
Description: and vaccination history

Priority: High

Trigger: The customer or staff requests to view the medical records

Preconditions: PRE-01: Staff is logged into the system

POST-1: The medical records are displayed accurately and completely.


Post - Conditions:

1. The staff selects the option to view medical records.


2. The medical records are retrieved from the database and displayed.
Basic Flow: 3. The staff can browse through different sections of the medical
records.

If the user does not have access rights, the system displays an access denial
Alternative Flow: message.

If the medical records cannot be retrieved due to a system error, the


Exception Flow:
system displays an error message and requests the user to try again later.
Business Rules: 1. Only legally authorized individuals are allowed to access and view
medical records.
2. Medical records must be secured in compliance with HIPAA
standards.
2.3.9 Make Transaction 2.3.9.1
Add Medical Note
Use Case ID: UC-25 Use Case Name: Add Medical Note
Created By: Phuoc Date Created: 2024/8/28
Primary Actor: Doctor Secondary Actor:
Description: The doctor adds a medical note to the medical record

Priority: High
Trigger: The doctor wants to add medical information after an examination or
diagnosis
Preconditions: PRE-01: Doctor is logged into the system
Post - Conditions: POST-1: The medical note is added to the medical record and stored in the
database.
1. The doctor opens the customer medical records.
2. Selects the option to add a medical note.
Basic Flow:
3. Enters the note information.
4. Confirms and saves the note into the customer medical records.
Alternative Flow: The doctor can edit or delete the note before saving if any changes are
needed
If the note cannot be saved due to a system error, the doctor is notified
Exception Flow: and requested to try again

Business Rules: Medical notes must include the date and the name of the doctor who added
the note
Medical notes must include the date and the name of the doctor who added
the note
2.3.9.2 Administer Vaccine
Use Case ID: UC-26 Use Case Name: Administer Vaccine
Created By: Phuoc Date Created: 2024/8/28
Primary Actor: Doctor Secondary Actor:
The doctor administers a vaccine to the patient and records it in the medical
Description: records.

Priority: High

Trigger: The patient arrives for a scheduled vaccination.

Preconditions: PRE-01: The vaccine has been prepared, and the patient has completed the
pre-vaccination medical check.
Post - Conditions: POST-1: The vaccine is administered, and the vaccination information is
updated in the patient's medical records
1. The doctor verifies the patient's identity and medical condition
Basic Flow: 2. Administers the vaccine (Done)
3. Updates the vaccination information in the medical records.
4. Provides post-vaccination instructions to the patient.

If the patient experiences an adverse reaction after vaccination, the doctor


Alternative Flow:
takes necessary medical actions
If the vaccine cannot be administered due to medical emergencies, the
Exception Flow: system updates with a new appointment

Business Rules: 1. The vaccine must be administered following the manufacturer's


instructions and medical regulations.
2. The vaccination record must be updated immediately after the vaccination
is completed.
2.3.9.3 Create Vaccine Schedule
Use Case ID: UC-27 Use Case Name: Create Vaccine
Schedule
Created By: Phuoc Date Created: 2023/2/24
Primary Actor: Nurse Secondary Actor:

Description: Create a vaccination schedule for the patient.

Priority: High
Trigger: The nurse receives a request to create a vaccination schedule from a doctor
or an automated system

Preconditions: PRE-01: The patient has been screened and is eligible for vaccination

Post - Conditions: POST-1: The vaccination schedule is created and notified to the patient
1. The nurse receives information from the doctor or system about the
need to create a vaccination schedule
Basic Flow: 2. Determines the appropriate time and place for the vaccination.
3. Creates the schedule and saves it in the system.
4. Sends the vaccination schedule notification to the patient
Alternative Flow: The nurse can propose schedule changes if the initial time is unavailable

Exception Flow: If the vaccination schedule cannot be created due to a system error, the
nurse is notified and requested to try again later
Business Rules: 1. The vaccination schedule must be created at least 24 hours before the
vaccination date.
2. The nurse must confirm any changes related to the vaccination schedule
with the doctor.

2.3.10 Manage Profile

2.3.10.1 View My Profile


Use Case ID: UC-28 Use Case Name: View My Profile
Created By: MinhNN Date Created: 2023/2/24
Learner, Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes the process by which learners, knowledge sharers,
Description:
and admins can view their own profile information within the system.
Priority: High
User hovers over their avatar in the website header, and clicks on the "Đến
Trigger:
trang cá nhân" option to access their personal information.
Preconditions: PRE-01: User must be logged in.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. The user logs into the system.
2. The user hovers over their avatar on the header of the website and
clicks on the "View My Profile" option.
Basic Flow: 3. The system retrieves the user's profile information and displays it on
a new page.
4. The user can view their personal information, such as their name,
profile picture, and other relevant details.
2a. Users click their avatar or name in any section of the website that
Alternative Flow:
displays their avatar or name.
2a. If the user is in the process of learning a certain course:
Exception Flow: - The learning process will not show the header to the user, please
log out of the learning page to see the header of the website.
Business Rules: BR-12, BR-16
2.3.10.2 View User's Wall
Use Case ID: UC-29 Use Case Name: View User's Wall
Created By: MinhNN Date Created: 2023/2/24
Guest, Learner,
Primary Actor: Knowledge Sharer, Secondary Actor: None
Admin
This use case describes the process of viewing the wall page of other users
in the system. The wall page contains the user's profile information,
Description:
including their introduction, registered courses, recent activities, and
achievements.
Priority: High
Trigger: User clicks on the avatar or username to access the user's wall page.
PRE-01: Users navigate to any section of the website that displays another
user's avatar or username.
Preconditions:
PRE-02: If User logged in, they click on the name or profile picture of the
other user.
Post - Conditions: POST-1: FLearning system works stably, without error.
Basic Flow: 1. Click on the user's avatar or username to access their wall page.
2. The system retrieves the user's wall page information and displays it
on a new page.
3. On the user's wall page, view their profile information, registered
courses, recent activity, and achievements.
Alternative Flow: None.
3a. Users click their avatar or name:
Exception Flow:
- The system will navigate to the view my profile page.
Business Rules: BR-12, BR-16

2.3.10.3 Update Personal Information

Use Case ID: UC-30 Use Case Name: Update Personal Information

Created By: KhoiNM Date Created: 2023/2/24


Learner, Secondary
Primary Actor: None
Knowledge Sharer, Admin Actor:
This use case describes the process of Learners updating their personal
Description: information in a system. This can include changes to their name, avatar,
phone number, or any other relevant details.
Priority: High
Trigger: Users select a payment method and begin to make a deposit coin.
PRE-01: The user must be registered with the system and have an account.
Preconditions: PRE-02: The user must be logged in to their account.

Post - Conditions: POST-1: FLearning system works stably, without error.


1. The user navigates to the “Đến trang cá nhân" section.
2. The user chooses to update the relevant fields (name, avatar, phone
number, etc.).
3. Once the user has made their changes, they select the "Cập nhật"
button.
Basic Flow: 4. The system verifies that the updated information meets any
validation rules (e.g. valid name format, correct phone number
format, etc.).
5. The system updates the user's personal information in its database.
6. The system displays a message confirming that the user's personal
information has been updated successfully.
Alternative Flow: None
2a. If the user enters invalid information
- The system will display an error message and prompt the user to
correct the information before saving.
Exception Flow:
3a. If the user cancels the update process
- The system will not save any changes and the information will be
remained
Business Rules: BR-2, BR-12, BR-16
2.3.11 View Dashboard

2.3.11.1. View Dashboard


Use Case ID: UC-31 Use Case Name: View Dashboard
Created By: KhoiNM Date Created: 2023/2/24
Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case provides an overview of various aspects of the FLearning
Description: system, allowing users to monitor and manage performance more
effectively.
Priority: High
The user is logged in as a Knowledge Sharer or an Admin and navigates to
Trigger:
the dashboard page
Preconditions: PRE-01: User must be logged in as a Knowledge Sharer or an Admin.
POST-1: FLearning system works stably, without error.
Post - Conditions: POST-2: The user can view relevant data and insights related to the FLearning
system.
1. Users log into the system using their valid credentials.
2. User navigates to the "Trang tổng quan" section.
3. The dashboard displays an overview of the key performance
Basic Flow: indicators related to the system, such as traffic volumes, user
engagement, and revenue.
4. The dashboard also allows the user to view activity of users also
information related to users
4a. If the admin encounters any issues with the dashboard's performance or
Alternative Flow:
data, they can refresh the page.
3a. If the system is down or experiencing technical issues
- The rejected course will have an attachment that has been rejected
Exception Flow: by the admin.
4b. If knowledge sharer clicks hide icon button:
- The system does nothing.
Business Rules: BR-16

2.3.12 Manage Enrollers

2.3.12.1 View Enroller Analyst Data


Use Case ID: UC-32 Use Case Name: View Enroller Analyst Data
Created By: MinhNN Date Created: 2023/2/24
Knowledge sharer,
Primary Actor: Secondary Actor: None
Admin
This use case describes the process of accessing and reviewing data related
Description:
to the knowledge’s user enrollment.
Priority: Medium
User logs in with a knowledge sharer or admin account and navigates to the
Trigger:
Enroller Management Page.
Preconditions: PRE-01: User must be logged in with a knowledge sharer or admin account.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. Users logged in with a knowledge sharer or admin account.
2. User hovers on avatar on header and click “Đến trang quản lý”
Basic Flow: 3. Click “Quản lý người đăng ký” option on the sidebar
4. The system allows knowledge sharers to view, filter or search the
learner who enrolled their courses.
Alternative Flow: None
4a. If the courses posted by knowledge sharer not have any enroller:
Exception Flow: - The data table display “Chưa có Cóc nào đăng ký khóa học của bạn
:(”
Business Rules: BR-12, BR-16

2.3.13 Manage Users

2.3.13.1 View User Analyst Data


Use Case ID: UC-33 Use Case Name: View User Analyst Data
Created By: QuangLNN Date Created: 2023/2/24
Primary Actor: Admin Secondary Actor: None
This use case demonstrates how a user can control the user of a FLearning
Description: system by viewing users' analyst data in the most general and systematic
way.
Priority: Medium
Trigger: User logged in as an admin role and went to the User Management Page.
Preconditions: PRE-01: User must be logged in as Admin role.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. User logged in as an admin role.
2. User hovers on avatar on header and click “Đến trang Admin”
3. User clicks tab “Quản lý người dùng”
Basic Flow:
4. FLearning system shows all users' analyst data such as total number
of users, total number of knowledge sharers, user buy most, user
comment most and so on.
4a. Users can view the list of users waiting to approve an upgrade account.
Alternative Flow: 4b. Users can also edit or delete users.
4c. Users can also search or sort users.
2a. If the FLearning system does not have any user to show analyst data
Exception Flow: - The FLearning system shows a message “Hiện không có người dùng
nào.”
Business Rules: BR-08, BR-16
2.3.14 Manage Course

2.3.14.1. View Created Course


Use Case ID: UC-34 Use Case Name: View Created Course
Created By: KhoiNM Date Created: 2023/2/24
Knowledge Sharer,
Primary Actor: Secondary Actor: None
Admin
This use case describes the process of viewing information about a course
Description: that has been created by a knowledge sharer. An admin can also perform this
action on behalf of the knowledge sharer.
Priority: High
The user is logged in as a Knowledge Sharer or an Admin and navigates to the
Trigger:
"Quản lí khóa học'' section of the platform.
PRE-01: User must be logged in as a Knowledge Sharer or an Admin.
Preconditions:
PRE-02: The relevant course and its information must exist in the system.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. Users log into the system using their valid credentials.
2. User navigates to the "Quản lý khóa học" section.
3. The FLearning system creates a table connection to the created
courses of users from the system.
4. Users choose the course they want to view.
The system retrieves the relevant data for the course that the user
5.
Basic Flow: chose.
6. The FLearning system presents the information about the course to
the user, including the course ID, description, duration, cost, etc.

Alternative Flow: None

3a. If Knowledge is no course in "Quản lý khóa học"


Exception Flow:
- The FLearning informs the user that “Chưa có khóa học nào”
Business Rules: BR-16
2.3.14.2 View Course Analyst Data
Use Case ID: UC-35 Use Case Name: View Course Analyst Data
Created By: KhoiNM Date Created: 2023/2/24
Primary Actor: Admin Secondary Actor: None
This use case demonstrates how a user can control the course of a FLearning
Description: system by viewing courses analyst data in the most general and systematic
way.
Priority: Medium
Trigger: User logged in as an admin role and went to the Course Management Page.
Preconditions: PRE-01: User must be logged in as Admin role.
Post - Conditions: POST-1: FLearning system works stably, without error.
Basic Flow: 1. Users logged in as an admin role.
2. User hovers on avatar on header and click “Đến trang Admin”
3. User clicks tab “Quản lý khóa học” then click “Tổng quan” when
content dropdown.
4. FLearning system shows all courses' analyst data such as total
course, total approved course, total course of approval, total
completion and so on.
4a. Users can view the list of courses pending approval.
Alternative Flow: 4b. Users can also edit or delete courses.
4c. Users can also search or sort courses.
2a. If the FLearning system does not have any course to show analyst data
Exception Flow: - The FLearning system shows a message “Hiện không có khóa học
nào.”
Business Rules: BR-08, BR-16
2.3.14.3. Create Course
Use Case ID: UC-36 Use Case Name: Create Course
Created By: MinhNN Date Created: 2023/2/24
Knowledge Sharer,
Primary Actor: Secondary Actor: Admin
Admin
This use case describes the process of a user creating a course and publishing
Description:
it on a platform to enable other users to learn from the course.
Priority: High
The knowledge sharer wants to create a new course and click on the “Tạo
Trigger:
khóa học” button in the Create Course Page.
PRE-01: User must be logged in as a Knowledge Sharer or an Admin account.
Preconditions:
POST-1: FLearning system works stably, without error.
POST-2: The newly created course has the correct data with the input
knowledge sharer.
POST-3: The course image when uploaded by the knowledge sharer will be
Post - Conditions:
saved to the “cloud nary” storage.
POST-4: Once the admin has approved the knowledge sharer's course,
learners on the platform can register and learn that course.

1. Login as a Knowledge Sharer or an Admin account.


2. Navigates to the dashboard for the knowledge sharer section. Click
3. “Quản lý khóa học” option then click “Tổng quan” when content
dropdown.
4. Click on the “Tạo khóa học” button.
Fills out the required field when the create course form popup.
Basic Flow: 5.
6. Click “Tạo khóa học” button in the end of form.
7. Adds the course content, such as videos, mock tests.
8. Send the newly created course to the admin for approval.
9. The course is displayed on the home page when the admin approves
your course to be published.
Alternative Flow: None

6a. If knowledge sharer clicks hide icon button:


- The system does nothing.
Exception Flow: 9b. If admin doesn't accept your course published:
- The rejected course will have an attachment that has been rejected
by the admin.
Business Rules: BR-06, BR-07, BR-09, BR-16
2.3.14.3. Update, Delete Course
Use Case ID: UC-37 Use Case Name: Update, Delete Course
Created By: MinhNN Date Created: 2023/2/24
Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
Description: This use case describes the process of updating or deleting an existing
course.
Priority: High
The user wants to update or delete a created course and click on the edit
Trigger:
icon button of that course in the Create Course Page.
PRE-01: User must be logged in as a Knowledge Sharer or an Admin account.
Preconditions: PRE-02: The knowledge sharer must create at least one course

POST-1: FLearning system works stably, without error.


POST-2: The new course image when uploaded by the knowledge sharer will
Post - Conditions: be saved to the “cloud nary” storage. The old course image will be deleted
from “cloud nary” storage.
POST-3: A system that changes data according to user actions.
1. Login as a Knowledge Sharer or an Admin account.
2. Navigates to the dashboard for the knowledge sharer section.
3. Click “Quản lý khóa học” option then click “Tổng quan” when content
dropdown.
Basic Flow: 4. Click on the edit or delete icon button of the course user wants to
update.
5. Update the valid content for the fields that need to be changed when
the update course form will popup. If deleting the course, skip this step.
6. Click the confirm button.
2a. Navigates to the dashboard for the admin section.
3a. Click “Quản lý khóa học” option then click “Tổng quan” when content
Alternative Flow: dropdown.
4a. Click the edit or delete icon button of the course admin wants to update
in the data table.
6b. If knowledge sharer or admin click hide icon button:
Exception Flow:
- The data of course not be modified and the system does nothing.
Business Rules: BR-06, BR-16
2.3.14.4. View Created Chapter
Use Case ID: UC-38 Use Case Name: View Created Chapter
Created By: MinhNN Date Created: 2023/2/24
Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes the process of reviewing previously created and
Description:
posted course chapters on the platform.
Priority: High
Knowledge Sharers or Admins click the 'Manage Courses' option in the
Trigger:
sidebar, then click the 'Overview' option when the content drops down.
PRE-01: User must be logged in as a Knowledge Sharer or an Admin. PRE-02:
Preconditions:
Knowledge sharer must create at least one chapter.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. Log into the system using their valid credentials.
2. Navigates to the dashboard for the knowledge sharer section.
Basic Flow:
3. The knowledge sharer’s created chapters will be listed in the data table
along with related statistics.
Alternative Flow: None
3a. If Knowledge Sharer have no chapter:
Exception Flow:
- The data table display “Chưa có chương nào”
Business Rules: BR-16
2.3.15.5. Create Chapter
Use Case ID: UC-39 Use Case Name: Create Chapter
Created By: MinhNN Date Created: 2023/2/24
Knowledge Sharer,
Primary Actor: Secondary Actor: None
Admin
This use case describes the process of creating content for a chapter in a
Description:
course on the platform.
Priority: High
The knowledge sharer wants to create a new chapter and click on the “Tạo
Trigger: chương” button of the course they want to add new content in the Create
Course Page.
PRE-01: User must be logged in as a Knowledge Sharer or an Admin account.
PRE-02: The knowledge sharer must have at least one course to create a
chapter for the course.
Preconditions:
PRE-03: The course that is about to have a new chapter added by a
knowledge sharer must be their own course.

POST-1: FLearning system works stably, without error.


Post - Conditions:
POST-2: Chapter created will be added to the correct course
1. Login as a Knowledge Sharer or an Admin account.
Basic Flow: 2. Navigates to the dashboard for the knowledge sharer section.
3. Click “Quản lý khóa học” option then click “Tổng quan” when content
dropdown.
4. Click on the “Tạo chương” button of the course the knowledge sharer
wants to add new content.
5. Fills out the required field when the create chapter form popup.
6. Click the “Tạo chương” button at the end of the form.
Alternative Flow: None

6a. If knowledge sharer or admin click hide icon button: -


Exception Flow:
The system does nothing.
Business Rules: BR-16
2.3.14.6. Update, Delete Chapter
Use Case ID: UC-40 Use Case Name: Update, Delete Chapter
Created By: MinhNN Date Created: 2023/2/24
Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes the process of modifying or removing an existing
Description:
chapter in a course on the platform.
Priority: High
The knowledge sharer wants to update or delete a created chapter and click
Trigger:
on the edit icon button of that chapter.
PRE-01: User must be logged in as a Knowledge Sharer or an Admin account.
PRE-02: The User must create or delete at least one chapter.
PRE-03: If the User updates the chapter, the chapter to be updated must be
Preconditions: theirs.
PRE-04: If the User deletes the course, the course to be deleted must be
theirs.

POST-1: FLearning system works stably, without error.


POST-2: The fields that are not changed data will keep the content. Updated
Post - Conditions: fields will be changed according to user input.
POST-3: If Knowledge Sharer deletes their chapter, deleted courses will
disappear from the created chapter screen.
1. Login as a Knowledge Sharer or an Admin account.
2. Navigates to the dashboard for the knowledge sharer section.
3. Click “Quản lý khóa học” option then click “Tổng quan” when content
dropdown.
Basic Flow: 4. Click on the edit or delete icon button of the chapter that the User
wants to update or delete.
5. Update the valid content for the fields that need to be changed when
the update chapter form will popup. If deleting the chapter, skip this
step.
6. Click the confirm button.
Alternative Flow: 3a. Click “Quản lý khóa học” option then click “Quản lý chương” when
content dropdown.
4a. Click on the edit or delete icon button of the chapter that the user wants
to update or delete chapter.
5a. If knowledge add the same video or mock test:
- The notification system has added the same video/mock test 5b. If
knowledge sharer or admin click the reject button or hide icon
button:
Exception Flow:
- The system does nothing
6b. If knowledge sharer or admin click hide icon button:
- The data of chapters are not to be modified and the system does
nothing.
Business Rules: BR-16
2.3.14.7. View Created Video
Use Case ID: UC-41 Use Case Name: View Created Video
Created By: NhiNHT Date Created: 2023/2/24
Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes the process of viewing information about a video
Description: that has been created by a knowledge sharer. An admin can also perform
this action on behalf of the knowledge sharer.
Priority: High
The user is logged in as a Knowledge Sharer or an Admin and navigates to
Trigger:
the "Quản lí khóa học'' section of the platform.
PRE-1: User must be logged in as a Knowledge Sharer or an Admin.
Preconditions:
PRE-2: The relevant video and its information must exist in the system.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. Users log into the system using their valid credentials.
2. User navigates to the "Quản lý khóa học" section.
3. The FLearning system creates a table connection to the created
Basic Flow: video of users from the system.
4. Users choose the video they want to view.
5. The system retrieves the relevant data for the course that the user
chose.
Alternative Flow: None
3a. If Knowledge is no course in "Quản lý khóa học"
Exception Flow:
- The FLearning informs the user that “Chưa có khóa học nào”
Business Rules: BR-16
2.3.14.8. Create Video
Use Case ID: UC-42 Use Case Name: Create Video
Created By: NhiNHT Date Created: 2023/2/24
Primary Actor: Knowledge Secondary Actor: None
Sharer, Admin
This use case describes the scenario where a knowledge sharer creates a
Description:
video in a course that has already been created.
Priority: High
The knowledge sharer wants to add a video to a course that they have
Trigger:
already created.
PRE-1: The user must be logged in to their account.
PRE-2: The user must be the Knowledge Sharer or Admin
PRE-3: The Video that the user wants to add must have already been on the
Preconditions:
created course.
PRE-4: The user who created the course and the user who created the video
must be the same user.
POST-1: The newly added video is successfully added to the course. POST-2:
Post - Conditions:
The user can watch the video on the course page.
1. The user access to home page with
2. The user clicks on the "Create Video" button.
3. The system prompts the user to upload or select a video file from
their devices.
Basic Flow:
4. The user selects a video file and uploads it to the system.
5. The system processes the video and adds it to the course.
6. The user is redirected to the course page, where they can see the
newly added video.
1a. If the user leaves any required fields blank or enters invalid data, the
Alternative Flow: system displays an error message and prompts the user to fill out the
required fields correctly.
1a. User is not logged in
- If the user is not logged in to their account, the system prompts
them to log in before adding a video.
Exception Flow: 2a. User add video in uncreated course
- If the user tries to add a video to a course that has not been created,
the system displays an error message and prompts the user to
create the course first.
Business Rules: BR-16
2.3.14.9. Update, Delete Video
Use Case ID: UC-43 Use Case Name: Update, Delete Video
Created By: NhiNHT Date Created: 2023/2/24
Knowledge Sharer,
Primary Actor: Secondary Actor: None
Admin
This use case specifies the steps required to update or delete a video in a
Description: created course. The user will be able to edit the video details such as title,
description or upload a new video.
Priority: High
The knowledge sharer wants to update or delete the video in a course that
Trigger:
they have already created.
PRE-1: Users must be logged in and have the appropriate permissions to
access the course.
Preconditions:
PRE-2: A course must already exist with at least one video uploaded.
PRE-3: The user must have access to the video they want to update.
POST-1: FLearning system works stably, without error.
Post - Conditions: POST-2: The system updates the video list view.
POST-3: A system that changes data according to user actions.
1. User access to Management Dashboard.
2. User selects the video in the course they want to update or delete.
3. User selects the "Update Video" or “Delete Video” button for the
selected video.
4. System displays the video in an editable pop up or the confirm
delete form popup.
Basic Flow: 5. User makes changes to the video details (title, description, upload or
delete a new video file).
6. If the user updates the video, the user makes changes to the video.
If the user deletes a video, skip this step.
7. User selects the option to save the changes or the confirm button.
8. The system displays a toast message to let users know that the
operation has been performed successfully or failed.
4a. Users can upload video or paste video links from another source. 4b.
Alternative Flow: Users can select questions from the question library to update the
video's questions.
1a. If user not sign in or not a Knowledge Sharer
- The system redirects them to the 403 - Forbidden page.
Exception Flow: 5a. If user both paste video links and upload video
- The system display warn message “Chỉ được upload video hoặc dán
link videos từ nguồn khác”.
Business Rules: BR-08, BR-16
2.3.14.10. View Video Analyst Data
Use Case ID: UC-44 Use Case Name: View Video Analyst Data
Created By: QuangLNN Date Created: 2023/2/24
Primary Actor: Admin Secondary Actor: None
This use case demonstrates how a user can control all videos of a FLearning
Description:
system by viewing video analyst data in the most general and systematic way.
Priority: Medium
Trigger: User logged in as an admin role and went to the Video Management Page.
Preconditions: PRE-01: User must be logged in as Admin role.
Post - Conditions: POST-1: FLearning system works stably, without error.
Basic Flow: 1. User logged in as an admin role.
2. User hovers on avatar on header and click “Đến trang Admin” 3.
User clicks tab “Quản lý Video”
4. FLearning system shows all videos’s analyst data such as total number
of videos, total number of bought videos and video table.
4a. Users can also edit or delete videos.
Alternative Flow:
4b. Users can also search or sort videos.
2a. If the FLearning system does not have any video to show analyst data
Exception Flow:
- The FLearning system shows a message “Hiện không có video nào.”
Business Rules: BR-08, BR-16
2.3.14.11 View Created Mock Test
Use Case ID: UC-45 Use Case Name: View Created Mock Test
Created By: KhoiNM Date Created: 2023/2/24
Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes the process of viewing information about a mock
Description: test that has been created by a knowledge sharer. An admin can also
perform this action on behalf of the knowledge sharer.
Priority: High
The user is logged in as a Knowledge Sharer or an Admin and navigates to
Trigger:
the "Quản lí đề thi'' section of the platform.
Preconditions: PRE-01: User must be logged in as a Knowledge Sharer or an Admin.
Post - Conditions: POST-1: FLearning system works stably, without error.
3. Users log into the system using their valid credentials.
4. User navigates to the "Quản lý đề thi" section.
5. The FLearning system creates a table connection to the created
mock tests of users from the system.
Basic Flow: 6. Users choose the mock test they want to view.
7. The system retrieves the relevant data for the mock test that the
user chose.
8. The FLearning system presents the information about the mock test
to the user, including the mock test name, course name, duration, cost, etc.
Alternative Flow: None
3a. If Knowledge is created no mock test in "Quản lí đề thi"
Exception Flow:
- The FLearning informs the user that “Chưa có đề thi nào”
Business Rules: BR-16
2.3.14.12 Create Mock Test
Use Case ID: UC-46 Use Case Name: Create Mock Test
Created By: KhoiNM Date Created: 2023/2/24
Knowledge
Primary Actor: Secondary Actor: Admin
Sharer
This use case describes the process of creating a mock test by an admin or a
Description:
knowledge sharer on FLearning.
Priority: High
The user wants to create a mock test to assess the knowledge of other users
Trigger:
on a specific subject.
PRE-01: User must be logged in as a Knowledge Sharer or an Admin. PRE-02:
Preconditions: The mock test becomes available to users who can take it to test their
knowledge.
PRE-03: The user can create a mock test with questions, answers, photos and
other relevant information.
Post - Conditions: POST-1: FLearning system works stably, without error.
3. Users log into the system using their valid credentials.
4. User navigates to the "Quản lý đề thi" section.
5. From the dashboard, the user selects the "Create Mock Test" option.
6. The system displays a popup where the user can enter the details of
the mock test, such as the test name, subject, duration, number of
questions, and other relevant details.
7. The user selects the content they want to include in the mock test,
such as questions, answers, images, videos, or other multimedia elements.
8. The user adds the selected content to the mock test, specifying the
Basic Flow:
correct answer, options, and other relevant information.
9. Once the user is satisfied with the content of the mock test, they can
select the "Lưu câu hỏi" option.
10. The system validates the mock test and sends the mock test to the
admin.
11. When the admin accepts a mock test. The system will publish it to
the platform.
12. The mock test becomes available to users who can take it to test
their knowledge.
5.a. If the user does not have any content to include in the mock test, they
Alternative Flow: can select the "Cancel" option.
5.b. The system navigates the user back to the mock test page.
8a. If Knowledge is created missing or not in accordance with the
requirements
Exception Flow:
- System displays an error message and asks the user to correct the
issues before publishing the test.
Business Rules: BR-07, BR-10, BR-16
2.3.14.13 Update, Delete Mock Test
Use Case ID: UC-47 Use Case Name: Update Mock Test
Created By: KhoiNM Date Created: 2023/2/24
Knowledge Sharer
Primary Actor: Secondary Actor: Admin
This use case describes the process of making or deleting changes to an
Description:
existing mock test that has already been created on the platform.
Priority: High
The knowledge sharer wants to update or delete a created mock test and
Trigger: click on the edit or delete icon button of that course in the Manage Mock
Test Page.
PRE-01: User must be logged in as a Knowledge Sharer or an Admin account.
Preconditions: PRE-02: The mock test to be deleted must exist in the system.

POST-1: FLearning system works stably, without error.


POST-2: The newly created mock test has the correct data with the input
Post - Conditions: knowledge sharer.
POST-3: Once the admin has approved the knowledge sharer's mock test,
learners on the platform can register and learn that mock test.
1. Login as a Knowledge Sharer or an Admin account.
2. Navigates to the dashboard for the knowledge sharer section.
3. Click “Quản lý đề thi” option.
4. Click on the “Tổng quan” button.
Click on the edit or delete icon.
Basic Flow: 5.
6. Update the valid content for the fields that need to be changed
when the update chapter form will popup. If deleting the chapter,
skip this step.
7. Click the confirm button.
Alternative Flow: None

4a. If the user cancels the update or deletion action:


- The mock test remains in the system, and no data is changed.
Exception Flow:
6a. if there are issues with the connection or server:
- The user is alerted to try again later.
Business Rules: BR-08, BR-16, BR-17
2.3.14.14 View Mock Test Analyst Data

Use Case ID: UC-48 Use Case Name: View Mock Test Analyst Data

Created By: MinhNN Date Created: 2023/2/24


Knowledge Sharer,
Primary Actor: Secondary Actor: None
Admin
This use case describes the process in which the knowledge sharer views the
Description: mock test data analysis to get insights and make informed decisions for
improving the mock test content.
Priority: Medium
User logs in with a knowledge sharer or admin account and navigates to the
Trigger:
Mock Test Management Page.
Preconditions: PRE-01: User must be logged in with a knowledge sharer or admin account.
Post - Conditions: POST-1: FLearning system works stably, without error.
Basic Flow: 1. Users logged in with a knowledge sharer or admin account.
2. User hovers on avatar on header and click “Đến trang quản lý”
3. Click “Quản lý đề thi” option on the sidebar and click “Tổng quan”
option when the content drops down.
4. The system allows knowledge sharers to filter or search the mock
test to view, update or delete.
Alternative Flow: None
4a. If knowledge sharer not have any mock test:
Exception Flow:
- The data table display “Cóc có bài thi thử nào.”
Business Rules: BR-08, BR-16
2.3.14.15 View Created Question
Use Case ID: UC-49 Use Case Name: View Created Question
Created By: NhiNHT Date Created: 2023/2/24
Learner,
Primary Actor: Knowledge Secondary Actor: None
Sharer, Admin
Description: This use case allows a user to view a question in an enrolled course.
Priority: High
The user selects the course they want to view questions for, and clicks on the
Trigger:
question icon.
PRE-1: User must be logged into their account
Preconditions: PRE-2: The user must have enrolled a course
PRE-3: There must be at least one question added to the course
POST-1: User can view the question along with its options and correct
Post - Conditions:
answer
1. User selects the course they wish to view questions for
2. System displays a list of questions that have been added to the
Basic Flow:
course
3. User selects a specific question to view
1a. If user is not logged in, redirect them to login page
Alternative Flow: 3a. If the user selects an invalid question, display a message indicating that
the question does not exist or cannot be found
3a. Fail to load question
Exception Flow: - If the question fails to load, the user will be prompted to check their
internet connection.
Business Rules: BR-16
2.3.14.16 Create Question
Use Case ID: UC-50 Use Case Name: Created Question
Created By: NhiNHT Date Created: 2023/2/24
Knowledge Sharer,
Primary Actor: Secondary Actor: None
Admin
This use case describes the scenario where a knowledge sharer creates a
Description:
question in a course that has already been created.
Priority: High
The knowledge sharer wants to add a question to a course that they have
Trigger:
already created.
PRE-1: The user must be logged in to their account.
PRE-2: The user must be the Knowledge Sharer or Admin
PRE-3: The question that the user wants to add must have already been on
Preconditions:
the created course.
PRE-4: The user who created the question and the user who created the
video must be the same user.
POST-1: The newly added question is successfully added to the course. POST-
Post - Conditions:
2: The user can view the question on the course detail page.
1. The user accesses the home page with a Knowledge Sharer account.
2. The user clicks on the "Create Question" button.
3. The system prompts the user to upload or select a question from
their devices.
Basic Flow:
4. The user selects a question and uploads it to the system.
5. The system processes the question and adds it to the course.
6. The user is redirected to the course page, where they can see the
newly added question.
1a. If the user leaves any required fields blank or enters invalid data, the
Alternative Flow: system displays an error message and prompts the user to fill out the
required fields correctly.
3a. Fail to load question
Exception Flow: - If the question fails to load, the user will be prompted to check their
internet connection.
Business Rules: BR-16
2.3.14.17 Update, Delete Question
Use Case ID: UC-51 Use Case Name: Update, Delete Question
Created By: NhiNHT Date Created: 2023/2/24
Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case specifies the steps required to update or delete a question in a
Description: created course. The user will be able to update a question details such as
answer or upload a new question.
Priority: High
The knowledge sharer wants to update or delete the question to a course
Trigger:
that they have already created.
PRE-1: Users must be logged in and have the appropriate permissions to
access the course.
Preconditions:
PRE-2: A course must already exist with at least one question uploaded.
PRE-3: The user must have access to the question they want to update.
POST-1: FLearning system works stably, without error.
Post - Conditions: POST-2: The system updates the question list view.
POST-3: A system that changes data according to user actions.
Basic Flow: 1. User access to Management Dashboard.
2. User selects the question in the course they want to update or
delete.
3. User selects the "Update Question" or “Delete Question” button for
the selected question.
4. System displays a form with the current details of the question.
5. User makes changes to the question details (answer, upload or
delete a new question file).
6. User selects the "Save" option.
7. System updates the question details and redirects the user to the
course page.
4a. If the user wants to upload or delete a question file instead of editing the
existing question, they select the "Upload Question" or “Delete Question”
option.
Alternative Flow:
4b. The system displays a form to upload or popup to delete the question.
4c. User selects the question and uploads or deletes it.
4e. User selects the "Save" option.
1a. User is no logged in
- If the user is not logged in, the system redirects them to the login
page.
Exception Flow:
1b. User is not a Knowledge Sharer
- If the user does not have the appropriate permissions to access the
course, the system will return to the login page.
Business Rules: BR-08, BR-16

2.3.15 Manage Income

2.3.15.1 View Income Analyst Data


Use Case ID: UC-52 Use Case Name: View Income Analyst Data
Created By: MinhNN Date Created: 2023/2/24
Knowledge Sharer,
Primary Actor: Secondary Actor: None
Admin
This use case describes the process of accessing and reviewing financial data
Description:
related to the knowledge sharer income and revenue on platform.
Priority: Medium
User logged in as an admin role and navigates to the Income Management
Trigger:
Page.
Preconditions: PRE-01: User must be logged in with a knowledge sharer or admin account.
Post - Conditions: POST-1: FLearning system works stably, without error.
5. Users logged in with a knowledge sharer or admin account.
6. User hovers on avatar on header and click “Đến trang quản lý”
Basic Flow:
7. Click “Quản lý thu nhập” option on the sidebar
8. The system allows knowledge sharers to view, filter or search
transactions that occur with their content posted in the data table.
Alternative Flow: None
4a. If the content posted by knowledge sharer has not had any transactions
Exception Flow: yet:
- The data table display “Hiện chưa có giao dịch nào”
Business Rules: BR-12, BR-16
2.3.15.2 View Transaction Analyst Data
Use Case ID: UC-53 Use Case Name: View Transaction Analyst Data
Created By: QuangLNN Date Created: 2023/2/24
Primary Actor: Admin Secondary Actor: None
This use case demonstrates how a user can control all transactions in the
Description: FLearning system by viewing transaction analyst data in the most general
and systematic way.
Priority: Medium
User logged in as an admin create a notification at Notification Management
Trigger:
page
Preconditions: PRE-01: User must be logged in as Admin role.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. User logged in as an admin role.
Basic Flow:
2. User hovers on avatar on header and click “Đến trang Admin”
3. User clicks tab “Quản lý Giao dịch”
4. FLearning system shows all videos’s analyst data such as total
number of transactions, total of revenue, total of waiting
withdrawals and transactions table.
4a. Users can also edit or delete transactions.
Alternative Flow:
4b. Users can also search or sort transactions.
2a. If the FLearning system does not have any transactions to show analyst
data
Exception Flow:
- The FLearning system shows a message “Hiện không có giao dịch
nào.”
Business Rules: BR-08, BR-12, BR-15, BR-16
2.3.15.3 Export to Excel
Use Case ID: UC-54 Use Case Name: Export to Excel

Created By: QuangLNN Date Created: 2023/2/24


Primary Actor: Admin Secondary Actor: None
This use case describes how a user can export data to excel for storage
Description:
or statistical purposes.
Priority: High
User logged in as an admin role and went to the Transaction Management
Trigger:
Page.
Preconditions: PRE-01: User must be logged in as Admin role.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. User logged in as an admin role.
2. User hovers on avatar on header and click “Đến trang Admin”
Basic Flow:
3. User clicks tab “Quản lý Giao Dịch” or tab “Quản lý Người Dùng” 4.
User click button “Xuất ra Excel”
Alternative Flow: None
Exception Flow: None
Business Rules: BR-16

2.3.16 Manage Notification

2.3.16.1 View, Read Notification


Use Case ID: UC-55 Use Case Name: View, Read Notification
Created By: QuangLNN Date Created: 2023/2/24
Learner
Primary Actor: Secondary Actor: None
Knowledge Sharer, Admin
This use case describes that users can receive notifications from their
Description:
activities in the FLearing platform and mark their notifications as read.
Priority: Medium
The user hovers over the bell icon on the header and clicks on each
Trigger:
notification.
Preconditions: PRE-01: User must be logged in.
Post - Conditions: POST-1: FLearning system works stably, without error.
Basic Flow: 1. User hovers over the bell icon on the header at any page.
2. The FLearning system displays a list of their notifications in
chronological order.
3. User clicks on each notification to mark them as read.
Alternative Flow: None
1a. If user does not have any notifications
Exception Flow: - The FLearning system displays message “Cóc chưa có thông báo
nào”
Business Rules: BR-16
2.3.16.2 View All, Send Notification
Use Case ID: UC-56 Use Case Name: Send Notification
Created By: QuangLNN Date Created: 2023/2/24
Primary Actor: Admin Secondary Actor: None
This use case describes how a user can quickly send notifications to a wide
Description:
range of users to send information or warning.
Priority: High
User logged in as an admin role and went to the Transaction Management
Trigger:
Page.
Preconditions: PRE-01: User must be logged in as Admin role.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. User logged in as an admin role.
2. User hovers on avatar on header and click “Đến trang Admin”
3. User clicks tab “Quản lý Thông báo”
Basic Flow: 4. Users can view all notifications in the FLearning system.
5. User input users want to send, notification type and notification
content.
6. User click “Tạo thông báo” button.
Alternative Flow: 4b. Users can also view all notification’s types in the FLearning system.
4a. If the User input notification content more than 100 characters
Exception Flow: - The FLearning system shows a message “Vui lòng nhập nội dung ít
hơn 100 ký tự.”
Business Rules: BR-16

3. Functional Requirements
3.1 System Functional Overview
3.1.1 Screens Flow
Figure 8. Screen Flows for each actor in FLearing Platform

3.1.2 Screen Descriptions


# Feature Screen Description
Provide user the form to login using their
1 Sign In Sign in Page
email/username and password
2 Sign Up Sign Up Page Provide user to register new account

Forgot Forgot Password This feature is used for user enter email to reset
3
Password Page password
Change This feature is used for user change password if
4 My Profile Page
Password necessary
5 Landing Page Home Page A feature to display home page

6 View Profile My Profile Page This feature is used for users to view their profile.

A page displays a member’s wall including their


View Others Other User’s Wall
7 information, such as name, avatar, phone number,
Profile Page
etc.
View Vaccine Course Overview The feature to display all the information of a vaccine
8
Overview Page (the title, description, etc.)
View Vaccine
Course Details The screen shows the mock test within an enrolled
9
Mock Test Page course.

View Course Course Details A feature to display video tutorials in courses which
10
details Video Video Page are enrolled by the user.
View Schedule View All Schedule The screen to show all mock tests for learners to do
11
Vaccine Vaccine and retake to improve their knowledge.
The screen shows all questions of a mock test and
View Mock test Mock Test Details
12 learners can retake and view answers for all
Details Page
questions in that mock test.
View All Blogs
13 View Blogs A feature to show all blogs of the website.
Page
The screen to display a full version of a blog that was
14 View Blog Detail Blog Detail Page
created by another user.
The screen to show the user blog, it displays all blogs
15 View Blog My Blog Page
that user created recently.
16 View About Us About Us Page A feature to show information about the founder.

View
Knowledge
Knowledge A feature to show information about the course,
17 Sharer’s
Sharer’s video and enroller.
Dashboard Page
Dashboard
The screen to display vaccine overview, chapter
Vaccine Knowledge management and video management of a created
18
Management Sharer’s Course course. Knowledge Sharer also can create new video,
update video and delete video.
A feature to manage records in a medical records. It
Medical Records
19 also shows the graph of the number of people
Management
participating in the question.
A feature to manage questions in a created course. It
Knowledge
Mock Test also shows the graph of the number of people
20 Sharer’s Mock
Management participating in the mock test. Knowledge Sharer also
Test
creates new mock tests.
Enrol Knowledge A feature to manage users that are enrolling into a
21
Management Sharer’s Enroller course.
Income Knowledge The screen to display how much users of knowledge
22
Management Sharer’s Income sharer deposit into the account
Comment Knowledge A feature to manage user comment in Knowledge
23
Management Sharer’s Comment Sharer’s course, video, mock test.
Knowledge
24 Notification Sharer’s The screen to display notification from admin.
Notification
View Admin’s The screen to show all basic information about
25 Admin Dashboard
Dashboard Flearning system.
User
26 Admin’s User A feature to display user’s information,
Management
Vaccine A feature to manage a vaccine that knowledge sharer
27 Admin ‘s Vaccine
Management created and wait for the admin to accept or not.
Schedule A feature to manage video that knowledge sharer
28 Admin’s Schedule
Management created and wait for admin to accept or not.
A feature to manage questions that knowledge
Question
29 Admin’s Question sharer created and wait for the admin to accept or
Management
not.
Transaction Admin’s A screen to display how much users deposit into the
30
Management Transaction Flearning system.
Feedback A feature to manage user comments in VaxMS
31 Admin’s Feedback
Management system and delete their comments or not.
Blog A feature to manage user comments in Flearning
32 Admin’s Blog
Management system and accept their blog or not.
A feature to manage tests created by Knowledge
Mock Test Admin’s Mock
33 Sharer in Flearning system and accept their mock test
Management Test
or not.
Admin’s
34 Notification A feature to send notifications to users.
Notification
Table 3. Screen Descriptions

3.1.3 Screen Authorization

Screen Guest Customer Staff(Doctor, Nurse) Admin

Sign In X X X

Sign Up X X X X

Forgot Password X X X

Change Password X X X

Landing page X X X X

My Profile X X X

Other User's Wall X X X X


Vaccine Overview X X X X

Course Details Mock Test X X X

Course Details Question X X X

Course Details Video X X X

All Mock Tests X X X X

Mock Test Detail X X X

Earn Coin X X X

All Blogs X X X X

Blog Detail X X X

My Blog X X X

About Us X X X

Customer Dashboard X X

Customer Schedule X X

Customer Records X X

Customer Wallet X X

Knowledge Sharer's Question X X

Knowledge Sharer's Mock Test X X

Customer Register For


X X
Vaccination
Knowledge Sharer's Income X X

Customer Feedback X X

Admin Dashboard X

Admin's Account X

Admin's Vaccine overview X

Admin's Video X

Admin's Question X

Admin's X

Admin's Feedback X

Admin's Blog X

Admin's Vaccination Schedule X


Admin's Notification X
Table 4. Screen Authorization
3.1.4 Non-Screen Functions
# Feature System Function Description

When a user registers, a confirmation code will be


1 Sign up
sent via email to verify the email.

When the user wants to recover the password, the


2 Forgot Password
Email Sending password reset link will be sent via email.

When the user successfully deposits to the FLearning


3 Deposit Money account, an email confirming the deposited amount
will be sent.

When a user makes a course creation with photos,


4 Create Course the upload image service will run in background to
handle the photo.

When a user creates a blog with photos, the upload


Upload Image
5 Create Blog image service will run in background to handle the
Service
photo.

When a user creates a video with photos, the upload


6 Create Video image service will run in background to handle the
photo.

When the user is about to deposit, a WebSocket


WebSocket
7 Deposit Coins connection will be established to listen for the user's
Connection
deposit event.

Function for All requests to Learner, Knowledge Sharer and


8 Authorization Learner, Knowledge Admin functions are passed through the user
Sharer and Admin authorization middleware.
Table 5. Non-Screen Functions

3.1.5 Entity Relationship Diagram


Figure 9. Entity Relationship Diagram

Entities Description
# Entity Description
Define 3 types of user in FLearning system, store information about
1 User a user.
Users can register for courses; each course consists of many
2 Course
chapters.
Chapters belong to each course, including many videos and readings,
3 Chapter
tests.
Videos belong to each chapter; users can watch the video to be able
4 Video
to do the video’s questions.
Mock Tests belong to each chapter, users can do mock tests to be
5 Mock Test
able to complete each chapter.
The question belongs to each chapter or each mock test, the user
6 Question correctly answers the questions of the lecture to be able to continue
to learn the next lecture.
The comment belongs to each chapter or each video, users can
7 Comment create comments to voice their opinions or questions after each
course or video.
8 Blog Users can create blogs to discuss with other users on the website.

9 ActivityLog Store logging of user activities includes reactions, transactions.

10 Transaction Store user transactions when the user deposits, withdraws or buys.

Store user notifications such as user’ reactions, transactions or


11 Notification comments.
Table 6. Entities Description

3.2 Authentication
3.2.1 Sign In
● Function trigger: User clicks on the "Đăng nhập" button in the homepage or accesses the sign in page
with a link.

● Screen layout:

Figure 10. Sign In Screen

● Function Details:
- Validations: The password must meet minimum requirements such as length, character
types.
- Functionalities: The system checks if required login information is filled, then checks for
account existence and password correctness. It allows login with correct credentials

3.2.2 Sign Up
● Function trigger: User clicks on the "Đăng ký ngay" link in the Sign in page or accesses the
signup page with a link. ● Screen layout:
Figure 11. Sign Up Screen ●

Function Details:

- Validation: All fields are required, and email address and password should be in a valid
format.

- Functionalities: The system checks if all required registration information is filled, then
checks for account and email existence. It allows registration and login if all requirements
are met, or asks for re-entry if fields do not match.

3.2.3 Forgot, Reset Password


● Function trigger: User clicks on the "Quên mật khẩu" link on the login screen.

● Screen layout:
Figure 12. Forgot Password Screen ●

Function Details:

- Validation: The email address entered by the user exists in the system. The email sent
to the user contains a secure link to reset their password that expires after a certain
time period.

- Functionalities: This page allows users to reset their forgotten password by verifying
their email address. Users can enter their registered email address and follow the
instructions in the email to set a new password.

3.2.4 Change Password


● Function trigger: User click on “Đổi mật khẩu” button in their profile page.

● Screen layout:
Figure 13. Change Password Screen

● Function Details:

- Functionalities: This page allows users to change their current password by entering
their old and new passwords. An error message is displayed if the current password
entered is incorrect or if the new passwords do not match.

3.3 Homepage
3.3.1 Homepage
● Function trigger: The "View home page" function is triggered when the user accesses a link or clicks
on the FLearning logo within the website to display the main landing page.

● Screen layout:
Figure 14. Homepage Screen
● Function Details:

- Functionalities: This function displays the homepage including courses, blogs, navigation
menus, and search functions.

3.4 User Profile


3.4.1 My Profile
● Function trigger: The "View MProfiley Profile" function is triggered when the user login to FLearning
website and go to my profile page

● Screen layout:

Figure 15. My Profile Screen ●

Function Details:

- Functionalities: This screen displays the user's profile information including their name,
email, profile picture, Users can edit their profile information, change password....

3.4.2 Other User’s Wall


● Function trigger: The user clicks on the name or profile picture of another user on the FLearning
platform.

● Screen layout:
Figure 16. Other User’s Wall Screen ●

Function Details:

- Functionalities: This page displays the other user's profile page, including their name,
profile picture, bio, and other relevant information. If the other user's profile is
disabled, an error message is displayed.

3.5 Course Learning


3.5.1 Course Overview
● Function trigger: The user clicks on a course title or image from the course section in the homepage.

● Screen layout:
Figure 17. Course Overview Screen ●

Function Details:

- Functionalities: The course overview page displays a summary of the course name,
description, knowledge sharer’s name, duration, number of lessons, and level. If the
course is unavailable, an error message is displayed.

3.5.2 Course Details Mock Test


● Function trigger: User enrols to a course and views a mock test in that course.

● Screen layout:
Figure 18. Course Detail Screen

● Function Details: In this page, users can view questions, take a mock test, view answers of the mock
test, like mock test.

3.5.3 Course Details Question


● Function trigger: User enrols to a course and views a question in that course.

● Screen layout:
Figure 19. Course Detail Question Screen

● Function Details: In this page, users can view a question, take a question, view the answer of the
question, comment about that question, like a question, like comment on that question.

3.5.4 Course Details Video


● Function trigger: User enrols to a course and views a video in that course.

● Screen layout:
Figure 20. Course Detail Video Screen

● Function Details: In this page, users can view video, comment about video, like comment on that
video, like video.

3.6 Taking Mock Test


3.6.1 All Mock Test
● Function trigger: User clicks on "Đề thi" icon on the left sidebar.

● Screen layout:
Figure 21. All Mock Test Screen

● Function Details:

- Normal Case: Show available mock tests.

- Abnormal Cases: + No mock tests to display: Inform the user.

+ Error loading mock tests: Display error message.

3.6.2 Mock Test Detail


● Function trigger: User clicks on "Đề thi" icon on the left sidebar.

● Screen layout:
Figure 22. Mock Test Detail Screen ●

Function Details:

- Validation: Check login if user enrolment for course.

- Functionalities:

+ Normal Case: User clicks "Tham gia ngay" button, system checks if user has
taken the test before and renders appropriate data. Users can retake the test by
clicking "Làm lại." Users can add comments/questions about the test.

+ Users can edit/delete their comments.

3.7. Earn Coin


3.7.1 Earn Coin
● Function trigger: User clicks on the "Kiếm xu" link on the homepage’s left sidebar

● Screen layout:

Figure 23. Earn Coin Screen

● Function Details: In this page, users can check-in to earn coins.

3.8 My Blog
3.8.1 All blogs
● Function trigger: User clicks on the "Bài viết" link on the homepage’s left sidebar

● Screen layout:
Figure 24. All Blogs Screen

● Function Details:

- Functionalities:

- The system displays a blog page with a list of published blogs, including title, date,
summary, thumbnail, and data such as views/likes. Clicking on a post title shows full
content.

3.8.2 Blog Detail


● Function trigger: User access the Blog Detail page and scroll down to the comment section below.

● Screen layout:
Figure 25. Blog Detail Screen ●

Function Details:

- Functionalities:

- The comment section displays comments for that specific blog detail page which contains
info like user avatar, comment date, comment content and a reply function to each comment.

3.2.3 My Blog
● Function trigger: User access the My Blog page and scroll down to the comment section below.

● Screen layout:
Figure 26. My Blog Screen ●

Function Details:

- Functionalities:

- The comment section displays comments for that specific blog detail page which contains
info like user avatar, comment date, comment content and a reply function to each
comment.

3.9 About Us
3.9.1 About Us Page
● Function trigger: This function is triggered when a user access home page and click “Về Chúng Tôi”
button in the sidebar navigation.

● Screen layout:
Figure 27. About Us Screen
● Function Details:
- This page shows information about our team, our mission and our goals.

- This page also lets visitors know the purpose of our website and what value can we bring to
the community.

3.10 Knowledge Sharer Analyst Data


3.10.1 Knowledge Dashboard
● Function trigger: Users click on the "Đến trang quản lý" button when hovering the avatar in the
header to upgrade their account.

● Screen layout:

Figure 28. Knowledge Dashboard

Screen ● Function Details:

- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.

- Functionalities: The data on the dashboard of the knowledge sharer will be updated
immediately when there are any changes. Dashboard will give clear and specific figures
so that knowledge sharers can make accurate decisions for their sharing.

3.10.2 Knowledge Sharer's Course


● Function trigger: Users click on the "Đến trang quản lý" button when hovering the avatar in the
header, then click the "Tạo khóa học" button to view the created course, chapter, video or mock test.

● Screen layout:
Figure 29. Knowledge Sharer’s Course Screen
● Function Details:

- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.

- Functionalities: The data of the site will be constantly updated when there are changes
related to the course, chapter, video or mock test.
3.10.3 Knowledge Sharer's Video
● Function trigger: Users click on the "Đến trang quản lý" button when hovering the avatar in the
header, then click the "Tạo khóa học" button in the sidebar. Click on the “Tạo khóa học” button on the
page. The screen will display a create popup form to create a new video, update video and delete
video to share the knowledge with users on the same platform.

● Screen layout:

Figure 30. Knowledge Sharer’s Video Screen ●

Function Details:

- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.

- Functionalities: Click the "Tạo video" button to create a new video for chapter. When the
create form popup, the knowledge sharer must enter valid data in all required fields to
be able to create a new video, the new video will be displayed on the right chapter.

3.10.4 Knowledge Sharer's Chapter


● Function trigger: Users click on the "Đến trang quản lý" button when hovering the avatar in the
header, then click the "Tạo khóa học" button in the sidebar. Click on the “Tạo khóa học” button on the
page. The screen will display a create popup form to create a new chapter, update chapter and delete
chapter to share the knowledge with users on the same platform.
● Screen layout:

Figure 31. Knowledge Sharer’s Chapter Screen

● Function Details:

- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.

- Functionalities: Click the "Tạo Chương" button to create a new chapter of course. When
the create form popup, the knowledge sharer must enter valid data in all required fields
to be able to create a new chapter, the new chapter will be displayed on the right course
in the created course block.

3.10.5 Knowledge Sharer's Question


● Function trigger: User loginned as Knowledge Sharer and hovers on avatar on header and click “Đến
trang quản lý” then user clicks tab “Quản lý Câu Hỏi”.

● Screen layout:
Figure 32. Knowledge Sharer’s Question Screen

● Function Details:

- Functionalities: In this page, users can view question analysis data, search questions, sort
questions on multiple fields, and view a graph of question creation.

3.10.6 Knowledge Sharer's Mock Test


● Function trigger: User logged in as Knowledge Sharer and hovers on avatar on header and click “Đến
trang quản lý” then user clicks tab “Quản lý Đề Thi”.

● Screen layout:
Figure 33. Knowledge Sharer’s Mock Test Screen

● Function Details:

- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.

- Functionalities: In this page, users can view mock tests analysis data, search mock tests,
sort mock tests on multiple fields, and view a graph of mock tests creation.

3.10.7 Knowledge Sharer's Enroller


● Function trigger: User loginned as Knowledge Sharer and hovers on avatar on header and click “Đến
trang quản lý” then user clicks tab “Quản lý Người Đăng Ký”

● Screen layout:
Figure 34. Knowledge Sharer’s Enroller Screen

● Function Details:

- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.

- Functionalities: In this page, users can view enroller analysis data, search enrollers, sort
enrollers on multiple fields, view a graph of enroller join course and view status
learning of enroller.

3.10.8 Knowledge Sharer's Income


● Function trigger: User loginned as Knowledge Sharer and hovers on avatar on header and click “Đến
trang quản lý” then user clicks tab “Quản lý Thu Nhập”.

● Screen layout:
Figure 35. Knowledge Sharer’s Income Screen

● Function Details:

- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.

- Functionalities: In this page, users can view their income, the user that buys their item
such as Course, Video or Question and so on. Users can also view a graph of income by
month.

3.10.9 Knowledge Sharer's Comment


● Function trigger: User loginned as Knowledge Sharer and hovers on avatar on header and click “Đến
trang quản lý” then user clicks tab “Quản lý Bình Luận”.

● Screen layout:
Figure 36. Knowledge Sharer’s Comment Screen

● Function Details:

- Validation: The system will check if you are logged in and the login account must be
the knowledge sharer or admin account.

- Functionalities: In this page, users can comment by video in a course, a graph that
shows total comment by day, some analyst data such as total comment, total
comment not reply and so on.

3.11 Admin Analyst Data


3.11.1 Admin Dashboard
● Function trigger: Admin click on the "Đến trang admin" button when hovering the avatar in the
header.

● Screen layout:
Figure 37. Admin Dashboard Screen

● Function Details:

- Validation: Only user login as Admin role can use this function.

- Functionalities: In this page, users can view overview of FLearning System’s properties
such as total revenue, total deposit, user activities, top customers in FLearning Platform
and so on.

3.11.2 Admin's User


● Function trigger: Admin click on the "Đến trang admin" button when hovering the avatar in the
header. Then click the tab “Quản lý người dùng” in the sidebar.

● Screen layout:
Figure 38. Admin’s User Screen ●

Function Details:

- Validation: Only user login as Admin role can use this function.

- Functionalities: In this page, users can control the information of all users in the
FLearning system by viewing some properties such as total Learner, total Knowledge
Sharer, top users and table of all users. Users can also search, sort, edit or delete users.

3.11.3 Admin's Course


● Function trigger: Admin click on the "Đến trang admin" button when hovering the avatar in the
header then click “Quản lý khóa học” button in sidebar.

● Screen layout:
Figure 39. Admin’s Course Screen ●

Function Details:

- Validation: Only user login as Admin role can use this function.

- Functionalities: Admins get an overview of all courses by sort or search and they can edit,
delete courses or approve courses for publishing on the platform.

3.11.4 Admin's Video


● Function trigger: Admin click on the "Đến trang admin" button when hovering the avatar in the
header then click “Quản lý video” button in sidebar

● Screen layout:
Figure 40. Admin’s Video Screen ●

Function Details:

- Validation: Only user login as Admin role can use this function.

- Functionalities: Admins get an overview of all videos by sort or search and they can edit or
delete videos.

3.11.5 Admin’s Question


● Function trigger: Admin click on the "Đến trang admin" button when hovering the avatar in the
header then click “Quản lý câu hỏi” button in sidebar.

● Screen layout:
Figure 41. Admin’s Question Screen ●

Function Details:

- Validation: Only user login as Admin role can use this function.

- Functionalities: Admins get an overview of all questions by sort or search and they can edit
or delete questions.

3.11.6 Admin’s Transaction


● Function trigger: From admin page, click tab “Quản lý giao dịch”.

● Screen layout:
Figure 42. Admin’s Transaction Screen ●

Function Details:

- Validation: Only user login as Admin role can use this function.

- Functionalities: The Transaction Management page will allow admins search, sort to
display many transaction parameters after analysis such as: total number of transactions,
total number of pending transactions, biggest transaction made by user, etc. They can
update or delete transactions in the data table.

3.11.7 Admin’s Comment


● Function trigger: The Admin clicks on the "Quản lý Bình Luận" button on the admin's left sidebar in
the admin dashboard page.

● Screen layout:
Figure 43. Admin’s Comment Screen ●

Function Details:

- Validations: Only logged in Admin users can access this page. The data of all user’s
comments will be loaded on this page.

- Functionalities: The system displays a page showing the table of user's comments. The
Admin can view, update or delete the comments and other insights information of the
user to improve the learning experience.

3.11.8 Admin’s Blog


● Function trigger: Users login as Admin role click on the "Đến trang admin" button when hovering
the avatar in the header to upgrade their account. Click “Quản lý bài đăng” in the sidebar to view
blog analyst data.

● Screen layout:
Figure 44. Admin’s Blog Screen ●

Function Details:

- Validation: The system will check if you are logged in with an admin account.

- Functionalities: Click the "Quản lý bài đăng" button in the sidebar. Admins can view
specific data in the status card and the statistics are displayed in the graph that the
system has displayed. They can delete or update blogs.

3.11.9 Admin’s Mock Test


● Function trigger: This function is triggered when an administrator selects the "Quản lý Đề thi" option
to view blog analyst data.

● Screen layout:
Figure 45. Admin’s Mock Test Screen ●

Function Details:

- Validations: The system will check if the user is logged in as an administrator.

- Functionalities: Admins can view specific data in the status card and the statistics are
displayed in the graph that the system has displayed. They can delete or update mock
tests and approve the mock test to be published.

3.11.10 Admin’s Notification


● Function trigger: The admin clicks on the "Quản lý thông báo" tab on the left sidebar in the admin
page.

● Screen layout:
Figure 46. Admin’s Notification Screen ●

Function Details:

- Validation: Only user login as Admin role can view this function

- Functionalities: Allow admins to view many notification parameters after analysis such
as: total number of notifications sent, number of notifications seen by users, number of
users received, and a list display in notification types. Allow admins to send the
notifications to users.

4. Non-Functional Requirements
4.1 External Interfaces
4.1.1 User Interface
● UI-01: The system must display Success Message or Error Message when completing an action.

● UI-02: When the user is doing the Delete option, there must be a Confirm (Y/N) dialog.

● UI-03: The UI must minimise horizontal scrolling.

● UI-04: All pages in the system must have a Header menu and a Navigation menu.

4.1.2 Software Interface


● SI-01: Users can use Google or Facebook services as Login, which will help them to authenticate
their account.

4.1.3 Hardware Interface


● N/A
4.2 Quality Attributes
4.2.1 Availability
● The FLearning Platform should be accessible for at least 95% of the time.

● The FLearning Platform is accessible 24/7 from Monday to Sunday, except for the maintenance
hours of 23:00-24:00 on Sundays.
4.2.2 Usability
● An untrained user can enrol in a course within a maximum of 10 minutes.

● The platform must have breadcrumb navigation to make it simple for learners to find and enrol in
courses.

● Links and buttons are easily clickable.

4.2.3 Reliability
● Under the worst conditions, the mean time between failures should be no more than 5%.

● The platform's ability to recover from any issues should take no longer than 5 hours.

4.2.4 Performance
● The platform’s loading time should not exceed 2 seconds.

● The platform’s content should be both rendered and readable within a maximum of 3 seconds.

● Processing times of the most complexes request must complete within 3s (not include timeout
ones)

● Uploads of large images (>20mb) should be complete processing after 3s.

● The platform has the ability to handle up to 200 requests per second.

4.2.5 Security
● The user’s password should be encrypted using the Bcrypt algorithm before being stored in the
database.

● The platform can handle basic web attacks like SQL Injection, Script Injection, XSS (Cross-Site
Scripting) or CSRF (Cross-site Request Forgery).

● Data backup should be performed every month.

4.2.6 Maintainability and Extensibility


● The project's documentation should be stored in a concise and organised manner so that it can be
easily retrieved when needed.

● Following SOLID principles makes it easier to maintain and expand in the future.

5. Requirement Appendix
5.1 Business Rules
# Rule Definition
BR-01 The email password reset link will expire after 20 minutes.
Password regulation: at least 8 characters, must include at least 1 letter, 1 special character
BR-02

BR-03 Only one account can be created per email or Facebook account.

BR-04 Passwords stored in the database must be hash by the Bcrypt algorithm.

BR-05 All searching is limited to 100 characters

BR-06 A Course can only be assigned to one Knowledge Sharer

When Knowledge Shearer makes a publish request for a new course, at least one item
BR-07
(video, mock test) must be included.
BR-08 All deleting actions must have a confirmation popup before deleting.

Each Knowledge Sharer level will have different limits for creating courses, creating videos,
BR-09
creating mock tests and creating different questions.
Courses, blogs and mock tests are created and uploaded by Knowledge Sharer but are
BR-10
verified by FLearning Platform before publishing.
The FLearning Platform must have a system for handling disputes and complaints from
BR-11
users regarding course content, instructors, or other issues.
The FLearning platform must maintain the privacy and security of user data, and not use it
BR-12
for any purposes other than providing the course services.
The FLearning platform must have a user-friendly interface that allows learners to easily
BR-13
search, filter, and enrol in courses.
The FLearning platform must support different types of multimedia content, including
BR-14
videos, audio, images, and text.
The platform must have a secure payment system that protects the learners' financial
BR-15
information
The FLearning server system must have an operating rate of 95% in a month, the average
BR-16
time to fix any issues causing downtime must be 6 hours.
Only the user who is the creator or the admin can delete the items (course, video, mock
BR-17
test, question, blog, comment).
Table 7. Business Rule

5.2 Common Requirements


# Requirement Description
The web-based course should meet its intended purpose, such as
1 Objective
providing high-quality courses on a specific topic for learners.
The web-based course should provide basic functions such as
2 Functionality registration, login, course selection, payment, and access to learning
resources.
Websites must be designed in a uniform way, using a variety of
3 User interface design colours to increase aesthetics. In particular, the page design for
learning the course does not have distracting things such as
notifications.
The web-based course should ensure the security of learners'
4 Security
information with login and payment functions.
The web-based course should also be compatible with mobile
5 Responsive
devices and tablets so that learners can access the platform easier.
The web-based course should load quickly so that learners do not
6 Page loading speed
have to wait long to access learning content.
The web-based course should provide support to learners when they
7 Support
encounter problems or have questions about the course.
The web-based course should ensure a high level of reliability with
8 Reliability payment functions and have measures in place to prevent content
copying.
The web-based course should manage and store learners' data,
9 Data management
including login information, payment history, and learning progress.
The web-based course should operate stably without encountering
10 Availability
problems so that learners can access learning content continuously.
Table 8. Common Requirements

5.3 Application Messages List


Message
# Message code Context Content
Type
Inline There is no search result on Hiện chưa có {item’s name}
1 MSG01
message search items nào
Inline Input-requirement fields are
2 MSG02 Vui lòng nhập {field’s name}
message empty
Input in the password field Vui lòng nhập mật khẩu chứa
Inline ít nhất 8 ký tự và bao gồm 1
3 MSG03 does not meet the
message chữ thường, 1 kí tự đặc biệt.
requirement
Inline The re-password doesn't Mật khẩu nhập lại không
4 MSG04
message match the password đúng
The learner’s previous
5 Inline password is incorrect during Mật khẩu cũ không đúng. Vui
MSG05
message the Change password lòng nhập lại Cóc nhé
process
Username or password is Summary: "Đăng nhập lỗi"
Toast
6 MSG06 not correct after clicking Sign Detail: “Tài khoản hoặc mật
message
In khẩu không đúng”
Toast Learner update their Summary: "Cập nhật thành
7 MSG07
message personal info successfully công"

Detail: "Cập nhật tên và số


điện thoại thành công!"
Summary: "Nạp coins thành
công"
Toast Learner deposit coin to their
8 MSG08 Detail: "Cảm ơn Cóc đã nạp
message account successfully
coins. Cùng bắt tay mở khóa
học thôi!"
Summary: "Mở khóa thành
Toast Learner enrol to a course công"
9 MSG09
message successfully Detail: "Cóc đã mở khóa học
thành công!"
Summary: "Mở Khóa!"
Toast Learner unlock/ buy a Detail: "Cảm ơn Cóc, cùng
10 MSG10
message course’s item successfully bắt tay vào học thôi!"

Summary: "Mở khóa không


Learner unlock/ buy a
Toast thành công!"
11 MSG11 course’s item fail due to
message Detail: "Số dư không đủ. Cóc
insufficient balance
vui lòng nạp thêm nhé!"
Summary: "Đừng chần chừ!"
Toast Learner reject to unlock a Detail: "Hãy suy nghĩ lại nhé,
12 MSG12
message course mở khóa toàn bộ giúp Cóc
nhiều lắm!"
Summary: "Thất bại!" Detail:
Toast Error when learners haven’t "Không thể hoàn thành video
13 MSG13
message finished their lesson videos của Cóc. Vui lòng thử lại!"

Summary: "Nộp bài"


Toast Learner submit mock test
14 MSG14 Detail: "Nộp bài kiểm tra
message successfully
thành công!"
Summary: "Nộp bài"
Toast
15 MSG15 Learner submit mock test fail Detail: "Lỗi nộp bài. Cóc vui
message
lòng thử lại sau!"
Toast Learner retake the mock test Summary: "Thành công"
16 MSG16
message Detail: "Cùng làm lại nhé!"
Summary: "Tạo/ Chỉnh sửa/
Learner
Toast Xóa thành công"
17 MSG17 create/update/delete
message Detail: "Tạo/ Chỉnh sửa/ Xóa
comment successfully
comment thành công"
Summary: "Tạo/ Chỉnh sửa/
Learner
Toast Xóa thất bại"
18 MSG18 create/update/delete
message Detail: "Tạo/ Chỉnh sửa/ Xóa
comment fail
comment thất bại"
Summary: "Tạo/ Chỉnh sửa/
Learner
Toast Xóa thành công"
19 MSG19 create/update/delete blog
message Detail: "Tạo/ Chỉnh sửa/ Xóa
successfully
blog thành công"
Learner
Toast Summary: "Tạo/ Chỉnh sửa/
20 MSG20 create/update/delete blog
message Xóa thất bại"
successfully

Detail: "Tạo/ Chỉnh sửa/ Xóa


blog thất bại"
Summary: "Đã gửi báo cáo về
Learner send request to hệ thống"
Toast
21 MSG21 upgrade their account to Detail: "Đã gửi thông tin về
message
Knowledge Sharer type admin, hãy chờ admin xác
nhận nhé!"
Summary: "Nâng cấp thành
Knowledge Sharer
Toast công"
22 MSG22 successfully upgrade their
message Detail: "Nâng cấp tài khoản
account to further tiers
thành công!"
Knowledge Sharer fail to Summary: "Không đủ coin"
Toast
23 MSG23 upgrade their account to Detail: "Bạn không đủ coin để
message
further tiers nâng cấp!"
Knowledge Sharer create
items successfully (Items Summary: "Tạo thành công"
Toast
24 MSG24 can be courses, chapters, Detail: "Cóc đã tạo {item’s
message
videos, questions, mock name} thành công!"
tests)
Knowledge Sharer fail to
create items Summary: "Thất bại" Detail:
Toast
25 MSG25 (Items can be courses, "Tạo {item’s name} thất
message
chapters, videos, questions, bại!"
mock tests)
Knowledge Sharer add items Summary: "Cập nhật thành
Toast to the chapter successfully công"
26 MSG26 Detail: "Cập nhật {item’s
message (Items can be videos and
questions) name} thành công!"
Knowledge Sharer fail to add
Summary: "Thêm trùng"
Toast items to the chapter (Items
27 MSG27 Detail: "{item’s name} đã có
message can be videos and
rồi. Hãy thử lại cóc nhé!"
questions)
Knowledge Sharer update
items’ information Summary: "Chỉnh sửa thành
Toast successfully công"
28 MSG28
message (Items can be courses, Detail: "Cóc đã chỉnh sửa
chapters, videos, questions, {item’s name} thành công!"
mock tests)
Knowledge Sharer fail to
Summary: "Thất bại" Detail:
Toast update items’ information
29 MSG29 "Chỉnh sửa {item’s name}
message (Items can be courses,
thất bại!"
chapters, videos, questions,
mock tests)
Knowledge Sharer/ Admin
delete items successfully Summary: "Xóa thành công"
Toast
30 MSG30 (Items can be courses, Detail: "Xóa {item’s name}
message
chapters, videos, questions, thành công!"
mock tests)
Knowledge Sharer fail to Summary: "Xóa lỗi"
Toast
31 MSG31 delete items’ information Detail: "Đã có lỗi xảy ra. Vui
message
(Items can be courses, lòng thử lại sau Cóc nhé!"
chapters, videos, questions,
mock tests)
Summary: "Đã gửi phê duyệt
Knowledge Sharer send
Toast thành công"
32 MSG32 course information to the
message Detail: "Đã gửi phê duyệt
Admin for approval
khóa học thành công!"
Admin approve the approval
request for items Summary: "Đã chấp nhận"
Toast
33 MSG33 (Items can be course, mock Detail: "Đã phê duyệt {item's
message
test, blog, upgrade account name} thành công!"
request)
Admin reject the approval
request for items Summary: "Đã từ chối"
Toast
34 MSG34 (Items can be course, mock Detail: "Từ chối phê duyệt
message
test, blog, upgrade account {item's name}!"
request)
Summary: "Xóa thành công"
Toast Admin delete user/
35 MSG35 Detail: "Xóa người dùng/
message comment on the system
comment thành công"
Summary: "Cập nhật thành
công"
Toast Admin edit user/ transaction
36 MSG36 Detail: "Cập nhật trạng thái
message status
người dùng/ giao dịch thành
công"
Summary: "Thành công"
Toast Admin send notification to
37 MSG37 Detail: "Gửi thông báo thành
message other users successfully
công!"
Toast Admin fail to send Summary: "Thất bại" Detail:
38 MSG38 "Gửi thông báo thất bại!"
message notification
Table 9. Application Message List

You might also like