2023.spring - ITranslator - Final Report-2
2023.spring - ITranslator - Final Report-2
FPT UNIVERSITY
iTranslator
GSP23SE29
Võ Nhứt Thanh Long - SE140630
Võ Nhị Thanh Long - SE140143
Group Members
Phạm Đức Anh Tuấn - SE141182
Lê Đức Quang - SE140637
Supervisor Nguyễn Thế Hoàng
Acknowledgements ........................................................................................................................................... 8
1. Overview ............................................................................................................................................. 10
3.1 Fiverr.......................................................................................................................................... 11
1. Overview ............................................................................................................................................. 14
4. Non-Functional Requirements.............................................................................................................. 49
1. System Design...................................................................................................................................... 54
3
1.1 Test Scope ................................................................................................................................ 111
4
List of Tables
Table 1 - Definition and Acronyms .................................................................................................................... 9
Table 2 - Supervisors ...................................................................................................................................... 10
Table 3 - Team Members ................................................................................................................................ 10
Table 4 - Limitations ....................................................................................................................................... 13
Table 5 - Scope & Estimation........................................................................................................................... 15
Table 6 - Project Objectives ............................................................................................................................. 15
Table 7 - Project Risks ..................................................................................................................................... 15
Table 8 - Training plan .................................................................................................................................... 17
Table 9 - Project deliverables .......................................................................................................................... 17
Table 10 - Responsibility Assignments ............................................................................................................. 18
Table 11 - Project Communications ................................................................................................................. 18
Table 12 - Tools & Infrastructures ................................................................................................................... 20
Table 13 - Actors list and description............................................................................................................... 21
Table 14 - Use Case list ................................................................................................................................... 25
Table 15 - Account Management Function ...................................................................................................... 29
Table 16 - Project Manage Function ................................................................................................................ 33
Table 17 - Authenticate Function .................................................................................................................... 34
Table 18 - Profile Management Function ........................................................................................................ 34
Table 19 - Register Function ............................................................................................................................ 35
Table 20 - Categories Management Function .................................................................................................. 36
Table 21 - Topic Management Function .......................................................................................................... 38
Table 22 - Languages Management Function .................................................................................................. 39
Table 23 - Achievement Management Function .............................................................................................. 40
Table 24 - Chat Function ................................................................................................................................. 40
Table 25 - Payment Management Function ..................................................................................................... 41
Table 26 - Invitation Management Function.................................................................................................... 41
Table 27 - <Screen authorization> Web application......................................................................................... 42
Table 28 - Non-screen functions ...................................................................................................................... 43
Table 29 - Logic entities and attributes description.......................................................................................... 49
Table 30 - Business rules ................................................................................................................................. 52
Table 31 - Application messages ..................................................................................................................... 53
Table 32 - Table Data Descriptions .................................................................................................................. 58
Table 33 - Attribute Data Description .............................................................................................................. 63
Table 34 - Project Service Class Specification ................................................................................................... 65
Table 35 - Process Service Class Specification .................................................................................................. 72
Table 36 - Process Service Class Specification .................................................................................................. 75
Table 37 - Test Stages ................................................................................................................................... 111
Table 38 - Resources ..................................................................................................................................... 111
Table 39 - Test Milestones ............................................................................................................................ 111
Table 40 - Test Cases and Test Reports.......................................................................................................... 112
Table 41 - Source codes & documents ........................................................................................................... 113
Table 42 - <System Requirements> Web application .................................................................................. 113
Table 43 - <System Requirements> Software requirement ............................................................................. 114
5
List of Figures
Figure 1 - Scum process ................................................................................................................................ 16
Figure 2 - Document management.................................................................................................................. 19
Figure 3 - Context diagram ............................................................................................................................. 21
Figure 4 - <Use case overview> iTranslator Web Application ........................................................................... 22
Figure 5 - <Screen flow diagram> Admin web application ............................................................................... 26
Figure 6 - <Screen flow diagram> Moderator web application......................................................................... 26
Figure 7 - <Screen flow diagram> Customer web application .......................................................................... 27
Figure 8 - <Screen flow diagram> Translator web application ......................................................................... 28
Figure 9 - Conceptual entity relationship diagram ........................................................................................... 43
Figure 10 - Logical entity relationship diagram................................................................................................ 44
Figure 11 - System architecture ....................................................................................................................... 54
Figure 12 - Web API Package Diagram ............................................................................................................ 55
Figure 13 - Web Application Package Diagram................................................................................................ 56
Figure 14 - Database Design ........................................................................................................................... 57
Figure 15 - Project Management Feature Class Diagram ................................................................................. 64
Figure 16 - Create Project Activity Diagram ..................................................................................................... 66
Figure 17 - View Project Activity Diagram ....................................................................................................... 67
Figure 18 - Edit Project Activity Diagram ......................................................................................................... 68
Figure 19 - Delete Project Activity Diagram ..................................................................................................... 69
Figure 20 - Create Project Sequence Diagram.................................................................................................. 70
Figure 21 - Create Project State Machine Diagram .......................................................................................... 71
Figure 22 - Process Management Feature Class Diagram ............................................................................... 71
Figure 23 - View Process Activity Diagram....................................................................................................... 73
Figure 24 - Create Process Sequence Diagram ................................................................................................. 74
Figure 25 - Payment Management Feature Class Diagram .............................................................................. 75
Figure 26 - View Payment History Activity Diagram......................................................................................... 76
Figure 27 - Deposit Activity Diagram ............................................................................................................... 77
Figure 28 - Withdraw Activity Diagram ........................................................................................................... 78
Figure 29 - Deposit Sequence Diagram ............................................................................................................ 79
Figure 30 - Withdraw Sequence Diagram ........................................................................................................ 80
Figure 31 - <Activity Diagram> Admin view account........................................................................................ 81
Figure 32 - <Activity Diagram> Admin Ban account ......................................................................................... 82
Figure 33 - <Activity Diagram> Mod create category....................................................................................... 83
Figure 34 - <Activity Diagram> Mod create topic ............................................................................................ 84
Figure 35 - <Activity Diagram> Mod create language ...................................................................................... 85
Figure 36 - <Activity Diagram> Mod create achievement ................................................................................ 86
Figure 37 - <Activity Diagram> Mod view project ............................................................................................ 87
Figure 38 - <Activity Diagram> Mod view topic ............................................................................................... 88
Figure 39 - <Activity Diagram> Mod category ................................................................................................. 89
Figure 40 - <Activity Diagram> Mod view language ........................................................................................ 90
Figure 41 - <Activity Diagram> Mod view achievement ................................................................................... 91
Figure 42 - <Activity Diagram> Mod approve project ...................................................................................... 92
Figure 43 - <Activity Diagram> Mod reject project .......................................................................................... 93
Figure 45 - <Activity Diagram> Customer create project .................................................................................. 95
Figure 46 - <Activity Diagram> Customer view project .................................................................................... 96
Figure 47 - <Activity Diagram> Customer view translator ................................................................................ 97
6
Figure 48 - <Activity Diagram> Customer view process.................................................................................... 98
Figure 49 - <Activity Diagram> Customer view history rating .......................................................................... 99
Figure 50 - <Activity Diagram> Customer accept translator into project ........................................................ 100
Figure 51 - <Activity Diagram> Customer reject customer into project........................................................... 101
Figure 52 - <Activity Diagram> Customer delete project ................................................................................ 102
Figure 53 - <Activity Diagram> Customer login.............................................................................................. 103
Figure 54 - <Activity Diagram> Customer logout ........................................................................................... 104
Figure 55 - <Activity Diagram> Translator view history rating ....................................................................... 105
Figure 56 - <Activity Diagram> Translator view invitation ............................................................................. 106
Figure 57 - <Activity Diagram> Translator view project ................................................................................. 107
Figure 58 - <Activity Diagram> Translator approve invitation ........................................................................ 108
Figure 59 - <Activity Diagram> Translator reject invitation ............................................................................ 109
Figure 60 - <Activity Diagram> Translator request to join project .................................................................. 110
Figure 61 - Setup Backend Api ....................................................................................................................... 114
Figure 62 - Setup Backend Api ....................................................................................................................... 115
Figure 63 - Setup Backend Api ....................................................................................................................... 115
Figure 64 - Setup Backend Api ....................................................................................................................... 116
Figure 65 - Setup Backend Api ....................................................................................................................... 116
Figure 66 - Setup Management Web............................................................................................................. 117
Figure 67 - Setup Management Web............................................................................................................. 117
Figure 68 - Setup Management Web............................................................................................................. 117
7
Acknowledgements
First, we would like to express our heartfelt gratitude to our supervisor, Mr. Nguyễn Thế Hoàng, for
his guidance throughout the entire project. His suggestions and recommendations have significantly
improved the overall quality of the project.
As we complete this capstone project, we would also like to extend our appreciation to:
FPT University lecturers who shared their invaluable knowledge with us and guided us as we
embarked on our academic journey.
Mr. Thân Văn Sử, Mr. Lâm Hữu Khánh Phương, Mr. Trần Thanh Nguyên, Mr. Đặng Ngô Hà An and
all other lecturers who pointed out flaws in our project and provide constructive feedback to
enhance its quality.
We would like to express my sincere thanks to our family and our friends for always being there
and supporting me through the toughest times.
Finally, a special thanks to Mr. Nguyễn Thế Hoàng, our direct supervisors who provide extensive
support in areas such as technology, business, and documentation. Last but not least, we want to
thank our family and friends who supported us throughout this project.
We acknowledge that due to our lack of experience and unfamiliarity with certain technologies used
in the project, mistakes were inevitable. We hope that people will overlook and forgive any errors or
shortcomings. Thank you for your unwavering support. Regards
8
Definition and Acronyms
Acronym Definition
BA Business Analysis
BR Business Rule
PM Project Manager
UC Use Case
BE Backend
FE Frontend
9
I. Project Introduction
1. Overview
1.1 Project Information
• Project name: iTranslator
• Project code: SP23SE38
• Group name: GSP23SE29
• Software type: Web Application
Table 2 - Supervisors
b. Team Members
2. Product Background
Reading across several languages appears to have grown challenging for readers in today's culture,
when the requirement to do so is prevalent in many nations. This is because there aren't many
platforms available to address the issue. Even for those who frequently work in and speak the
language they have acquired, reading comprehension is difficult due to the variety of information.
There isn't currently a widely used, practical, or user-friendly translation tool for readers in Vietnam.
Even when using well-known forehead late machines like google translate, translation still contains
faults that might cause reading to be halted or cause readers to misinterpret the concepts being
delivered in books and stories, which makes reading more monotonous. As a result, ITranslator was
developed with the aim of resolving the aforementioned issue, facilitating communication between
clients and translators, and simplifying the process of reading books and stories.
10
3. Existing Systems
3.1 Fiverr
Link: https://www.fiverr.com/categories/writing-translation
Description: The website fiverr.com is a platform that allows customers to rent any online
services such as Graphics & Design, Digital Marketing, Writing & Translation, Video &
Animation, Music & Audio, Programming & Tech, Business, Lifestyle, .. This application as a
3rd party helps connect customers and sellers quickly.
Fiverr.com is trusted by Facebook, Google, Netflix, PayPal. The seller will work freelance waiting
+ Seller: They will post articles to help translate, write, and advise their customers.
+ Customer: Go to see the services you need to use and hire a service seller.
Features:
+ Seller: post a post about the capabilities and services that I can provide to customers.
+ Customers: search for services, view seller information, view reviews of service sellers.
Advantage and Disadvantage
11
activities that is quite wide and does not focus on serving one field, leading to no focus on
advertising to the right customer. Our platform will focus on translation.
12
+ FE-27: Send project completion notice
+ FE-28: View history rating
+ FE-29: Chat
+ FE-30: Withdraw money
System:
+ FE-31: Notify user
+ FE-32: Suggest suitable translator
6.2 Limitations
# Limitations
LI-01 There is only one admin and one moderator in the system
LI-02 Online payment only
LI-03 Not yet automatically proposing prices for customers
Table 4 - Limitations
13
II. Project Management Plan
1. Overview
1.1 Scope & Estimation
# WBS Item Complexity Est. Effort
(man-days)
1 Requirement analysis 12
1.1 Define background and context of product Complex 7
1.2 Find problems of users Medium 2
1.3 Existed system analysis Simple 1
1.4 Business opportunity analysis Medium 2
2 Technology training 18
2.1 Learn .Net API framework Complex 6
2.2 Learn Angular framework Complex 6
2.3 Learn DevOps tool and third-party Complex 6
3 Workspace setup 7
3.1 Setup resources storage workspace Medium 3
3.2 Setup resources and version control Medium 4
4 Document writing 35
4.1 Write project introduction Medium 2
4.2 Write project management plan Medium 3
4.3 Write software requirement specification Complex 6
4.4 Write software design document Complex 6
4.5 Write test document Medium 4
4.6 Write user guide document Medium 4
4.7 Write final document Complex 10
5 Interface design 45
5.1 Design web application interface Complex 25
5.2 Design web application interface Complex 20
6 Implementation 167
6.1 Implement authentication/authorization features Complex 7
14
6.2 Implement admin features Complex 40
6.3 Implement moderator features Complex 20
6.4 Implement customer features Complex 50
6.5 Implement translator features Complex 50
7 Testing 24
7.1 Unit Test Complex 8
7.2 Integration Test Complex 8
7.3 System Test Complex 8
8 Closing 8
8.1 Maintenance Medium 5
8.2 Prepare slides for thesis defence Medium 3
Total Estimated Effort (man-days) 309
Table 5 - Scope & Estimation
1 Reviewing
2 Unit Test
3 Integration Test
4 System Test
1 High weight points are Critical Medium Assign more members and spend more
skewed to Frontend time doing frontend tasks.
15
2. Management Approach
2.1 Project Process
References: https://www.pm-partners.com.au/the-agile-journey-a-scrum-overview/
iTranslator project applied the Scrum model that is an Agile framework for software development
with following reasons:
- We developed software with a small team of 4 people so that we have no effort to complete all
stages in the old process like Waterfall. During a period in sprints, we will easily analyse what is
next and refactor if needed.
- With little time in sprints, we will be pressured to do tasks quickly.
2.2 Quality Management
● Review code
● Coding convention
● Unit Testing
● Integration Testing
● System Testing
16
DevOps tools (Docker, Github, Võ Nhứt Thanh Long, Week 1 - 3 days Mandatory
Jenkin…) Võ Nhị Thanh Long
3. Project Deliverables
4 Web admin & moderator modules 20/4/2023 Web for admin and moderator
5 Web translator & customer modules 20/04/2023 Web for customer and translator
Table 9 - Project deliverables
4. Responsibility Assignments
Responsibility
Pham Duc Anh Tuan
Vo Nhi Thanh Long
Vo Nhut Thanh Long
Le Duc Quang
17
Backend for system x x x x
DevOps x
Others x x x
5. Project Communications
Working with Supervisor (Nguyen Review documentation 1 time per Face to face
advisor The Hoang) week
Demonstrate features
6. Configuration Management
6.1 Document Management
We used Azure and Google for storing document:
● Using Google to save images, diagrams, etc.
● Azure provide a Page Project that contains a topic, content, comment features to discuss problems so
that we can review thereafter.
● Use Azure to create tasks, bugs, reports, etc., and then we apply SCRUM with dynamic time for the
sprints.
18
Reference: https://dev.azure.com/iTranslator/iTranslator/_boards/board/t/iTranslator%20Team/Issues
19
6.3 Tools & Infrastructures
Category Tools / Infrastructure
Diagramming Diagrams.net
20
III. Software Requirements Specification
1. Product Overview
The iTranslator Platform is a software system that connects the customers to the translator, provides
fast connect solutions to save time for the customers and the translators. The context diagram below
illustrates the external entities and system interfaces
2. User Requirements
2.1 Actors
# Actor Description
1 Administrator The administrators who are responsible for managing the system. Concretely,
they can manage permission, manage accounts, manage revenue.
2 Moderator The moderators who are responsible for managing projects, managing topic,
approving payment, chating and approving project. Moreover, they can view,
create, update category.
3 Customer The customers who are responsible for managing project and managing
payment. Moreover, they can chat and view history rating.
4 Translator The translators who are responsible for translating, managing invitation,
looking for project and sending project completion notice.
5 Guest Guests are customers who can visit the web pages.
Table 13 - Actors list and description
21
2.2 Use Cases
2.2.1 Diagram
22
2.2.2 Use Case List with description
ID Use Case Actors Description
Login Admin, Moderator, Customer, Translator Unauthenticated User login to iTranslator to verify role, and give them
UC02
access to more features in the system.
UC03 Logout Admin, Moderator, Customer, Translator This feature allows all user logout the system
UC04 View profile Admin, Moderator, Customer, Translator This feature allows all user view their profile
UC05 Update profile Admin, Moderator, Customer, Translator This feature allows users update their profile
UC06 View account Admin This feature allows admin view all accounts
UC07 Ban account Admin This feature allows admin ban account
UC08 View project Mod This feature allows mod view project
UC09 Reject project Mod This feature allows mod reject project
UC10 Approve project Mod This feature allows mod approve project
UC11 View rating Mod This feature allows mod view rating
UC12 View category Mod This feature allows mod view category
UC13 Create category Mod This feature allows mod create a new category
UC14 Update category Mod This feature allows mod update category
23
UC15 View topic Mod This feature allows mod view topic
UC16 Create topic Mod This feature allows admin create a new topic
UC17 Update topic Mod This feature allows mod updates topic
UC18 Approve payment Mod This feature allows mod approve payment
UC19 Chat Mod, Customer, Translator This feature allows mod, customer, translator chat to the other.
UC20 View language Mod This feature allows mod view language
UC21 Add language Mod This feature allows mod add language
UC22 Edit language Mod This feature allows mod edit language
UC23 View achievement Mod This feature allows mod view achievement
UC24 Add achievement Mod This feature allows mod add achievement
UC25 Edit achievement Mod This feature allows mod edit achievement
UC26 View project Customer This feature allows customer view project
UC27 Create project Customer This feature allows customer create new project
UC28 Delete project Customer This feature allows customer delete project
UC29 Edit project Customer This feature allows customer edit project
UC30 Search translator Customer This feature allows customer search translator
UC31 View Translator Customer This feature allows customer view translator
24
UC32 Rating project Customer This feature allows customer rating process
UC33 View process Customer This feature allows customer view process
UC34 View payment Customer This feature allows customer view payment
UC35 Make a payment Customer This feature allows customer make a payment
UC36 Withdraw money Customer, Translator This is feature allows customer withdraw money
UC37 View history rating Customer, Translator This feature allows customer, translator view history rating
UC38 Search project Translator This feature allows translator search project
UC39 View project Translator This feature allows translator view project
UC40 View translation experience Translator This feature allows translators view their experience
UC41 Update translation Translator This feature allows translator update translation of project
Send project completion Translator This feature allows the translator to send project completion notice.
UC42 notice
25
3. Functional Requirements
3.1 System Functional Overview
3.1.1 Screens Flow
3.1.1.1 <Admin> Web Application Screen Flow
26
3.1.1.3 <Customer> Web Application Screen Flow
27
3.1.1.4 <Translator> Web Application Screen Flow
28
3.1.2 Functional requirements
3.1.2.1 Accounts Management
No Actor Function Name Purpose Data requirements Data validation Business Rules
1 Admin View account View a account Account name Account name: BR-01
+ Type: text field (string) BR-35
+ Max Length= 200
2 Admin Ban account Ban a account Account Id BR-01
Account Status BR-36
BR-37
BR-38
Table 15 - Account Management Function
6 Translator Update translation Update the process of Project Id Link file: BR-03
project Link file + Type: text file
7 Translator Send project Send project Project Id BR-03
completion notice completion notice
8 Customer Create project Create a new project Project id Project id: BR-04
Project code + Type: text field (string) BR-18
Project name + Max Length= 50 BR-57
Category id Project code: BR-64
Topic id + Type: text field (string)
Project cost + Max Length= 50
Translator id Project name:
Source language id + Type: text field (string)
Target language id + Max Length= 200
Commission Category id:
Project start time + Type: text field (string)
Project end time + Max Length= 50
Project source Topic id:
Project finished product + Type: text field (string)
Project score + Max Length= 50
Customer id Project cost:
Create date + Type: text field (decimal)
Project status Translator id:
+ Type: text field (string)
+ Max Length= 50
Source language id:
+ Type: text field (string)
+ Max Length= 50
30
Target language id:
+ Type: text field (string)
+ Max Length= 50
Commission:
+ Type: text field (decimal)
Project start time:
+ Type: text field (datetime)
Project end time:
+ Type: text field (datetime)
Project source:
+ Type: text field (string)
+ Max Length= Max
Project finished product:
+ Type: text field (string)
+ Max Length= Max
Project score:
+ Type: text field (decimal)
Customer id:
+ Type: text field (string)
+ Max Length= 50
Create date:
+ Type: text field (datetime)
Project status:
+ Type: text field (string)
+ Max Length= 1
9 Customer Delete project Delete a project Project id BR-04
BR-55
10 Edit project Edit project Edit a project Project id Project id: BR-04
Project code + Type: text field (string) BR-54
Project name + Max Length= 50 BR-68
Category id Project code:
Topic id + Type: text field (string)
Project cost + Max Length= 50
Translator id Project name:
31
Source language id + Type: text field (string)
Target language id + Max Length= 200
Commission Category id:
Project start time + Type: text field (string)
Project end time + Max Length= 50
Project source Topic id:
Project finished product + Type: text field (string)
Project score + Max Length= 50
Customer id Project cost:
Create date + Type: text field (decimal)
Translator id:
+ Type: text field (string)
+ Max Length= 50
Source language id:
+ Type: text field (string)
+ Max Length= 50
Target language id:
+ Type: text field (string)
+ Max Length= 50
Commission:
+ Type: text field (decimal)
Project start time:
+ Type: text field (datetime)
Project end time:
+ Type: text field (datetime)
Project source:
+ Type: text field (string)
+ Max Length= Max
Project finished product:
+ Type: text field (string)
+ Max Length= Max
Project score:
+ Type: text field (decimal)
Customer id:
32
+ Type: text field (string)
+ Max Length= 50
Create date:
+ Type: text field (datetime)
Project status:
+ Type: text field (string)
+ Max Length= 1
11 Customer Search translator Search translator for Project name Project name: BR-04
project Translator name + Type: text field (string)
+ Max Length= 200
Translator name:
+ Type: text field (string)
+ Max Length= 200
12 Customer View translator View translator’s List translator’s information: BR-04
information translator’s information table
13 Customer Rating project Rating for the product Project id Score: BR-04
of translator Score + Type: button
14 Customer View process View a process of Project name Project name: BR-04
project + Type: text field (string)
+ Max Length= 200
Table 16 - Project Manage Function
3.1.2.3 Authenticate
No Actor Function Name Purpose Data requirements Data validation Business
Rules
1 Admin, Login Login to website Username Username: BR-01
Moderator, Password + Type: text field(string) BR-02
Translator, + Max Length= 200 BR-03
Customer Password: BR-04
+ Type: text field(string)
+ Max Length= 100
33
Table 17 - Authenticate Function
2 Admin, Update profile Update new data for Name Name: BR-01
Moderator, profile Email + Type: text field(string) BR-02
Translator, Password + Max Length = 200 BR-03
Customer Address Email: BR-04
Phone + Type: text field(string) BR-09
+ Max Length= 50 BR-23
Password: BR-24
+ Type: text field(string) BR-25
+ Max Length= 100 BR-26
Address: BR-27
+ Type: text field(string) BR-28
+ Max Length= 1000
Phone:
+ Type: text field(string)
+ Max Length= 12
Table 18 - Profile Management Function
34
3.1.2.5 Register
No Actor Function Name Purpose Data requirements Data validation Business Rules
1 Guest Register Register account Name Name: BR-23
Email + Type: text field(string) BR-24
Password + Max Length = 200 BR-25
Address Email: BR-26
Phone + Type: text field(string) BR-27
+ Max Length= 50 BR-28
Password: BR-34
+ Type: text field(string)
+ Max Length= 100
Address:
+ Type: text field(string)
+ Max Length= 1000
Phone:
+ Type: text field(string)
+ Max Length= 12
Table 19 - Register Function
35
Category name:
+ Type: text field(string)
+ Max Length= 200
2 Moderator Create category Create a new Category name Category name: BR-02
category BR-12
Category status + Type: text field(string)
BR-13
Category note + Max Length= 200 BR-41
BR-42
Category note: BR-43
+ Type: text field(string) BR-44
3 Moderator Update category Update category Category name Category name: BR-02
BR-29
Category note + Type: text field(string)
BR-45
Category status + Max Length= 200
Category note:
+ Type: text field(string)
+ Max Length= 2000
Category status:
+ Type: text field(string)
+ Max Length= 1
3 Moderator Update topic Update topic Topic name Topic name: BR-02
BR-30
Topic note + Type: text field(string)
Topic status + Max Length= 200
Topic note:
37
+ Type: text field(string)
+ Max Length= 200
Topic status:
+ Type: text field(string)
+ Max Length= 1
38
+ Max Length= 1
3 Moderator Update language Update language Language name Language name: BR-02
BR-31
Language commission + Type: text field(string)
Language notes + Max Length= 200
Language status Language commission:
+ Type: text field(decimal)
Language note:
+ Type: text field(string)
+ Max Length= 2000
Language status:
+ Type: text field(string)
+ Max Length= 1
2 Moderator Create achievement Create a new Achievement link Achievement link: BR-02
achievement BR-17
Achievement condition + Type: text field(string)
Achievement status Achievement condition:
39
+ Type: text field(string)
+ Max Length= 200
Achievement status:
+ Type: text field(string)
+ Max Length= 1
3 Moderator Update achievement Update achievement Achievement link Achievement link: BR-02
BR-32
Achievement condition + Type: text field(string)
Achievement status Achievement condition:
+ Type: text field(string)
+ Max Length= 200
Achievement status:
+ Type: text field(string)
+ Max Length= 1
3.1.2.10 Chat
No Actor Function Name Purpose Data requirements Data validation Business
Rules
1 Moderator, Chat Chat with another user in Account id BR-02
Translator, the system Account name BR-03
Customer BR-04
Table 24 - Chat Function
40
3.1.2.11 Payment Management
No Actor Function Name Purpose Data requirements Data validation Business
Rules
1 Customer View payment View the payment None BR-04
2 Customer Make a payment Make a new payment Amount Amount: BR-04
+ Type: text field(decimal)
3 Customer, Withdraw Withdraw money Amount Amount: BR-03
Translator Email + Type: text field(decimal) BR-04
Email:
+ Type: text field(string)
+ Max Length = 50
Table 25 - Payment Management Function
41
3.1.3 Screen Authorization
Register x
Login x x x x
Dashboard x x x x x
Category x
Language x
Topic x
Achievement x
Project x x x
Process x x
Account x
Invitation x x
Request x x
Banking x x x
42
3.1.4 Non-Screen Functions
Logical ERD
43
Figure 10 - Logical entity relationship diagram
44
code Code’s project
45
estimate_time Estimate time
46
maker_id Unique identifier of system customer
47
name name of achievement
48
language_id Unique identifier of system language
signalrld Id of signalR
4. Non-Functional Requirements
4.1 External Interfaces
4.1.1 User Interfaces
- All the texts, labels and should be written in Vietnamese.
4.2 Quality Attributes
4.2.1 Usability
- Admin, moderator should need less than one week of training to be productive in using the
system.
49
4.2.2 Reliability
- Admin, moderator should need training to be productive in using the system.
4.2.3 Performance
- All common response time is under 5 seconds (except define pickup points feature).
4.2.4 Design constraints
- Application use Vietnamese
4.2.5 Security
- Each role of user has a specific permission to interact with system
5. Requirement Appendix
5.1 Business Rules
ID Rule Definition
BR-07 When logged out successfully, the system will redirect to the login page.
BR-30 When a banned account login in system. The system has show message
BR-36 The account has translator role has four status: ready, free, busy, unactive
BR-37 The start time of project must be earlier than the end time
BR-39 Customer can only edit project when no translator joined the project
BR-40 Customer can only delete project when no translator joined the project
BR-41 When a customer deletes the project, the salary deducted will be refunded to
Customer’s balance.
51
BR-42 Customer can only create project when their balance more than project’s cost
BR-44 A login session with the web application lasts until the browser is closed and the users
log out of the system.
BR-49 One translator can join multiple project at the same time.
BR-50 After the translator submit the product, the system notify the moderator to approve
BR-57 When project is completed, if moderator does not accept the final product of
translator, the money will be refunded to the customer
BR-59 Level 1 depend on the rate of total page of project divide estimate time <= 5
BR-60 Level 2 depend on the rate of total page of project divide estimate time <= 15
BR-61 Level 3 depend on the rate of total page of project divide estimate time <= 25
BR-62 Level 4 depend on the rate of total page of project divide estimate time <= 35
BR-63 Level 5 depend on the rate of total page of project divide estimate time <= 50
BR-64 Project has the rate of total page of project divide estimate time > 50 will be reject
Table 30 - Business rules
52
5.2 Application Messages List
1 MSG01 Toast message Added new record successfully Tạo mới * thành công
3 MSG03 Toast message Deleted record successfully Cập nhật trạng thái
thành công
7 MSG07 Error message, Input-required fields are not valid * không đúng
text color red,
beside label of
text box
9 MSG09 Error message, Interval Server Error, Request is not * lỗi hệ thống
response valid and still send to server
53
IV. Software Design Description
1. System Design
1.1 System Architecture Overview
- The iTranslator system consists of two components, the .NET Core web server provides APIs, Angular is
used for the web application. Angular is used for web applications. Web application is provide for
admin, moderator, customer and translator.
- iTranslator System uses several third-party services such as Azure Storage to store user’s database,
SignalR for push notification and Paypal for payment
54
1.2 Package Diagram
1.2.1 Web API Package Diagram
55
1.2.2 Web Application Package Diagram
56
2. Database Design
Table Descriptions
No Table Description
57
15 translator_language Describe language of translator in the system
58
translator_id Foreign key, translator varchar(50) No
identifier
59
code Code of category varchar(50) No
60
create_dt Rating creation date datetime No
61
link_achievement Link of achievement varchar(500) No
62
translator_language id{PK} Unique identifier of varchar(50) No
translator’s language
63
3. Detailed Design
3.1 Project Management Feature
3.1.1 Class Diagram
64
9 acceptTranslator(requestId: string) handles accept translator
65
3.1.3 Activity Diagram
3.1.3.1 Create Project Activity Diagram
66
3.1.3.2 View Project Activity Diagram
67
3.1.3.3 Edit Project Activity Diagram
68
3.1.3.4 Delete Project Activity Diagram
69
3.1.4 Create Project Sequence Diagram
70
3.1.5 Create Project State Machine Diagram
71
3.2.2 Class Specification
a. Process Service
No Method Description
72
3.2.3 Activity Diagram
3.2.3.1 View Process Activity Diagram
73
3.2.4 Create Process Sequence Diagram
74
3.3 Payment Management Feature
3.3.1 Class Diagram
75
3.3.3 Activity Diagram
3.3.3.1 View Payment History Activity Diagram
76
3.3.3.2 Deposit Activity Diagram
77
3.3.3.3 Withdraw Activity Diagram
78
3.3.4 Deposit Sequence Diagram
79
3.3.5 Withdraw Sequence Diagram
80
3.4 Activity Diagram Order
3.4.1 <Admin> View account
81
3.4.2 <Admin> Ban account
82
3.4.3 <Mod> Create category
83
3.4.4 <Mod> Create topic
84
3.4.5 <Mod> Create language
85
3.4.6 <Mod> Create achievement
86
3.4.7 <Mod> View project
87
3.4.8 <Mod> View topic
88
3.4.9 <Mod> View category
89
3.4.10 <Mod> View language
90
3.4.11 <Mod> View achievement
91
3.4.12 <Mod> Approve project
92
3.4.13 <Mod> Reject project
93
3.4.14 <Mod> Update topic
94
3.4.14 <Customer> Create project
95
3.4.15 <Customer> View project
96
3.4.16 <Customer> View translator
97
3.4.17 <Customer> View process
98
3.4.18 <Customer> View history rating
99
Figure 50 - <Activity Diagram> Customer accept translator into project
100
3.4.19 <Customer> Reject translator into project
101
3.4.20 <Customer> Delete project
102
3.4.21 <Customer>Login
103
3.4.21 <Customer> Logout
104
3.4.22 <Translator> View history rating
105
3.4.23 <Translator> View invitation
106
3.4.24 <Translator> View project
107
3.4.25 <Translator> Approve invitation
108
3.4.26 <Translator> Reject invitation
109
3.4.27 <Translator> Request to join project
110
V. Software Testing Documentation
1. Overall Description
1.1 Test Scope
We plan to define test cases in main flow only.
2. Test Plan
2.1 Test Stages
Test Level
Type of Test
Unit Integration System Acceptance
Function Testing X
2.2 Resources
Worker Role Specific Responsibilities
Phạm Đức Anh Tuấn Member Planning, execute, verify test result
Table 38 - Resources
2.3 Test Milestones
No. Deliverables Due Date
TestDocuments\2023.Spring-_-iTranslator-_-
User Acceptance Test
Capstone-Project-_-Test-Report.xlsx
112
VI. Release Package & User Guides
1. Deliverable Package
1.1 Source codes & documents
Code Package
Database
Documents
2. Installation Guides
2.1 System Requirements
2.1.1 Web application
PC Minimum Recommend
Internet connection LAN, internet access capability LAN, Wi-fi (16 Mbps)
113
Database SqlServer 19
+ Extracting: iTranslator.API.zip
114
Figure 62 - Setup Backend Api
+ Run project
115
Figure 64 - Setup Backend Api
116
2.3.3 Setup Management Web
+ Install Visual Studio Code by following guidelines link:
https://thaynhuom.edu.vn/cai-visual-studio-code-lap-trinh-c-c/
+ Install npm through Visual Studio Code or you can install npm via NodeJS https://nodejs.org/en/
117
3 User Manual
3.1 Overview
- Admin manage project, rating, category and type
- Moderator manage projects, categories, topic, problem report, languages, achievements also they can
approve payment, chat, view rating
- Customer manage projects, payments and they can chat, view history rating
- Translator manage invitation, they also can search project, view project, request to join project, view
translated experience, update translation, send project completion notice and withdraw moneyf
3.2 Application Usage
118
1. Enter username: imod
2. Enter password: 123456
3. Click “đăng nhập”
3.2.2 Moderator search language
1. Click “Thêm”
2. Fill all information
3. Click “Lưu”
119
3.2.4 Moderator update, view information, delete language
120
1. Click “Thêm”
2. Fill all information
3. Click “Lưu”
3.2.7 Moderator update, view information, delete category
121
1. Click “Quản lý danh mục”
1. Click “Thêm”
3. Click “Lưu”
122
3.2.10 Moderator update, view information, delete topic
123
3.2.12 Customer create project
124
1. Click “Thêm”
3. Click “Lưu”
125
3.2.14 Moderator approved project
126
1. Click “Tìm kiếm” project
3. Click “Duyệt”
4. Click “Đồng ý”
127
1. Click “Tìm kiếm”
2. Click “Join”
128
1. Click “Tìm kiếm”
2. Click “Thêm”
4. Click “Lưu”
129
5. Click “Nộp bài”
130
1. Click “Tìm kiếm” project
3. Click “Duyệt”
4. Click “Đồng ý”
131
3.2.19 Customer and Translator deposit
132
133
1. Click “nạp/ rút tiền”
2. Enter amount
4. Enter password
6. Click “Nộp”
134