Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 155

MINISTRY OF EDUCATION AND TRAINING

FPT UNIVERSITY
Capstone Project Document

Build customer service system via Telesale for


Amazing Tech Company

GFA22SE28
Group Members

Supervisor Mr. Trương Long


Ext Supervisor N/A
Capstone Project FA22SE12
code

- Ho Chi Minh, 01/2023 -

Table of Contents

Table of Contents 2

1
Acknowledgement 7

Definition and Acronyms 8

Definition and Acronyms 8

I. Project Introduction 9
1. Overview 9
1.1 Project Information 9
1.2 Project Team 9
1.2.1 Supervisors 9
1.2.2 Team Member 9
2. Product Background 9
3. Existing Systems 9
4. Business Opportunity 10
5. Software Product Vision 10
6. Project Scope & Limitations 10
6.1 Major Features 10
6.2 Limitations & Exclusions 11

II. Project Management Plan 12


1. Overview 12
1.1 Scope & Estimation 12
1.2 Project Objectives 12
1.3 Project Risks 12
2. Management Approach 13
2.1 Project Process 13
2.2 Quality Management 13
2.3 Training Plan 14
3. Master Schedule 14
4. Project Organization 15
4.1 Team & Structures 15
4.2 Roles & Responsibilities 15
5. Project Communications 16
5.2 External Interface 16
5.2.1. FU Contacts 16
5.2.2. Customer Contacts 17
6. Configuration Management 17
6.1 Tools & Infrastructures 17
6.2 Document Management 17
6.3 Source Code Management 18

III. Software Requirement Specification 18


1. Product Overview 18
1.1 Product Overview 18
1.2 Unauthenticated User Requirements 18
1.3 Authenticated User Requirements 18

2
1.3.1 Admin 18
1.3.2 Manager 18
1.2.3 Staff 19
2. User Requirements 19
2.1 Actor 19
2.2 Use Cases 19
2.2.1 Diagrams 19
2.2.2 Description 20
3. Functional Requirements 23
3.1 System Functional Overview 23
3.1.1 Screen Flows 23
3.1.1.1 Screen Staff Web Application Flow 23
3.1.1.2 Screen Admin Web Application Flow 23
3.1.1.3 Screen Manager Web Application Flow 24
3.1.2 Screen Descriptions 24
3.1.2.1 Web Admin Screen Details 24
3.1.2.2 Web Manager Screen Details 25
3.1.2.3 Web Staff Screen Details 25
3.1.3 Screen Authorization 26
3.1.4 Non-Screen Functions 28
3.1.5 Entity Relationship Diagram 28
3.2 Activity Diagram 29
3.2.1 <Staff> update customer 30
3.2.2 <Staff> create customer 31
3.2.3 <Staff> call customer 32
3.2.4 <Staff> make Schedule 33
3.2.5 <Staff> make order. 34
3.2.6 <Staff> receive incoming call. 35
3.2.7 <Admin> create new manager 36
3.2.8 <Admin> create new brand 37
3.2.9 <Admin> config extension 37
3.2.10 <Admin> add brand into user 38
3.2.11 <Manager> update campaign 39
3.2.12 <Manager> create campaign 39
3.2.13 <Manager> update product 40
3.2.14 <Manager> create product 40
3.2.15 <Manager> delete level 41
3.2.16 <Manager> update level 41
3.2.17 <Manager> update channel 42
3.2.18 <Manager> create channel 42
3.2.19 <Manager> Create Source 43
3.2.20 <Manager> create branch 43
3.3 Sequence Diagram 43
3.3.1. Staff create customer 44

3
3.3.2 Level 44
3.3.3 Brand 44
3.3.4 Staff/Manager Order 45
3.4 Member Features 45
3.4.1 Login 45
3.4.2 Select brand 46
3.4.3 Logout 47
3.4.4 Change language 48
3.4.5 Staff 48
3.4.6 Manager 58
3.4.7 Admin 70
4. Non-Functional Requirements 74
4.1 External Interfaces 74
4.1.1. User Interfaces 74
4.1.2. Software Interfaces 74
4.1.3. Communications Interfaces. 75
4.2 Quality Attributes 75
4.2.1. Usability 75
4.2.2. Reliability 75
4.2.3. Performance 75
4.2.4. Dependability 75
4.2.5. Support Documents 75
5. Requirement Appendix 76
5.1 Business Rules 76
5.2 Application Messages List 78

IV. Software Design Description 79


1. System Design 79
1.1 System Architecture 79
1.2 Package Diagram 79
2. Database Design 80
2.1 Database Diagram 81
2.2 Data Dictionary 81
2.2.1. Users table 82
2.2.2. Roles table 82
2.2.3. Schedule table 82
2.2.5. UserBrandMapping table 83
2.2.6. Brands table 83
2.2.7. Stores table 84
2.2.8. CallHistory table 84
2.2.9. Products table 85
2.2.10. ProductCategories table 86
2.2.11. Order table 87
2.2.12. OrderDetails table 87
2.2.13. Levels table 88

4
2.2.14. DataUsers table 88
2.2.15. Channels table 89
2.2.16. SourceData table 90
2.2.17. Campaigns table 90
2.2.18. CloudfoneConfig table 91
3. Detailed Design 92
3.1 Class Diagram 92
3.2 Class Specification 93
3.2.1. Brands class 93
3.2.2. Store class 93
3.2.3. User class 94
3.2.4. ProductCategories class 95
3.2.5. Products class 95
3.2.6. CloudfoneConfig class 95
3.2.7. Schedule class 96
3.2.8. SourceDatas class 96
3.2.9. Channels class 97
3.2.10. CampaignDataUserMapping class 97
3.2.11. DataUsers class 97
3.2.12. Levels class 98
3.2.13. Roles class 99
3.2.14. UserBrandMapping class 99
3.2.15. Order class 99
3.2.16. Campaigns class 100
3.2.17. OrderDetails class 100
3.2.18. CallHistory class 101

V. Software Testing Documentation 101


1. Overall Description 101
1.1 Test Model 101
1.2 Testing Levels & Types 102
2. Test Plan 102
2.1. Test Stages 102
2.2 Human Resources 102
2.2 Test Environment 102
2.3 Test Milestones 103
2.4 Deliverables 103
3. Test Cases 103

VI. Release Package & User Guides 103


1. Deliverable Package 103
1.1 Source codes & documents 103
2. Installation Guides 104
2.1 System Requirements 104
2.1.1 Hardware Requirements 104

5
2.1.2 Software Requirements 104
2.2 Installation Instruction 105
2.3.1 Setup environment 105
2.3.1.1 NodeJS Installation 105
2.3.1.2 .Net Installation 108
3. User Manual 112
3.1 Terms and definitions 112
3.2 System Requirements 112
3.2.1 Hardware Requirement 112
3.2.2 Software Requirement 113
3.3 Application Usage 113
3.3.1 Web application 113
3.3.1.1. <Admin> login with username and password 114
3.3.1.2. <Admin> manage brand 114
3.3.1.3. <Admin> create a new brand. 116
3.3.1.4. <Admin> update selected brand. 117
3.3.1.5. <Admin> view list of user 118
3.3.1.6. <Admin> create user to the system 118
3.3.1.7. <Admin> update user to the system 120
3.3.1.8. <Admin> login with username and password 121
3.3.1.9. <Admin> login with username and password 121
3.3.1.10. <Admin> login with username and password 122
3.3.1.11. <Admin> login with username and password 122
3.3.1.12. <Staff> Add customer by excel 124
3.3.1.13. <Staff> Select field to add customer by excel 124
3.3.1.14. <Staff> Login 125
3.3.1.15. <Staff> Select brand 126
3.3.1.16. <Staff> Manage Customer 126
3.3.1.17. <Staff> Add Customer 127
3.3.1.18. Call Customer 128
3.3.1.19. <Staff> Customer detail 130
3.3.1.20. <Staff> Switch call 130
3.3.1.21. <Staff> Customer detail 131
3.3.1.22. <Staff> Make order 132
3.3.1.23. <Staff> Make schedule 133
3.3.1.24. <Staff> Schedule 134
3.3.1.25. <Staff> Campaign 135
3.3.1.26. <Staff> Add Customer into campaign 136
3.3.1.7. <Staff> Dashboard 137
3.3.1.28. <Staff> Dashboard 137
3.3.1.29. <Staff> Report call 138
3.3.1.30. <Staff> Report order 139
3.3.1.31. <Staff> Report campaign 139
3.3.1.32. <Manager> Login 140

6
3.3.1.33. <Manager> Select brand 141
3.3.1.34. <Manager> Manage level 142
3.3.1.35. <Manager> Add Level 142
3.3.1.36. <Manager> Update Level 143
3.3.1.37. <Manager> Delete Level 144
3.3.1.38. <Manager> Manage Branch 145
3.3.1.39. <Manager> Add Branch 145
3.3.1.40. <Manager> Update Branch 146
3.3.1.41. <Manager> Delete Branch 147
3.3.1.42. <Manager> Manage Source 148
3.3.1.43. <Manager> Add Source 148
3.3.1.44. <Manager> Update Source 149
3.3.1.45. <Manage> Delete Source 150
3.3.1.46. <Manager> Manage Channel 150
3.3.1.47. <Manager> Add Channel 151
3.3.1.48. <Manager> Manage Category 152
3.3.1.49. <Manager> Add Category 153
3.3.1.50. <Manager> Update Category 153
3.3.1.51. <Manager> Manage Product 154
3.3.1.52. <Manager> Add Product 154
3.3.1.53. <Manager> Update Product 155
3.3.1.54. <Manager> Manage Campaign 156
3.3.1.55. <Manager> Update Campaign 157
3.3.1.56. <Manager> Add Campaign 158

VII. Appendix 159


1. References 159

Acknowledgement
First of all, we would like to express our special thanks to our supervisors, Mr. Truong Long,
who have guided us for the last 5 months. You are like a friend, a teacher, a brother to us.
Every mistake you pointed out, they helped us realize our mistakes and develop better in our
future and career. They are priceless advice you gave to us, without them, it is so hard for us
to keep going and complete this capstone project.

We are also grateful and want to say deep thanks to each individual of this capstone project
group. Each of the members of our project has provided their big effort, their time, their
enthusiasm and for the most is the experiences to work in a group. Special thanks to our
leader for his great leadership and commitment, he always tries to embrace all fields of the
project to help other members when they get hard. A lot of appreciation to for his deliberation
and expertise; great thanks to for his team working, always harmonizing the team and could
do anything to help the project success.

7
Nobody has been more important to us in the pursuit of this project than the members of our
family. We would like to thank our parents, whose love and support are with us whatever we
pursue. Also, a special thanks to our friends who emotionally, and practically support this
project. Finally, thanks to FPT University and all the lectures for teaching us and giving us a
lot of experiences on our career path that we will never forget.

Best regards,
Capstone project team.

Definition and Acronyms


Definition and Acronyms
Acronym Definition

BR Business Rule

ERD Entity Relationship Diagram

SRS Software Requirement Specification

UC Use Case

API Application Program Interface

WBS Work Breakdown Structure

FE Feature

LI Limitation

FPTU HCM FPT University Ho Chi Minh


Table 1: Definition and Acronyms

I. Project Introduction

1. Overview

1.1 Project Information


● Project name: Build customer service system via Telesale for Amazing Tech
Company
● Project code: FA22SE12
● Group code: GFA22SE28
● Software type: Web Application

8
1.2 Project Team

1.2.1 Supervisors

Full Name Email Mobile Title

Truong Long longt5@fe.edu.vn 096.9394.936 Lecture


Table 2. Supervisor

1.2.2 Team Member

Table 3. Team members

2. Product Background
From the past until now, customers have always been the top priority of businesses,
however, how to find new sources of customers and at the same time retain old customers is
the problem that companies are looking for a solution. This application has been born as a
solution to meet those needs to help these companies attract customers and grow. We have
a professional team to find and advise customers.

3. Existing Systems

4. Business Opportunity
Large and small companies or businesses always appreciate finding and taking care of
customers, the problem of companies is how they can develop their customer base, at the
same time through telesale. to sell the company's products/services. Not only that, telesale
also increases brand recognition. To deal with that effectively, it is necessary to have a sales
consulting system for customers and a professional team

5. Software Product Vision


Build customer service system via Telesale for Amazing Tech Company is a web application
created to manage and buy and sell products and services, while taking care of customers,
helping them identify the brand of the company or business. With the development of

9
technology, customers make decisions for products very quickly, when their needs are met,
they will be convinced. Therefore, telesales over the phone is very important to be able to
have time to convince customers. Furthermore, this product also increases the brand
recognition of companies, customers when hearing the company name will be able to know
the company name, whether the impression is good or bad, they already know what the
company is. And later when making a decision to buy a product, they will have that company
in mind.

6. Project Scope & Limitations

6.1 Major Features

Actor ID Features description

Admin FE-01 Allow Admin login by username and password

FE-02 Allow Admin to log out

FE-03 Allow Admin to manage brand

FE-04 Allow Admin to manage user

FE-05 Allow Admin to add brand into user

FE-06 Allow Admin to manage config cloudfone extension for user

FE-07 Allow Admin to select language

FE-08 Allow Admin to config WsServer, host, port for cloudfone


Staff FE-09 Allow Staff to login by username and password

FE-10 Allow Staff to log out

FE-11 Allow Staff to change language

FE-12 Allow Staff to manage Customer

FE-13 Allow Staff to manage Schedule

FE-14 Allow Staff to create Schedule

FE-15 Allow Staff to order

FE-16 Allow Staff to call by phone

FE-17 Allow Staff to manage Report Order

FE-18 Allow Staff to manage Report Campaign of staff

Manager FE-19 Allow Manager to login by username and password

FE-20 Allow Manager to log out

10
FE-21 Allow Manager to select language

FE-22 Allow Manager to manage statistic

FE-23 Allow Manager to manage Report Order

FE-24 Allow Manager to manage Report Call

FE-25 Allow Manager to manage Campaign

FE-26 Allow Manager to call Staff

FE-27 Allow Manager to check user online or offline

FE-28 Allow Manager to manage customer

FE-29 Allow Manager to order

FE-30 Allow Manager to view level list of customer

FE-31 Allow Manager to manage Level

FE-32 Allow Manager to manage Branch

FE-33 Allow Manager to manage Source

FE-34 Allow Manager to manage Channel

FE-35 Allow Manager to manage Category

FE-36 Allow Manager to manage Products

FE-37 Allow Manager to manager Campaign

Table 6: Major Features

6.2 Limitations & Exclusions

Limitations:

LI-1: The mobile application did not developed.

LI-2: The system is not the best and most optimal solution.

Exclusions:

EX-1: The system calling depend on Cloudfone phone number.

EX-2: The system does not support multicall in 1 staff.

11
II. Project Management Plan

1. Overview

1.1 Scope & Estimation

1.2 Project Objectives


● Timeliness: 60%

● Allocated Effort: 3(members) * 18(weeks) * 5(days/week) = 270 man-days

● Estimated total cost: 5 million VND

1.3 Project Risks

# Risk Description Impact Possibilit Response Plans


y
1 Member drops out High High Reduce the scope and adjust
the project plan.
2 Change business Medium High Host a meeting with team
rule members and supervisor.
3 Equipment of Medium Medium Members use other equipment
members is broken until the broken one is fixed or
replaced.
4 Server-side isn’t High Medium Use a cloud server instead.
available
Table 6: Project Risks

2. Management Approach

2.1 Project Process


We use the Agile Model to develop, manage software projects. We use Agile Model due to
the following reasons:
● Teams can easily and quickly adapt to customer needs and requirements.

12
● Using Agile for mobile application testing, teams get feedback almost daily and can
act on that feedback immediately.
● Developing a product in sprints allows teams to quickly determine if they are on track
and allows them to adjust almost immediately.

Figure 1: Agile Model

2.2 Quality Management


● Always cross-review code before merging.
● Always test the application (mobile application and web application) before
publishing to the end users.
● Always validate user’s inputted data before uploading to Amazing Tech Company.

2.3 Training Plan

Table 7: Training Plan

3. Master Schedule
# Deliverable Effort Due Date Deliverable Scope

13
1 Project Plan 10 11/09/2022 Make project goal plan
2 Report 1 3 19/09/2022 Project introduction
3 Report 2 5 25/09/2022 Project management plan
4 Report 3 15 01/10/2022 Software requirement specification
5 Report 4 20 10/10/2022 Software design document
6 Report 5 5 19/10/2022 Test case document, test
documentation
7 Report 6 5 27/10/2022 Software user guides
8 Report 7 3 04/11/2022 Final project final
9 Code package 1 15 01/10/2022 Code, test case
10 Code package 2 15 20/10/2022 Code, test case
11 Code package 3 15 14/11/2022 Code, test case
12 Code front-end 1 15 02/10/2022 Code, design screen
13 Code front-end 2 15 20/10/2022 Code, design screen
14 Code front-end 3 15 14/11/2022 Code, design screen
15 Final package 20 10/12/2022 Final code package and documents
Table 8: Master Schedule

14
4. Project Organization

4.1 Team & Structures

Figure 2: Team & Structures

4.2 Roles & Responsibilities


Role Responsibility

Project Manager ● Specify user requirements.


● Specify system’s features.
● Support team in technical and business analysis.

Team Leader ● Plan projects and assign tasks to team members.


● Support members to complete tasks on time.
Analysis Team ● Analyze user requirements.
● Define functional and non-functional requirements.
● Determine the appropriate architecture for the project.
● Determine the core flow of each feature.
Back-end Team ● Design database
● Implement the API for web app
Front-end Team ● Design and implement the user interface for the web app
Table 9: Roles & Responsibilities

15
5. Project Communications
Communication Who/ Target Purpose When, Type, Tool,
Item Frequency Method(s)
Meeting Supervisors Review project Once per Online Google
Supervisor and team documents and week Meet.
members work progress, Offline FU
support technical Campus.
problems.
Daily meeting Team Review task Every Online Google
members progress, discuss workday Meet.
problems, Offline FU
report tasks, and Campus.
solve problems.
Table 10: Communication Plan

5.2 External Interface

5.2.1. FU Contacts
Function Contact Person Contact address Responsibility
(name, position) (email, telephone)
Supervisor Trương Long longt5@fe.edu.vn, - Provide document template
096.9394.936
- Review deliverables
- Supervise project status
- Give instruction to project
team(requirements, logic, project
flows,... )
Table 11: FU Contacts

5.2.2. Customer Contacts


Function Contact Person Contact address Responsibility
(name, position) (email, telephone)
End-user Trương Long longt5@fe.edu.vn, - Provide user stories
096.9394.936
- Review deliverables

16
- Supervise project status
Table 12: Customer Contacts

6. Configuration Management

6.1 Tools & Infrastructures


Programming languages C#, JavaScript
Framework ASP.Net Core
Library ReactJS
API Restful APIs
DBMS SQL Server
IDEs/Editors Visual Studio 2022, Visual Studio Code
UML tools StarUML, Draw.io
Version Control GitLab
Deployment server AmazingTech Server
Project management tool Notion
Table 13: Tools & Infrastructures

6.2 Document Management


Uses Google docs to manage, edit our document because Google docs have all required
functionality for us to write our project document. We can also read and edit documents
directly and work with one document at the same time.

6.3 Source Code Management


Uses GitLab as the main source code management tool. GitLab keeps track of all the changes
that have been pushed to the repository.

III. Software Requirement Specification


The telesale system helps users to help admins manage if the sales strategy is good or not,
support consulting and customer care, and at the same time manage their employees, call
quality. , from which to evaluate and analyze whether the campaign is effective or not.

17
1. Product Overview

1.1 Product Overview


The telesale system helps users to help admins manage if the sales strategy is good or not,
support consulting and customer care, and at the same time manage their employees, call
quality. , from which to evaluate and analyze whether the campaign is effective or not. From
there, offer measures to improve as well as evaluate the quality of customer data

1.2 Unauthenticated User Requirements


Unauthenticated User is the person who has not been identified by the Telesale System.
Unauthenticated User has limited access to the system with the following feature:

● Login
● Logout

1.3 Authenticated User Requirements


Authenticated User is the person who has been identified by the Telesale System.
Authenticated User has access to system with the following feature:

1.3.1 Admin
● Manage Brand
● Manage User
● Manage Extension
● Add Brand to User

1.3.2 Manager
● View Dashboard
● View report call
● View report campaign
● Manage Staff
● Manage Customer
● Manage Level
● Manage Branch
● Manage Source
● Manage Product
● Manage Channel
● Manage Campaign
● Manage Category

1.2.3 Staff
● Manage Customer
● Manage Schedule
● Manage Campaign

18
● View dashboard
● View Report Call
● View Report Order
● View Report Campaign

2. User Requirements

2.1 Actor
# Actor Description
1 Unauthenticated User A user who has not logged in to the Telesale System
Application.
2 Admin A user who has logged in to Telesale System Application
with the role “ADMIN”
3 Manager A user who has logged in to Telesale System Application
with the role “MANAGER”
4 Staff A user who has logged in to Telesale System with the role
“STAFF”
5 System Handler Telesale Application system.
Table 14: Actor

2.2 Use Cases

2.2.1 Diagrams

19
Figure 3: Use case diagram

2.2.2 Description

ID Use case Actor

1 Login Guest

2 Logout Authorized User

3 Manage Schedule Staff

4 Import by excel Staff

5 Manage Customer Staff

6 Call Customer Staff

7 Order Staff

8 View History Call Staff

9 View History Order Staff

20
10 View Report Staff

11 View Report Order Staff

12 View Report Call Staff

13 View Report Campaign Staff

14 Create Brand Admin

15 Update Brand Admin

16 View Brand Admin

17 Create User Admin

18 Update User Admin

19 Delete User Admin

20 Change Extension Number Admin

21 Manage User’s Brand Admin

22 View Staff’s Report Manager

23 View call detail Manager

24 Manage Campaign Statistic Manager

25 View Campaign Manager

26 Create Campaign Manager

27 Update Campaign Manager

28 View Category Manager

29 Update Category Manager

30 Create Category Manager

31 View Product Manager

32 Update Product Manager

33 Create Product Manager

34 View Branch Manager

35 Update Branch Manager

21
36 Create Branch Manager

37 View Channel Manager

38 Create Channel Manager

39 Update Channel Manager

40 View Level Manager

41 Create Level Manager

42 Update Level Manager

43 View Staff Activity Manager

44 Call Staff Manager

45 Manage Customer Manager

46 Create Customer Manager

47 Update Customer Manager

48 Call Customer Manager

49 Import By Excel Manager

50 View Source Manager

51 Update Source Manager

52 Create Source Manager


Table 15: Use case description

22
3. Functional Requirements

3.1 System Functional Overview

3.1.1 Screen Flows

3.1.1.1 Screen Staff Web Application Flow

Figure 4: Screen Flow - Staff

3.1.1.2 Screen Admin Web Application Flow

Figure 5: ScreenFlow - Admin

23
3.1.1.3 Screen Manager Web Application Flow

Figure 6: Screen Flow - Manager

3.1.2 Screen Descriptions

3.1.2.1 Web Admin Screen Details

Id Feature Screen Description


1 Login Login Contains username and password fields
2 Display list of brand Manage Contains method list of all brands, create brand, update
Brand brand.

3 Manage Users Manage User Contains method list of all user or list user by brand,
create user, update user

4 Manage Extension Manage Contains method config extension number for staff or
Extension manager

5 Add new a brand into Add new Contains method add brand into user
user Brand

6 Config extension Config Contains method update extension


extension
Table 16: Screen Descriptions - Admin

24
3.1.2.2 Web Manager Screen Details
Id Feature Screen Description
1 Login Login Contains username and password fields
2 View Dashboard Dashboard Contains summary of information such as: Number of
total order, revenue , average order per date, Received
call, Total call by date and by month,
Line chart of total order and total call by date and by
month.
List customers through level .
3 Display Report Call Report Call Statistic call by date, it contains the number of phone
call answers, hang up, busy, not available.

4 Display Staff Manage Staff Contains list of staff, view detailed statistics of staff,
checking staff is online or offline or is in phone call.
Report call of staff by date and month.
5 Display Report Manage Contains summary of information such as: Number of
Campaign Campaign total order, revenue , average order per date, Received
call, Total call by campaign
6 Display Customer Manage Contains list of customers, import by excel, add
Customer customer, call button to call customer, view customer
detail, select box to filter customer by channel, level,
source.
7 Display Branch Manage Contains list of branch, edit branch, delete branch and
Branch add new branch
8 Display Source Manage Contains list of source, edit source, delete source and
Source add new source.
9 Display Channel Manage Contains list of channels, edit channels, delete
Channel channels and add new channels.
10 Display Category Manage Contains list of category, edit category, delete
Category category and add new category..
11 Display Product Manage Contains list of product, edit product, delete product
Product and add new product.
12 Display Campaign Manage Contains list of campaign, edit campaign, delete
campaign campaign and add new campaign.
Table 17: Screen Descriptions - Manager

3.1.2.3 Web Staff Screen Details


Id Feature Screen Description
1 Login Login Contains username and password fields.
4 View customer Customer Contains method list customer by brand or campaigns,
Detail call customer, edit customer
5 Update Customer Customer Contains method show data, history call, order history

25
Detail of customer,
6 Call Customer Customer Contains modal that includes details of customer’s
Detail phone, real time call, link record file, total time call,
message, status of phone calling.
7 Add new Customer Customer Contains firstName, lastName, date of birth, gender,
Detail phone number, source data, channel, level of customer

8 Import By Excel Customer Contains modal that can import excel file, next modal
Detail contains list of campaign, list level, list channel of
customers that can be selected.
9 Add Campaign for Manage Contains list of customer is in which campaign, add
Customer Customer’s campaign to customer, list campaign customer that is
Campaign in.

10 Order Order Page Contains name, phone number, price of product,


product, total price, and button Make Order to order
the product
11 View Schedule Manage View detail schedule of customer
Schedule

12 Book Schedule Manage Contains datetime, info, name, description, branch to


Schedule visit.
13 View Dashboard Dashboard Contains total orders, Revenue, Received Call, Total
Call, Chart about total orders, total call, list total
customer is in which level.
14 View Call Report Report Call Contains numbers of phone call, number phone
answered, hang up, busy, not answered, Call detail by
date.
15 View Report Order Report Order Contains number of orders, number of products that
have been ordered.

16 View Report Report Contains total orders, Revenue, Received Call, Total
Campaign Campaign Call, Chart about total orders, total call, list total
customer is in which level of campaign
Table 18: Screen Descriptions - Staff

3.1.3 Screen Authorization


Screen / Popup / Modal Guest Staff Manager Admin

Login X

Logout X X X

Manage customer X X

Customer detail X X

26
Order for customer X X

Add customer by excel X X

Call customer X X

View history order of customer X X

View history call of customer X X

Manage schedule X X

View list customer of campaign X X

View dashboard X X

View statistic of call X X

View statistic of order X X

View statistic of campaign X X

Change language X X X

Manage staff X

View staff’s status X

Call staff X

Manage staff’s extension X X

View staff’s report X

Manage level X

Manage store X

Manage source data X

Manage channel X

Manage category X

Manage product/service X

Manage campaign X

Manage brand X

Manage user X

Manage brands for user X

Config extension X

Table 19: Screen Authorization

In which:

27
● Guest: These are the users who have not logged into the Telesale system.
● Admin: These are the authenticated users who are authorized to manage staff’s
extension, manage brand, manage user, manage brands for user, config extension,
change language.

● Manager: These are the authenticated users who are authorized to manage customer,
view customer detail, order for customer, add customer by excel, call customer, view
history order of customer, view history call of customer, manage schedule, view list
customer of campaign, view dashboard, view statistic of call, view statistic of order,
view statistic of campaign, change language, manage staff, view staff’s status, call
staff, manage staff’s extension, view staff’s report, manage level, manage store,
manage source data, manage channel, manage category, manage product/service,
manage campaign.

● Staff: These are the authenticated users who are authorized to manage customer, view
customer detail, order for customer, add customer by excel, call customer, view
history order of customer, view history call of customer, manage schedule, view list
customer of campaign, view dashboard, view statistic of call, view statistic of order,
view statistic of campaign, change language.

3.1.4 Non-Screen Functions

3.1.5 Entity Relationship Diagram

28
Figure 7: Entity Relationship Diagram

29
3.2 Activity Diagram

3.2.1 <Staff> update customer

Figure 8: Activity Diagram - Update Customer <Staff>

30
3.2.2 <Staff> create customer

Figure 9: Activity Diagram - Create Customer <Staff>

31
3.2.3 <Staff> call customer

Figure 10: Activity Diagram - Call Customer <Staff>

32
3.2.4 <Staff> make Schedule

Figure 11: Activity Diagram - Make Schedule <Staff>

33
3.2.5 <Staff> make order.

Figure 12: Activity Diagram - Make Order <Staff>

34
3.2.6 <Staff> receive incoming call.

Figure 13: Activity Diagram - Receiving Incoming Call <Staff>

35
3.2.7 <Admin> create new manager

Figure 14: Activity Diagram - Create New Manager <Admin>

36
3.2.8 <Admin> create new brand

Figure 15: Activity Diagram - Create New Brand <Admin>

3.2.9 <Admin> config extension

Figure 16: Activity Diagram - Config Extension <Admin>

37
3.2.10 <Admin> add brand into user

Figure 17: Activity Diagram - Add Brand Into User <Admin>

3.2.11 <Manager> update campaign

38
Figure 18: Activity Diagram - Update Campaign <Manager>

3.2.12 <Manager> create campaign

Figure 19: Activity Diagram - Create Campaign <Manager>

3.2.13 <Manager> update product

Figure 20: Activity Diagram - Update Product <Manager>

39
3.2.14 <Manager> create product

Figure 21: Activity Diagram - Create Product <Manager>

3.2.15 <Manager> delete level

Figure 22: Activity Diagram - Delete Level <Manager>

40
3.2.16 <Manager> update level

Figure 23: Activity Diagram - Update Level <Manager>

3.2.17 <Manager> update channel

Figure 24: Activity Diagram - Update Channel <Manager>

41
3.2.18 <Manager> create channel

Figure 25: Activity Diagram - Create Channel <Manager>

3.2.19 <Manager> Create Source

Figure 26: Activity Diagram - Create Source <Manager>

42
3.2.20 <Manager> create branch

Figure 27: Activity Diagram - Create Branch <Manager>

3.3 Sequence Diagram

3.3.1. Staff create customer

Figure 28: Sequence Diagram - Create Customer <Staff>

43
3.3.2 Level

Figure 29: Sequence Diagram - Level <Manager>

3.3.3 Brand

Figure 30: Sequence Diagram - Brand <Manager>

3.3.4 Staff/Manager Order

Figure 31: Sequence Diagram - Order<Staff/Manager>

44
3.4 Member Features

3.4.1 Login

Figure 32. Login

Function trigger Login page -> Sign in with registered account that admin or
manager provide

Function description Actor Guest

Purpose Login to web application

Function details Validation Login by account that provide by admin

Business rules BR-06: Guest must login with account that


admin or manager provide in system
BR-07: Username must be unique for each
account

Functionalities In login page, guest enter username and


password
Table 20. Login

3.4.2 Select brand

45
Figure 33. Select brand

Function trigger Login page -> Sign in with registered account that admin or
manager provide -> Select brand

Function description Actor Manager, Staff

Purpose Select brand when login success

Function details Validation Login by account that provide by admin

Business rules

Functionalities When login success, select brand that user


within
Table 21. Select brand

46
3.4.3 Logout

Figure 34. Logout

Function trigger User dashboard -> click … -> logout

Function description Actor Admin, Manager, Staff

Purpose Logout to login page

Function details Validation User logged

Business rules BR-02: Clear session when account logout

Functionalities user click logout to logout of telesale webapp


Table 22. Logout

47
3.4.4 Change language

Figure 35. Change language

Function trigger User dashboard -> click … -> select Vietnamese or English

Function description Actor Admin, Manager, Staff

Purpose change language between vietnamese and


english

Function details Validation User logged

Business rules

Functionalities User can change language for convenient


Table 23. Change language

48
3.4.5 Staff

Figure 36. Manage Customer <Staff>

Function trigger Staff’s dashboard -> Manage Customer tab

Function description Actor Staff

Purpose Manage customer:


- View customer that staff manage
- Add customer: add customer into brand
- Add customer by excel
- Edit customer: update customer
- Call: calling to customer
- Filter: filter customer by level, source
and channel

Function details Validation Login by account that provide by admin

Business rules

Functionalities View list customer’s detail and call to customer


Table 24. Manage Customer <Staff>

49
Figure 37. Customer detail <Staff>

Function trigger Staff’s dashboard -> Click Edit button -> Customer’s detail

Function description Actor Staff

Purpose Customer detail:


- View customer’s detail
- View order history
- View total call and record
- Update customer detail
- Call customer

Function details Validation Login by account that provide by admin

Business rules

Functionalities Staff click edit button to view customer’s detail


Table 25. Customer detail <Staff>

50
Figure 38. Order <Staff>

Function trigger Staff’s dashboard -> Click Edit button -> Customer’s detail ->
Click Make Order -> Order page

Function description Actor Staff

Purpose Order:
- Select product/service for customer
- View pre-bill
- Note for customer

Function details Validation Login by account that provide by admin

Business rules

Functionalities Staff make order for customer


Table 26. Order <Staff>

51
Figure 39. Make schedule <Staff>

Function trigger Staff’s dashboard -> Click Edit button -> Customer’s detail ->
Click Schedule -> Make schedule page

Function description Actor Staff

Purpose Schedule:
- Select branch for customer to get
product/service
- Select date
- Note for customer

Function details Validation Login by account that provide by admin

Business rules

Functionalities Staff make appointment for customer


Table 27. Make schedule <Staff>

52
Figure 40. Schedule <Staff>

Function trigger Staff’s dashboard -> Schedule tab

Function description Actor Staff

Purpose View appointment and order by day, week,


month, year

Function details Validation Login by account that provide by admin

Business rules

Functionalities When staff make order then it will appear in


schedule for easier manage order
Table 28. Schedule <Staff>

53
Figure 41. Campaign <Staff>

Function trigger Staff’s dashboard -> Campaign tab

Function description Actor Staff

Purpose Manage Campaign:


- View customer that staff manage
- Add Campaign: add customer into
campaign
- Filter: filter customer by level, source
and channel

:Function details Validation Login by account that provide by admin

Business rules

Functionalities add customer into which campaign that staff


manage for each event
Table 29. Campaign <Staff>

54
Figure 42. Dashboard <Staff>

Function trigger Staff’s dashboard -> Dashboard tab

Function description Actor Staff

Purpose View staff’s statistic by day and month:


- Show total order data
- Show revenue data
- Show average order data
- Show received call data
- Show total call data
- Show level customer that order

Function details Validation Login by account that provide by admin

Business rules

Functionalities Show staff’s statistic such as call, revenue,


order,... by day and month
Table 30. Dashboard <Staff>

55
Figure 43. Report call <Staff>

Function trigger Staff’s dashboard -> Report Call tab

Function description Actor Staff

Purpose View staff’s call by day

Function details Validation Login by account that provide by admin

Business rules

Functionalities Show staff’s call detail by day


Table 31. Report call <Staff>

56
Figure 44. Report order <Staff>

Function trigger Staff’s dashboard -> Report Order tab

Function description Actor Staff

Purpose View staff’s order by day

Function details Validation Login by account that provide by admin

Business rules

Functionalities Show staff’s order to see how many order that


staff make by day
Table 32. Report order <Staff>

57
Figure 45.Report campaign <Staff>

Function trigger Staff’s dashboard -> Report Campaign tab

Function description Actor Staff

Purpose View staff’s statistic by campaign

Function details Validation Login by account that provide by admin

Business rules

Functionalities Show staff’s statistic by campaign to see each


campaign work
Table 33. Report campaign <Staff>

58
3.4.6 Manager

Figure 46. Dashboard <Manager>

Function trigger Manager’s dashboard -> Dashboard tab

Function description Actor Manager

Purpose View manager’s statistic by day and month

Function details Validation Login by account that provide by admin

Business rules

Functionalities Show manager’s statistic such as call, revenue,


order,... by day and month
Table 34. Dashboard <Manager>

59
Figure 47. Report Call <Manager>

Function trigger Manager’s dashboard -> Report Call tab

Function description Actor Manager

Purpose View manager’s call by day

Function details Validation Login by account that provide by admin

Business rules

Functionalities Show manager’s call detail by day


Table 35. Report Call <Manager>

60
Figure 48. Manage staff <Manager>

Function trigger Manager’s dashboard -> Manage Staff tab

Function description Actor Manager

Purpose View staff active, staff statistic and call to staff

Function details Validation Login by account that provide by admin

Business rules

Functionalities Show brand’s call detail by day


Table 36. Manage staff <Manager>

61
Figure 49. Report campaign <Manager>

Function trigger Manager’s dashboard -> Report Campaign tab

Function description Actor Manager

Purpose View brand’s statistic by campaign

Function details Validation Login by account that provide by admin

Business rules

Functionalities Show brand’s statistic by campaign which is in


manage of manager
Table 37. Report campaign <Manager>

62
Figure 50. Manage Customer <Manager>

Function trigger Manager’s dashboard -> Manage Customer tab

Function description Actor Manager

Purpose Manage customer:


- View customer that staff manage
- Add customer: add customer into brand
- Add customer by excel
- Edit customer: update customer
- Delete customer
- Call: calling to customer
- Filter: filter customer by level, source
and channel

Function details Validation Login by account that provide by admin

Business rules

Functionalities View list customer’s detail and call to customer


Table 38. Manage Customer <Manager>

63
Figure 51. Manage level <Manager>

Function trigger Manager’s dashboard -> Manage Level tab

Function description Actor Manager

Purpose Manage level:


- View level list
- Add level: add level into brand
- Edit level: update level detail
- Delete level: disable level

Function details Validation Login by account that provide by admin

Business rules

Functionalities View list level by brand


Table 39. Manage level <Manager>

64
Figure 52. Manage branch <Manager>

Function trigger Manager’s dashboard -> Manage Branch tab

Function description Actor Manager

Purpose Manage branch:


- View branch list
- Add branch: add branch into brand
- Edit branch: update branch detail
- Delete branch: disable branch

Function details Validation Login by account that provide by admin

Business rules

Functionalities View list branch by brand


Table 40. Manage branch <Manager>

65
Figure 53. Manage source <Manager>

Function trigger Manager’s dashboard -> Manage Source tab

Function description Actor Manager

Purpose Manage source:


- View source
- Add source: add source into brand
- Edit source: update source detail
- Delete source: disable source

Function details Validation Login by account that provide by admin

Business rules

Functionalities View list source by brand


Table 41. Manage source <Manager>

66
Figure 54. Manage channel <Manager>

Function trigger Manager’s dashboard -> Manage Channel tab

Function description Actor Manager

Purpose Manage channel:


- View channel
- Add channel: add channel into brand
- Edit channel: update channel detail
- Delete source: disable channel

Function details Validation Login by account that provide by admin

Business rules

Functionalities View list channel by brand


Table 42. Manage channel <Manager>

67
Figure 55. Manage category <Manager>

Function trigger Manager’s dashboard -> Manage Category tab

Function description Actor Manager

Purpose Manage category:


- View category
- Add category: add category into brand
- Edit category: update category detail
- Delete category: disable category

Function details Validation Login by account that provide by admin

Business rules

Functionalities View list category by brand


Table 43. Manage category <Manager>

68
Figure 56. Manage product <Manager>

Function trigger Manager’s dashboard -> Manage Product tab

Function description Actor Manager

Purpose Manage product:


- View product
- Add product: add product into brand
- Edit product: update product detail
- Delete product: disable product

Function details Validation Login by account that provide by admin

Business rules

Functionalities View list product by brand


Table 44. Manage product <Manager>

69
Figure 57. Manage campaign <Manager>

Function trigger Manager’s dashboard -> Manage Campaign tab

Function description Actor Manager

Purpose Manage campaign:


- View campaign
- Add campaign: add campaign into
brand
- Edit campaign: update campaign detail
- Delete campaign: disable campaign

Function details Validation Login by account that provide by admin

Business rules

Functionalities View list campaign by brand


Table 45. Manage campaign <Manager>

3.4.7 Admin

70
Figure 58. Manage brand <Admin>

Function trigger Admin’s dashboard -> Manage Brand tab

Function description Actor Admin

Purpose Manage brand:


- View brand
- Add brand: add new brand
- Edit brand: update brand detail

Function details Validation Login with admin account

Business rules

Functionalities Manage brand for user


Table 46. Manage brand <Admin>

71
Figure 59. Manage user <Admin>

Function trigger Admin’s dashboard -> Manage User tab

Function description Actor Admin

Purpose Manage user:


- View user
- Add user: add new user
- Edit user: update user detail

Function details Validation Login with admin account

Business rules

Functionalities Manage user for use


Table 46. Manage user <Admin>

72
Figure 60. Manage work <Admin>

Function trigger Admin’s dashboard -> Manage Work tab

Function description Actor Admin

Purpose Manage work:


- View user worked brand
- Add user into brand for work
- Filter user by brand

Function details Validation Login with admin account

Business rules

Functionalities Add user into brand for work


Table 47. Manage work <Admin>

73
Figure 61. Config staff extension <Admin>

Function trigger Admin’s dashboard -> Config Extension tab

Function description Actor Admin

Purpose Config extension:


- View user
- Edit user display name and extension

Function details Validation Login with admin account

Business rules

Functionalities config phone’s extension for user


Table 48. Config staff extension <Admin>

4. Non-Functional Requirements

4.1 External Interfaces

4.1.1. User Interfaces

UI-1: Language used in the application is Vietnamese and English.

UI-2: GUI must be simple, friendly and easy to use.

UI-3: Icons used must be easy to recognize.

74
4.1.2. Software Interfaces

SI-1: Web application: Google Chrome browser, Firefox browser and Microsoft Edge.

4.1.3. Communications Interfaces.

CI-2: Web application sends request to server through HTTP protocol.

4.2 Quality Attributes

4.2.1. Usability

1. Mobile applications should be easy to use for most users to easily understand and use.

2. The web application should require more than 30 minutes of training time with the help
of a support document to be used at ease.

3. Users are not required to have technical knowledge before using.

4. All text, label and message should be uniformly written in Vietnamese and English.

4.2.2. Reliability

1. The information stored in the database is permanent.

2. The likelihood of the system failure is less than 10%

4.2.3. Performance

1. Response time for HTTP requests should not be more than 10s.

4.2.4. Dependability

1. Only Admin has full access to the system.

2. Input data is validated before saving to the database.

3. JWT is used for authentication and authorization.

4. Each role can only access its own functions.

5. The internet connection must always be stable during the use of the system,
especially in money–related features.

4.2.5. Support Documents

1. User instructions must include:


● Configuration step by step guide and detailed description of each step.

75
● Configuration parameters and usage.
● How to use and access the system.
● Best practices and limitations, constraints.

2. Step-by-step instructions should be minimal and easy to follow.

3. Additional information should be listed as references.

5. Requirement Appendix

5.1 Business Rules


ID Rule Definition

BR-01 If the account is correct, system redirect users to corresponding home page:
- User logs in as role “admin”, the system will display admin home page
- User logs in as role “manager”, the system will display manager home page
- User logs in as role “staff”, the system will display staff home page
BR-02 Clear session when account logout.

BR-03 Expired token will be logout automatically


BR-04 Only staff and manager when login success must select brand
BR-06 Guest must login with account that admin or manager provide in system
BR-07 Username must be unique for each account
BR-08 Only admin can create new brand
BR-09 Only admin can edit brand
BR-10 Only admin can create new account
BR-11 Only admin role can edit account
BR-12 Only admin role can add user into brand
BR-13 Only admin role can config user extension
BR-14 Only admin role can config cloud phone server
BR-15 Only manager role view all report within brand
BR-16 Only manager role view all customer level that order product/service within brand
BR-17 Only manager role view all call report within brand
BR-18 Manager can see staff’s status when staff login
BR-19 Only manager role can call to staff
BR-20 Only manager role view all campaign report within brand
BR-21 Only manager role edit staff’s information
BR-22 Only manager role can delete customer

76
BR-23 Only manager role can create new customer level
BR-24 Only manager role can edit customer level
BR-25 Only manager role can delete customer level
BR-26 Input field must not empty
BR-27 Only manager role can create new branch
BR-28 Only manager role can edit branch
BR-29 Only manager role can delete branch
BR-30 Only manager role can create new customer source
BR-31 Only manager role can edit customer source
BR-32 Only manager role can delete customer source
BR-33 Only manager role can create new customer channel
BR-34 Only manager role can edit customer channel
BR-35 Only manager role can delete customer channel
BR-36 Only manager role can create new category
BR-37 Only manager role can edit category
BR-38 Only manager role can delete category
BR-39 Only manager role can create new product/service
BR-40 Only manager role can edit product/service
BR-41 Only manager role can delete product/service
BR-42 Only manager role can create new campaign
BR-43 Only manager role can edit campaign
BR-44 Only manager role can delete campaign
BR-45 Only staff role can view order’s schedule
BR-46 Only staff role can add customer into campaign
Table 49: Business Rules

5.2 Application Messages List


# Message code Message Type Context Content
1 MSG01 In line There is not any search result No search results.

2 MSG02 Toast message Updating information of asset(s) Update successfully.


successfully

77
3 MSG03 Toast message Creating new asset(s) successfully Create successfully.

4 MSG04 Toast message Delete asset(s) successfully Delete successfully

5 MSG05 In red, under the Input-required fields are empty The field is required.
text box

6 MSG06 Toast message When another call is incoming Incoming call

7 MSG07 Toast message Calling to *phoneNumber Calling to


*phoneNumber

8 MSG08 Toast message Disconnect call Disconnect call

Table 50: Application Message

78
IV. Software Design Description

1. System Design

1.1 System Architecture

Figure 62: System Architecture

79
1.2 Package Diagram

Figure 63: Package Diagram

80
2. Database Design

2.1 Database Diagram

Figure 64: Database Diagram

81
2.2 Data Dictionary

2.2.1. Users table


Field name Type Size Unique Not PK/ Notes
Null FK
Id int 4 Yes Yes PK Unique identifier of the user
FirstName nvarchar 255 No Yes First name of the user
LastName nvarchar 255 No Yes Last name of the user
Address nvarchar 255 No Yes Address of the user
DateCreated datetime 8 No Yes Date create the user
Status int 4 No Yes Status of the user
Gender int 4 No Yes Gender of the user
RoleId int 4 No Yes FK Password salt of the user
DateOfBirth date 3 No No Date of birth of the user
Email varchar 320 No No Email of the user
Password varchar 255 No No Password hash of the user
PhoneNumber varchar 15 No No Phone number of the user
UserName varchar 32 Yes No Username of the user
CFDisplayname nvarchar 255 No No Displayname of CloudFone
CFUsername nvarchar 255 No No Username of CloudFone
CFPassword varchar 255 No No Password of CloudFone
Table 51. Users table Data Dictionary

2.2.2. Roles table


Field name Type Size Unique Not PK/ Notes
Null FK
Id int Yes Yes PK Unique identifier of the user
role
Name nvarchar 20 No Yes Name of the user role
Table 52: Roles table Data Dictionary

82
2.2.3. Schedule table
Field name Type Size Unique Not PK/ Notes
Null FK
4
Id int Yes Yes PK Unique identifier of Schedule
Title nvarchar 255 No No FK Title of the schedule
Status int 4 No No Status of the schedule
MeetTime datetime 8 No No Date time of meeting
CreateDate datetime 8 No No Date time of schedule
LastEditedTime datetime 8 No No Date time edit of the schedule
UserId int 4 No Yes Unique identifier of the user
MAX No The information needed of the
Note nvarchar No user
4 No FK Unique identifier of the data
DataUserId int No user
StoreId int 4 No No FK Unique identifier of the store
Table 53: Schedule table Data Dictionary

2.2.5. UserBrandMapping table


Field name Type Size Unique Not PK/ Notes
Null FK
Id int 4 Yes Yes PK Unique identifier of the
schedule user brand mapping
UserId int 4 No No FK Unique identifier of the user
BrandId int 4 No No FK Unique identifier of the brand
Table 54: USerBrandMapping table Data Dictionary

2.2.6. Brands table


Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of feedback

Name nvarchar 255 No Yes Name of the brand

Status int 4 No Yes Status of the brand

83
Address nvarchar MAX No No Address of the brand

DateCreated datetime 8 No Yes Time create of the brand

LastedEditedTime datetime 8 No Yes Time edit of the brand

Description nvarchar MAX No No Description of the brand

Code varchar 50 No No Code of the brand

ManagerName nvarchar 255 No No Name of the manager of the


brand

PhoneContact varchar 15 No No Phone number of the brand

Email varchar 320 No No Email of the brand

Website varchar 200 No No Website of the brand

Table 55: Brands table Data Dictionary

2.2.7. Stores table


Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of the store

Name nvarchar 255 No No Name of the store

Status int 4 No Yes Status of the store

Address nvarchar MAX No No Address of the store

DateCreated datetime 8 No Yes Date time of creating the store

LastEditedTime datetime 8 No Yes Date time of edit the store

Email varchar 320 No No Email of the store

PhoneNumber varchar 15 No No Phone number of the store

BrandId int 4 No Yes FK Unique identifier of the brand

Code varchar 50 No No Code of the store

Table 56: Stores table Data Dictionary

84
2.2.8. CallHistory table
Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of callhistory

CallNumber nvarchar 50 No No PhoneNumber of the User

ReceiptNumber nvarchar 50 No No PhoneNumber of the


DataUser

KeyRinging nvarchar 50 Yes No Unique key of the calling

Message nvarchar 50 Yes No Status of the calling

DateCall datetime 8 No No Date time of the calling

Status nvarchar 50 No Yes Status of the calling

TotalTimeCall int 4 No No Total time of the calling

RealTimeCall int 4 No No Real time of the calling

LinkFile nvarchar MAX Yes No Link record file of the calling

TypeCall nvarchar 50 No No Type of the calling

DataUserId int 4 Yes Yes FK Unique identifier of the


dataUser

UserId int 4 Yes Yes FK Unique identifier of the user

Note nvarchar MAX No No Note of the phone calling

LevelId int 4 Yes Yes FK Unique identifier level of the


user

Rating int 4 No No Rating of the phone calling

OrderCode varchar 50 Yes No Code of the order when the


phone calling or not

CampaignId int 4 Yes No FK CampaignId of the datauser

Table 57: CallHistory table Data Dictionary

2.2.9. Products table


Field name Type Size Unique Not PK/ Notes

85
Null FK

Id int 4 Yes Yes PK Unique identifier of the plan


product

Name nvarchar 255 No No Name of the product

Description nvarchar MAX No No Description of the product

Price float 8 No No Price of the product

OldPrice float 8 No No Old price of the product

DateCreated datetime 8 No Yes Date Create Time of the


product

LastEditedTime datetime 8 No Yes Last Edit Time of the product

ProductCategoryId int 4 Yes Yes FK Unique identifier of the


product category

Status int 4 No Yes Status of the products

Contents nvarchar MAX No No Contents of the product

Table 58: Products table Data Dictionary

2.2.10. ProductCategories table


Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of the


product category

Name nvarchar 100 No No Name of the Product Category

Description nvarchar MAX No No Description of the product


category

Status int 4 No Yes Status of the product category

BrandId int 4 No No FK Unique identifier of the brand

Table 59: ProductCategories table Data Dictionary

2.2.11. Order table


Field name Type Size Unique Not PK/ Notes

86
Null FK

Id int 4 Yes Yes PK Unique identifier of the order

UserId int 4 Yes Yes FK Unique identifier of the user

DataUserId int 4 Yes Yes FK Unique identifier of the


datauser

Status int 4 No No Status of the order

Note nvarchar MAX No No Note of the order

DateCreated datetime 8 No No Date time create the order

Amount float 8 No No Total price of the order

LevelId int 4 Yes Yes FK Unique identifier of the level

BrandId int 4 Yes Yes FK Unique identifier of the brand

Code varchar 50 Yes Yes Code of the order

ExpectedDate datetime 8 No No Date expect of the order

StoreId int 4 Yes Yes FK Unique identifier of the store

CampaignId int 4 Yes Yes FK Unique identifier of the


campaign

Table 60: Order table Data Dictionary

2.2.12. OrderDetails table


Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of the


cooking method

ProductId int 4 No No FK Unique identifier of the


product

Quantity int 4 No No Quantity of the order Details

Price float 8 No No Price of Orderdetail

OrderId int 4 No Yes FK Unique identifier of the order

Table 61: OrderDetails table Data Dictionary

87
2.2.13. Levels table
Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of the Levels

Name nvarchar 255 No No Name of the level

Code nvarchar 50 No No Code of the level

Note nvarchar MAX No No Note of the level

DateCreated datetime 8 No No Date time create level

LastEditedTime datetime 8 No No Date time edit level

Status int 4 No No Status of the level

BrandId int 4 No Yes FK Unique identifier of the brand

Table 62: Levels table Data Dictionary

2.2.14. DataUsers table


Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of the


manyToManyRecipeCategory

Code varchar 50 No No FK Unique identifier of the recipe

FirstName nvarchar 255 No No FK Unique identifier of the recipe


category

LastName nvarchar 255 No No Status of the


manyToManyRecipeCategory

PhoneNumber varchar 15 Yes Yes Phone Number of data user

Email varchar 320 No No Email of data user

Address nvarchar MAX No No Address of data user

DayOfBirth date 3 No No Date of birth of data user

Gender int 4 No No Gender of data user

DateCreated datetime 8 No No Date create of data user

88
LastEditedTime datetime 8 No No Last Edited Time of data user

Status int 4 No No Status of data user

ChannelId int 4 No No FK Unique identifier of the channel

LevelId int 4 No No FK Unique identifier of the level

UserId int 4 No No FK Unique identifier of the user

SourceDataId int 4 No No FK Unique identifier of the source


data

Table 63: DataUsers table Data Dictionary

2.2.15. Channels table


Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of the


channel

Name nvarchar 255 No No Name of the channel

Code varchar 50 No No Status of the channel

Title nvarchar 255 No No Title of the channel

DateCreated datetime 8 No No Date time create channel

LastEditedTime datetime 8 No No Date time edit channel

Status int 4 No No Status of the channel

RevenueForeCast float 8 No No Revenue expect of the


channel

CostExpected float 8 No No Cost expect of the channel

BrandId int 4 No No FK Unique identifier of the Brand

Table 64: Channels table Data Dictionary

2.2.16. SourceData table


Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of the recipe

89
nutrition

Name nvarchar 255 No No Name of the recipe nutrition

Title nvarchar 255 No No Status of the recipe nutrition

Description nvarchar MAX No No Description of Source Data

DateCreated datetime 8 No Yes Date time create Source Data

LastEditedTime datetime 8 No Yes Date time edit Source Data

Status int 4 No Yes Status of Source Data

BrandId int 4 No No FK Unique identifier of the Brand

Table 65: SourceData table Data Dictionary

2.2.17. Campaigns table


Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of the recipe


nutrition

BrandId int 4 Yes Yes FK Unique identifier of the brand

Name nvarchar 255 No No Name of the campaign

CreatedDate datetime 8 No No date create the campaign

Type int 4 No No Type of the campaign

Status int 4 No No Status of the campaign

StartDate datetime 8 No No Started date of the campaign

Expired Date datetime 8 No No Expired date of the campaign

Description nvarchar MAX No No Description of the campaign

CostReal float 8 No No Cost of paying for the


campaign

CostExpect float 8 No No Cost expected of paying for


the campaign

RevenueCost float 8 No No Revenue of the campaign

90
Code nvarchar MAX No No Code of the campaign

LastEditedTime datetime 8 No No Lasted edit time of the


campaign

Table 66: Campaigns table Data Dictionary

2.2.18. CloudfoneConfig table


Field name Type Size Unique Not PK/ Notes
Null FK

Id int 4 Yes Yes PK Unique identifier of the


cloudfone config

Host nvarchar MAX No No Host of the cloudfoneConfig

Port int 4 No No Port of the cloudfoneConfig

WsServer nvarchar MAX No No WsServer of the


cloudfoneConfig

Table 67: CloudfoneConfig table Data Dictionary

91
3. Detailed Design

3.1 Class Diagram

Figure 65: Class Diagram

3.2 Class Specification

3.2.1. Brands class


Property Type Description

Id int Unique identifier of the Brand

92
Name string Name of the Brand

Status int Status of the Brand

Address string Address of the Brand

DateCreated DateTime Date create of the Brand

LastedEditedTime DateTime Last Edited Time of the Brand

Description string Description of the Brand

Code string Code of the Brand

ManagerName string Manager of the Brand

PhoneContact string Phone contact of the Brand

Email string Email of the Brand

Website string Website of the Brand

Table 68: Brand class Specification

3.2.2. Store class


Property Type Description

Id int Unique identifier of the Store

Name string Name of the Store

Status int Status of the Store

Address string Address of the Store

DateCreated DateTime Date create of the Store

LastedEditedTime DateTime Last Edited Time of the Store

Email string Email of the Store

PhoneNumber string PhoneNumber of the Store

BrandId string ID of the Brand

Code string Code of the Store

Table 69: Store class Specification

3.2.3. User class


Property Type Description

93
Unique identifier of the Store Product
Id int Mapping

FirstName string FirstName of the User

LastName string LastName of the User

Address string Address of the User

DateCreated Datetime Date create User

Status int Status of the User

Gender int Gender of the User

RoleId int Role of the User

DateOfBirth Datetime Date of birth of the User

Email string Email of the User

Password string Password of the User

PhoneNumber string Phone number of the User

UserName string username login of the User

CfdisplayName string extension that user use

Cfusername string username of the User to use extension

Cfpassword string password of the User to use extension

Table 70: User class Specification

3.2.4. ProductCategories class


Property Type Description

Id int Unique identifier of the Product Categories

Name string Name of the Product Categories

Description string Description of the Product Categories

Status int Status of the Product Categories

BrandId int ID of the Brand

Table 71: Product Category class Specification

94
3.2.5. Products class
Property Type Description

Id int Unique identifier of the Product

Name string Name of the Products

Description string Description of the Product

Price float Price of the Product

OldPrice float Old Price of the Product

DateCreated DateTime Date Create of the Product

LastEditedTime DateTime Last Edited Time of the Product

ProductCategoryId int ID of Product Categories

Status int Status of the Product

Contents string Contents of the Product

Table 72: Product class Specification

3.2.6. CloudfoneConfig class


Property Type Description

Id int Unique identifier of the CloudfoneConfig

Host string Host of the CloudfoneConfig

Port int Port of the CloudFone Config

WsServer string WsServer of the CloudfoneConfig

Table 73: Cloudfone Config class Specification

3.2.7. Schedule class


Property Type Description

Id int Unique identifier of the Schedule

Title string Title of the Schedule

Status int Status of the Schedule

DataUserId int ID of DataUser

MeetTime DateTime Meeting time of the Schedule

95
CreateDate DateTime Date Created of the Schedule

LastEditedTime DateTime Last Edited Time of the Schedule

UserId int ID of the User

Note string Note of the Schedule

StoreId int ID of the Store

Table 74: Schedule class Specification

3.2.8. SourceDatas class


Property Type Description

Id int Unique identifier of the SourceData

Name string Name of the SourceData

Title string Title of the SourceData

DateCreated DateTime Date Created of the Source Data

LastEditedTime DateTime Last Edited Time of the Source Data

Status int Status of the Source Data

BrandId int ID of the Brand

Table 75: Source Data class Specification

3.2.9. Channels class


Property Type Description

Id int Unique identifier of the Channels

Name string Name of the Channel

Code string Code of the Channel

Title string Title of the Channel

DateCreate DateTime Date created of the Channel

LastEditTime DateTime Last Edited Time of the Channel

Status int Status of the Channel

RevenueForecast float Revenue of the Channel

CostExpected float Cost Expected of the Channel

96
BrandId int UI of the Brand

Table 76: Channel class Specification

3.2.10. CampaignDataUserMapping class


Property Type Description

Unique identifier of the Campaign Data


Id int User Mapping

DataUserId string ID of the DataUser

CampaignId int ID of the Campaign

Table 77: Campaign DataUser Mapping class Specification

3.2.11. DataUsers class


Property Type Description

Id int Unique identifier of the DataUser

Code string Code of the DataUser

FirstName string Firstname of the DataUser

LastName string Lastname of the DataUser

PhoneNumber string PhoneNumber of the DataUser

Email string Email of the DataUser

Address string Address of the DataUser

DateOfBirth Datetime Date of birth of the DataUser

Gender int Gender of the DataUser

DateCreated Datetime Date create of the DataUser

LastEditedTime DateTime Last Edited Time of the DataUser

Status int Status of the DataUser

ChannelId int ID of the Channel

LevelId int ID of the Level

UserId int ID of the User

97
SourceDataId int ID of the Source Data

Table 78: DataUser class Specification

3.2.12. Levels class


Property Type Description

Id int Unique identifier of the Level

Name string Name of the Level

Code string Code of the Level

Note string Note of the Level

DateCreated DateTime Date create of the Level

LastEditedTime DateTime Last Edited Time of the Level

Status int Status of the Level

BrandId string ID of the Brand

Table 79: Level class Specification

3.2.13. Roles class


Property Type Description

Id int Unique identifier of Role

Name string Name of Role

Table 80: Role class Specification

3.2.14. UserBrandMapping class


Property Type Description

Unique identifier of the User Brand


Id int MappingMapping

UserId int ID of the User

BrandId int ID of the Brand

Table 81: User Brand Mapping class Specification

98
3.2.15. Order class
Property Type Description

Id int Unique identifier of the Order

UserId string ID of the User

DataUserId int ID of the Data User

Status string Status of the Order

Note DateTime Note of the Order

DateCreated DateTime Date Create Time of the Order

Amount string Total Price of the Order

LevelId string ID of the Level

BrandId string ID of the Brand

Code string Code of the Order

ExpectedDate DateTime Date Time Created of the Order

StoreId int ID of the Store

CampaignId int ID of the Campaign

Table 82: Order class Specification

3.2.16. Campaigns class


Property Type Description

Id int Unique identifier of the Campaign

Name string Name of the Campaign

Code string Code of the Campaign

Title string Title of the Campaign

DateCreate datetime Date Created Time of the Campaign

LastEditedTime datetime Last Edited Time of the Campaign

Status int Status of the Campaign

RevenueForecast float Revenue Expected of the Campaign

99
CostExpected float Cost Expected of the Campaign

BrandId int ID of the Brand

Table 83: Campaign class Specification

3.2.17. OrderDetails class


Property Type Description

Id int Unique identifier of the OrderDetails

ProductId int ID of the Product

Quantity int Quantity of the Product

Price float Price of the Product

OrderId int ID of the Order

Table 84: Order Detail class Specification

3.2.18. CallHistory class


Property Type Description

Id int Unique identifier of the Brand

CallNumber string Phone number of the user

ReceiptNumber string Phone number of the Data user

KeyRinging string Key of the phone calling

DateCall DateTime Date time of phone calling

Status string Status of the phone calling

TotalTimeCall int Total Time Call of phone calling

RealTimeCall int Real Time Call of phone calling

LinkFile string Link of record file

typeCall string Type of phone calling

DataUserId int ID of DataUser

Table 85: Call History class Specification

100
V. Software Testing Documentation

1. Overall Description

1.1 Test Model


In Telesale System, we apply Agile testing for many purposes:
● Agile Testing can begin at the start of the project with continuous integration between
development and testing.
● Create an environment for customers and developers to interact with each other.
● Support test as soon as possible in the software development process, promptly
responding to customer’s needs.

1.2 Testing Levels & Types


We performed the following testing attributes:
● Testing Levels: System Testing.
● Testing Types: Functional Testing.

2. Test Plan

2.1. Test Stages

Type of tests Stage of Test

Unit Integration System Acceptance


Function test X X X X

User Interface Test X X


Table 86: Test Stages

2.2 Human Resources

Table 87: Human Resources

101
2.2 Test Environment
Purpose Tool Provider Version
Test case & bug logs Excel Microsoft >= 2013
management, test Word Microsoft >= 2013
reports
Screen capture Windows Snipping Microsoft 6.4.5
Tool

Execution browser Edge Microsoft >=80.0


Chrome Google >=80.0

Communication Messenger Facebook N/A

Table 88: Test Environment

2.3 Test Milestones


Milestone Task Effort (md) Start Date End Date

Create Test Plan 3 05/10/2022 05/10/2022

Create unit tests for module Web App 2 08/10/2022 24/10/2022

Create integration test cases for Web App 2 14/10/2022 24/10/2022

Create system test cases for Web App 2 26/10/2022 14/11/2022

Create reports for testing 2 16/11/2022 18/11/2022


Table 89: Test Milestones

2.4 Deliverables
No Deliverables Due Date

1 Test Plan 05/10/2022

2 Test Case Suite for Web App 26/10/2022

3 Report on Testing 18/11/2022


Table 90: Deliverables

3. Test Cases
● Unit Test Cases : TFATC_Report-5_Unit-Test-Case

102
VI. Release Package & User Guides

1. Deliverable Package

1.1 Source codes & documents


No. Item Sub-Items

Code packages

1 telesys_be.zip https://drive.google.com/file/d/
1L5OzpJKY0Ng08l6H6ibs1pdl6x0qQmYI/view?
usp=sharing

2 telesys_fe.zip https://drive.google.com/file/d/
14yvCpx1hDWzZ_aki8v7el1T3T4l5AcRl/view?
usp=sharing

Databases

1 telesys_script.sql https://drive.google.com/file/d/1VJavDtWqn2mG-
2ASWFDLwAT-FcrlzRGC/view?usp=sharing

Document

1 Final Project Report https://docs.google.com/document/d/


1SIlbXxBraIUURfUCyAaiOqq56QBh3XwgFelQmOhg7jg
/edit
Table 91: SourceCode & Documents

2. Installation Guides

2.1 System Requirements

2.1.1 Hardware Requirements

PC Minimum Recommended

Internet connection Cable, Wi-fi (4 Mbps) Cable, Wi-fi (8 Mbps)

Processor Intel Core i3 gen 8 or higher Intel Core i5 gen 8 or higher

Memory(RAM) 4GB 8GB or higher

Storage 5GB 10GB

Web Browser Chrome (v80 or higher) Chrome latest stable version

Table 92: Hardware Requirement

103
2.1.2 Software Requirements
Component Name and Version Description

Windows 7/8/8.1/10/11/Window Server Operating system for building


Operating System 2016 or higher (Web application) and running production

DBMS SQL Server 2019 Database management system.

.Net Core Runtime 6.0


.Net core runtime 6
Hosting bundles

Table 93: Software Requirement

2.2 Installation Instruction

2.3.1 Setup environment

2.3.1.1 NodeJS Installation


- Step 1: Go to following website to download NodeJS
https://nodejs.org/en/
- Step 2: Click download NodeJS installation file then click to download file to install NodeJS
- Step 3: Click Next

Figure 66

- Step 4: Tick “I accept the terms in the License Agreement” then Next

104
Figure 67

- Step 5: Change destination install location (optional) and click Next

Figure 68

- Step 6: Click Next

105
Figure 69

- Step 7: Click Next

Figure 70

- Step 8: Click Install to setup NodeJS

106
Figure 71

- Step 9: Turn on CMD and type “node -v” to check NodeJS version (If install successfully)

2.3.1.2 .Net Installation

- Step 1 : Go to following website to download .Net 6

https://dotnet.microsoft.com/en-us/download/dotnet/6.0

107
Choose architecture of your computer

Figure 72

- Step 2 : choose your architecture of your computer to download .Net 6 SDK and click to
download file to install .Net

File installer after download

Figure 73

- Step 3 : Open file installer and click Install

Figure 74

108
- Step 4 : Waiting for install

Figure 75

- Step 5 : Close to Finish install .Net 6

109
Figure 76

- Step 6 : Open CMD and type “dotnet –version” to check .Net Version

110
Figure 77

3. User Manual

3.1 Terms and definitions


● Mobile device: Responsive mobile app device. .
● Web app:
- The app for administrators to manage systems
- The app for managers to manage the staff and all the brands.
- The app for staff to manage the customer.

3.2 System Requirements

3.2.1 Hardware Requirement

PC Minimum Requirements Recommended

Internet Connection Cable, Wi-Fi (4 Mbps) Cable, Wi-Fi (8 Mbps)

Operating System Windows 7 Windows 10

Computer Processor Intel® Core i3 1.4GHz Intel® Core i5 2.50GHz

Computer Memory 1GB RAM 2GB RAM or more

Table 94: Hardware Requirement

3.2.2 Software Requirement

Software Name / Version Description

Operating System Windows 7, Windows 10 Operating system and platform for development

111
Web browser Chrome 69 or above For web app

Table 95: Software Requirement

3.3 Application Usage

3.3.1 Web application

3.3.1.1. <Admin> login with username and password

Figure 78. Login

No Description

1 Input username and password to login the system

2 Select the language which is depended your country

Table 96: Login

112
3.3.1.2. <Admin> manage brand

Figure 79. Manage brand

No Description

1 Click manage Brand to navigate to manage brands

2 Click Manage User to navigate to manage users

3 Click Manage Work to navigate to manage work

Click Config Staff Extension to navigate to


4 config staff phone extension

5 Click Vietnamese or English to select language

6 Click Config to config host, port, WsServer for Extension

7 Click Log out to log out the system

8 Click Edit to edit the selected brand

Table 97: Manage brand

113
3.3.1.3. <Admin> create a new brand.

Figure 80. Create Brand

No Description

1 Input in the field: “Brand” for the name of the brand

2 Input in the field “ Brand code” for the code of the brand

3 Input in the field “Manager” for the name manager of the brand

4 Input to the field “Address” for the address of the brand

5 Input to the field “Phone” for the phone of the brand

6 Input to the field “Email” for the email of the brand

7 Input to the field “Website” for the email of the brand

8 Input to the field “Description” for the description of the brand

9 Click ‘Add brand’ to add a new brand to the system

Table 98: Create Brand

114
3.3.1.4. <Admin> update selected brand.

Figure 81. Update Brand

No Description

1 Input in the field: “Brand”

2 Input in the field “Address”

3 Input in the field “Description”

4 Input to the field “Brand code”

5 Input to the field “Manager”

6 Input to the field “Phone”

7 Input to the field “Email”

8 Input to the field “Website”

9 Click ‘Update brand’ to update a brand selected

Table 99: Update Brand

115
3.3.1.5. <Admin> view list of user

Figure 82. View User

No Description

1 Click “Add new” to add new user to the system

2 Click “Edit” to edit the selected user

Table 100: View User

3.3.1.6. <Admin> create user to the system

116
Figure 83. Manage User

No Description

1 Input in the field: “Username” for the name of the user

2 Input in the field “ Password” for the code of the user

3 Select the field “Role” for the role of the user

4 Input to the field “Last name” for the last name of the user

5 Input to the field “First name” for the first name of the user

6 Input to the field “Address” for the address of the user

7 Select the field “Sex” for the gender of the user

8 Select the field “Birthday” for the birthday of the user

9 Input to the field “Phone” for the phone of the user

10 Input to the field “Email” for the email of the user

11 Click ‘Create“ to add a new user to the system

Table 101. Manage User

3.3.1.7. <Admin> update user to the system

Figure 84. Update User

117
No Description

1 Input to the field: “Username”

2 Input to the field “ Address”

3 Input to the field “Phone”

4 Input to the field “Email”

5 Click “Update” to update information of the user

Table 102. Update User

3.3.1.8. <Admin> login with username and password

Figure 85. Manage work

No Description

1 Select “Filter” to filter the user

2 Click “Edit”to add new brand into the user

Table 103. Manage work

118
3.3.1.9. <Admin> login with username and password

Figure 86. Add Brand for user

No Description

1 Select “Add brand” to select the brand to add into user

2 Click “Add”to add new brand into the user

Table 104: Add Brand for user

3.3.1.10. <Admin> login with username and password

Figure 87. Config Staff Extension

119
No Description

1 Select “Edit” to edit the config of extension

Table 105. Config Staff Extension

3.3.1.11. <Admin> login with username and password

Figure 88. Change Staff Extension

No Description

1 Input “Display name” to change user name extension

2 Input “Extension”to change new extension of the user

3 Input “Password” to config the extension password of the user

Table 106. Change Staff Extension

120
3.3.1.12. <Staff> Add customer by excel

Figure 89. Add customer by excel

No Description

1 Drag and drop file excel to modal

2 Click “submit” to submit excel file

Table 107. Add customer by excel

3.3.1.13. <Staff> Select field to add customer by excel

Figure 90. Select field to add customer by excel

121
No Description

1 Select “Level customer” for the customer’s level

2 Select “Source customer” for the customer’s source

3 Select “Channel Customer” for the customer’s channel

4 Select “Campaign” for the customer’s campaign

5 Click “Add” to create list of customers to system

Table 108. Select field to add customer by excel

3.3.1.14. <Staff> Login

Figure 91. Login

No Description

1 Input to the field “username” for the username of the user

2 Input to the field “password” for the password of the user

3 Click “Login” for login to the system

Table 109. Login

122
3.3.1.15. <Staff> Select brand

Figure 92. Select brand

No Description

1 Select “Brand” for the brand of the user

2 Click “Next” to navigate to the user’s screen

Table 110. Select brand

3.3.1.16. <Staff> Manage Customer

Figure 93. Manage Customer

123
No Description

1 Click “Manage Customer” to navigate to manage customer

2 Click “Schedule” to navigate to booking schedule

3 Click “Campaign” to navigate to add campaign to customer

4 Click “Dashboard” to navigate to dashboard

5 Click “Report call” to navigate to report’s calls of user

6 Click “Report Order” to navigate to report’s orders of user

7 Click “Report Campaign” to navigate to report’s campaign of user

8 Click “Add customer” to add new customer to the system

9 Click “Add Excel” to add customer by excel filefile

10 Click select “Campaign” to select the campaignmpaign

11 Click “Filter” to filter the user by level, source, channel

12 Click “call” to call the customer by phone

13 Click “Edit” to edit the profile of customer

Table 111. Manage Customer

3.3.1.17. <Staff> Add Customer

Figure 94. Add Customer

124
No Description

1 Input to the field “First name” for the firstname of customer

2 Input to the field “Last name” for the lastname of customer

3 Input to the field “Phone” for the phone of customers

4 Input to the field “Adress” for the address of customer

5 Input to the field “Email” for the email of customer

6 Select field “Sex” for the gender of customer

7 Select field “Birthdate” for the birthdate of customer

8 Select field “Level” for the level of customer

9 Select field “Channel” for the channel of customer

10 Select field “Source” for the source of customer

11 Select field “Campaign” for the campaign of customer

12 Click “Add customer” to add the customer to system

Table 112. Add Customer

3.3.1.18. Call Customer

125
Figure 95. Call Customer

No Description

1 Call time is the all total time of phone call

2 Call status is status of phone call

3 Real time call is time when the phone is picked up

4 Linkfile is link of record file

5 Code is key of the phone.

6 Input “call detail” to note any information about the call

7 Click “Make order” to navigate to order page

8 Select “Level customer” to change the level of customer

9 Click “Save” to save the record file

10 Click “Hang up” to disconnect the phone call

Table 113. Call Customer

3.3.1.19. <Staff> Customer detail

Figure 96. Customer detail

126
No Description

1 Click “Anwser call” when system have incoming call

2 Click “Switch Call” to switch the incoming call to other extension

Table 114. Customer detail

3.3.1.20. <Staff> Switch call

Figure 97. Switch call

No Description

1 Select “Extension” to choose the extension to switch

2 Click “switch” to switch to another extension

Table 115. Switch call

3.3.1.21. <Staff> Customer detail

127
Figure 98. Customer detail

No Description

1 Field “staff” is which staff that manage the customer

2 Input to the field “Last name”

3 Input to the field “First name”

4 Input to the field “Phone”

5 Input to the field “Email”

6 Input to the field “Address”

7 Select field “Level” for the birthdate of customer

8 Select field “Channel”

9 Select field “Source”

10 Select field “Sex”

11 Select field “Birthdate”

12 Click “Update” to update the customer and history call

13 Click “Make Order” to navigate to the order page

14 Click “Schedule” to navigate to booking schedule

15 Click “Call” to call the customer by phone

128
16 “Total time” is total time of the phone call

17 “Status” is status of the phone call

18 “Real call time” is time that customer’s phone picked up

19 “LinkFile” is link to record file

20 “Code” is key of phone call

21 “Call detail” is note of phone call

Table 116. Customer detail

3.3.1.22. <Staff> Make order

Figure 99. Make order

No Description

1 Click “Add” to add the product into order

2 Note is the note of the order

3 Click “Make order” to make an order

Table 117. Make order

3.3.1.23. <Staff> Make schedule

129
Figure 100. Make schedule

No Description

1 Input to the field: “Info”

2 Select “ Appointment date”

3 Select “visit branch” to choose the store

4 Input to the field “Note” for the note of schedule

5 Click “Book” to book the schedule

Table 118. Make schedule

3.3.1.24. <Staff> Schedule

130
Figure 101. Schedule

No Description

1 Click any schedule to open schedule detail

Table 119. Schedule

3.2.1.2. <Staff> Schedule detail

Figure 102. Schedule detail

No Description

1 Input to the field: “Customer name”

131
2 Input to the field “Info”

3 Input to the field “Phone”

4 Select the “Appointment date”

5 Select “Visit branch”

6 Input “Note” for the schedule detail

7 Click “Save” to save the schedule

8 Click “Customer detail” to navigate to customer detail page

Table 120. Schedule detail

3.3.1.25. <Staff> Campaign

Figure 103. Campaign

No Description

1 Click “Filter” to filter customer by level, source, channel

2 Click “Add campaign” to add campaign to customer

3 Click “View detail” to view customer detail

Table 121. Campaign

3.3.1.26. <Staff> Add Customer into campaign

132
Figure 104. Add Customer into campaign

No Description

1 Select “Add campaign” to choose the campaign for customer

2 Click “Add” to add the campaign to customer

Table 122. Add Customer into campaign

3.3.1.7. <Staff> Dashboard

Figure 105. Dashboard

No Description

133
1 Select “Date” to see campaign’s report from date

Table 123. Dashboard

3.3.1.28. <Staff> Dashboard

Figure 106. Dashboard

No Description

1 Select “Month” to see campaign report from month

Table 124. Dashboard

3.3.1.29. <Staff> Report call

134
Figure 107. Report call

No Description

1 Select “Date” to see call’s report from date

Table 125. Report call

3.3.1.30. <Staff> Report order

Figure 108. Report order

No Description

1 Select “Date” to see order’s report from date

Table 126. Report order

135
3.3.1.31. <Staff> Report campaign

Figure 109. Report campaign

No Description

1 Select “Campaign” to see campaign report

Table 127. Report campaign

3.3.1.32. <Manager> Login

136
Figure 120. Login

No Description

1 Input to the field “username” for the username of the manager

2 Input to the field “password” for the password of the manager

3 Click “Login” for login to the system

Table 128. Login

3.3.1.33. <Manager> Select brand

Figure 121. Select brand

137
No Description

1 Select “Brand” for the brand of the manager

2 Click “Next” to navigate to the manager’s screen

Table 129. Select brand

3.3.1.34. <Manager> Manage level

Figure 122. Manage Level

No Description

1 Click “Edit” to edit the level

2 Click “Delete” to delete to the selected level

Table 130. Manage Level

3.3.1.35. <Manager> Add Level

138
Figure 123. Add Level

No Description

1 Input to the field “Level Code” for the code of level

2 Input to the field “Level Name” for the name of level

3 Input to the field “Note” for more information of the level

4 Click “Add” to add level to the system

Table 131. Add Level

3.3.1.36. <Manager> Update Level

139
Figure 124. Update Level

No Description

1 Input to the field “Level Code” for the code of level

2 Input to the field “Level Name” for the name of level

3 Input to the field “Note” for more information of the level

4 Click “Update” to update new level to the system

Table 132. Update Level

3.3.1.37. <Manager> Delete Level

Figure 125. Delete Level

No Description

140
1 Click “Ok” to remove the level out of system

Table 133. Delete Level

3.3.1.38. <Manager> Manage Branch

Figure 126. Manage Branch

No Description

1 Input to the field “Level Code” for the code of level

2 Input to the field “Level Name” for the name of level

3 Input to the field “Note” for more information of the level

Table 134. Manage Branch

141
3.3.1.39. <Manager> Add Branch

Figure 127. Add Branch

No Description

1 Input to the field “Branch” for the code of branch

2 Input to the field “Address” for the name of branch

3 Input to the field “Email” for more information of the branch

4 Input to the field “Phone” for more information of the branch

5 Click “Add branch” to add branch to the system

Table 135. Add Branch

3.3.1.40. <Manager> Update Branch

142
Figure 128. Update Branch

No Description

1 Input to the field “Branch” for the code of branch

2 Input to the field “Address” for the name of branch

3 Input to the field “Email” for more information of the branch

4 Input to the field “Phone” for more information of the branch

5 Click “Update” to update branch

Table 136. Update Branch

3.3.1.41. <Manager> Delete Branch

Figure 129. Delete Branch

No Description

1 Click “Delete” to delete branch out of system

Table 137. Delete Branch

3.3.1.42. <Manager> Manage Source

143
Figure 130. Manage Source

No Description

1 Click “Add source” to add source

2 Click “Edit” to edit selected source

3 Click “Delete” to delete the source

Table 138. Manage Source

3.3.1.43. <Manager> Add Source

Figure 131. Add Source

144
No Description

1 Input to the field “Source code” for the code of source

2 Input to the field “Source” for the name of source

3 Input to the field “Description” for more information of the source

4 Click “Add Source” to add level to the system

Table 139. Add Source

3.3.1.44. <Manager> Update Source

Figure 132. Update Source

No Description

1 Input to the field “Source code” for the code of source

2 Input to the field “Source” for the name of source

3 Input to the field “Description” for more information of the source

4 Click “Update” to update source to the system

Table 140. Update Source

3.3.1.45. <Manage> Delete Source

145
Figure 133. Delete Source

No Description

1 Click “Ok” to remove source out of system

Table 141. Delete Source

3.3.1.46. <Manager> Manage Channel

Figure 134. Manage Channel

146
No Description

1 Click “Add channel” to open modal Add Channel

2 Click “Edit” to open modal Edit

3 Click “Remove” to remove Channel out of system

Table 142. Manage Channel

3.3.1.47. <Manager> Add Channel

Figure 135. Add Channel

No Description

1 Input to the field “Channel Code” for the code of channel

2 Input to the field “Channel” for the name of channel

3 Select “Source” for more the source of channel

4 Click “Add Channel” to add Channel to the system

Table 143. Add Channel

3.3.1.48. <Manager> Manage Category

147
Figure 136. Manage Category

No Description

1 Click “Add category” to open modal Add Category

2 Click “Edit” to open modal Edit Category

3 Click “Delete” to remove Category out of system

Table 144. Manage Category

3.3.1.49. <Manager> Add Category

Figure 137. Add Category

148
No Description

1 Input to the field “Category” for the name of category

2 Input to the field “Description” for the information of category

3 Click “Add Category” to add category to the system

Table 145. Add Category

3.3.1.50. <Manager> Update Category

Figure 138. Update Category

No Description

1 Input to the field “Category” for the name of category

2 Input to the field “Description” for the information of category

3 totalProduct is total of products of brand

4 Click “Update” to update category to the system

Table 146. Update Category

3.3.1.51. <Manager> Manage Product

149
Figure 139. Manage Product

No Description

1 Click “Add product” to open modal Add Product

2 Click “Edit” to open modal Edit Product

3 Click “Delete” to remove product out of system

Table 147. Manage Product

3.3.1.52. <Manager> Add Product

Figure 140. Add Product

150
No Description

1 Input to the field “Product/Service” for the name of product

2 Input to the field “Description” for the description of product

3 Input to the field “Old Price” for more old price of the product

4 Click “New Price” to add level to the system

5 Select “Category” for the categories of the product

6 Select “Branch” for the branch of the product

7 Input to the field “Content” for the content of product

8 Click “Add product” to add product to the system

Table 148. Add Product

3.3.1.53. <Manager> Update Product

Figure 141. Update Product

151
No Description

1 Input to the field “Product/Service” for the name of product

2 Input to the field “Description” for the description of product

3 Input to the field “Old Price” for more old price of the product

4 Click “New Price” to add level to the system

5 Select “Category” for the categories of the product

6 Input to the field “Content” for the content of product

7 Click “Update” to update product to the system

Table 149. Update Product

3.3.1.54. <Manager> Manage Campaign

Figure 142. Manage Campaign

No Description

1 Click “Add campaign” to open modal campaign

2 Click “Edit” to open modal campaign

3 Click “Delete” to remove campaign out of system

Table 150. Manage Campaign

152
3.3.1.55. <Manager> Update Campaign

Figure 143. Update Campaign

No Description

1 Input to the field “Campaign” for the name of campaign

2 Select “start date” for the start date of campaign

3 Select “end date” for the end date of campaign

4 Input to the field “Description” for the description of campaign

Input to the field “RevenueExpect” for the revenue expected of


5 campaign

6 Click “Update” to update the campaign

Table 151. Update Campaign

153
3.3.1.56. <Manager> Add Campaign

Figure 144. Add Campaign

No Description

1 Input to the field “Campaign” for the name of campaign

2 Input to the field “Code” for the code of campaign

3 Select “start date” for the start date of campaign

4 Select “end date” for the end date of campaign

5 Input to the field “Description” for the description of campaign

6 Input to the field “Actual Cost” for the actual cost of campaign

7 Input to the field “Expect Cost” for the expect cost of campaign

Input to the field “RevenueExpect” for the revenue expected of


8 campaign

7 Click “Add Campaign” to add the campaign to the system

Table 152. Add Campaign

VII. Appendix

154
1. References
● ASP.Net Core Web API: https://dotnet.microsoft.com/en-us/apps/aspnet/apis

● ReactJS: https://reactjs.org/

● Scrum: https://www.scrum.org/resources/scrum-framework-poster

155

You might also like