0% found this document useful (0 votes)
13 views134 pages

2023.spring - ITranslator - Final Report-2

The document outlines the capstone project titled 'iTranslator' developed by a team from FPT University, focusing on creating a web application to improve translation services for readers in Vietnam. It includes project information, team members, product background, and existing systems related to translation services. The project aims to address the challenges of reading comprehension across languages by providing a user-friendly translation tool.

Uploaded by

Reinir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views134 pages

2023.spring - ITranslator - Final Report-2

The document outlines the capstone project titled 'iTranslator' developed by a team from FPT University, focusing on creating a web application to improve translation services for readers in Vietnam. It includes project information, team members, product background, and existing systems related to translation services. The project aims to address the challenges of reading comprehension across languages by providing a user-friendly translation tool.

Uploaded by

Reinir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 134

MINISTRY OF EDUCATION AND TRAINING

FPT UNIVERSITY

Capstone Project Document

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

Capstone Project code SP23SE38

- Ho Chi Minh, April 2023 -


Table of Contents
Table of Contents .............................................................................................................................................. 2

List of Tables ..................................................................................................................................................... 5

List of Figures .................................................................................................................................................... 6

Acknowledgements ........................................................................................................................................... 8

Definition and Acronyms ................................................................................................................................... 9

I. Project Introduction ..................................................................................................................................... 10

1. Overview ............................................................................................................................................. 10

1.1 Project Information .................................................................................................................... 10

1.2 Project Team .............................................................................................................................. 10

2. Product Background ............................................................................................................................. 10

3.1 Fiverr.......................................................................................................................................... 11

3.2 ProZ ........................................................................................................................................... 11

4. Business Opportunity ........................................................................................................................... 11

5. Software Product Vision ....................................................................................................................... 12

6. Project Scope & Limitations ................................................................................................................. 12

6.1 Major Features ........................................................................................................................... 12

6.2 Limitations ................................................................................................................................. 13

II. Project Management Plan ........................................................................................................................... 14

1. Overview ............................................................................................................................................. 14

1.1 Scope & Estimation .................................................................................................................... 14

1.2 Project Objectives ...................................................................................................................... 15

1.3 Project Risks ............................................................................................................................... 15

2. Management Approach ....................................................................................................................... 16

2.1 Project Process ........................................................................................................................... 16

2.2 Quality Management.................................................................................................................. 16

2.3 Training Plan .............................................................................................................................. 16

3. Project Deliverables ............................................................................................................................. 17

4. Responsibility Assignments .................................................................................................................. 17

5. Project Communications ...................................................................................................................... 18


2
6. Configuration Management ................................................................................................................. 18

6.1 Document Management............................................................................................................. 18

6.2 Source Code Management ......................................................................................................... 19

6.3 Tools & Infrastructures ............................................................................................................... 20

III. Software Requirements Specification ......................................................................................................... 21

1. Product Overview ................................................................................................................................ 21

2. User Requirements .............................................................................................................................. 21

2.1 Actors ......................................................................................................................................... 21

2.2 Use Cases ................................................................................................................................... 22

3. Functional Requirements ..................................................................................................................... 26

3.1 System Functional Overview ....................................................................................................... 26

3.2 Entity Relationship Diagram........................................................................................................ 43

4. Non-Functional Requirements.............................................................................................................. 49

4.1 External Interfaces...................................................................................................................... 49

4.2 Quality Attributes ....................................................................................................................... 49

5. Requirement Appendix ........................................................................................................................ 50

5.1 Business Rules ............................................................................................................................ 50

5.2 Application Messages List ........................................................................................................... 53

IV. Software Design Description....................................................................................................................... 54

1. System Design...................................................................................................................................... 54

1.1 System Architecture Overview.................................................................................................... 54

1.2 Package Diagram ........................................................................................................................ 55

2. Database Design .................................................................................................................................. 57

3. Detailed Design .................................................................................................................................... 64

3.1 Project Management Feature............................................................................................................. 64

3.2 Process Management Feature ............................................................................................................ 71

3.3 Payment Management Feature .......................................................................................................... 75

3.4 Activity Diagram Order ....................................................................................................................... 81

V. Software Testing Documentation .............................................................................................................. 111

1. Overall Description ............................................................................................................................ 111

3
1.1 Test Scope ................................................................................................................................ 111

1.2 Test Model ............................................................................................................................... 111

1.3 Testing Levels ........................................................................................................................... 111

2. Test Plan ............................................................................................................................................ 111

2.1 Test Stages ............................................................................................................................... 111

2.2 Resources ................................................................................................................................. 111

2.3 Test Milestones ........................................................................................................................ 111

3. Test Cases and Test Reports .............................................................................................................. 112

VI. Release Package & User Guides ................................................................................................................ 113

1. Deliverable Package ........................................................................................................................... 113

1.1 Source codes & documents ...................................................................................................... 113

1.2 Known Issues, Limitations & Restrictions .................................................................................. 113

2. Installation Guides ............................................................................................................................. 113

2.1 System Requirements ............................................................................................................... 113

2.2 Setup Files ................................................................................................................................ 114

2.3 Installation Instruction.............................................................................................................. 114

3 User Manual ....................................................................................................................................... 118

3.1 Overview .................................................................................................................................. 118

3.2 Application Usage..................................................................................................................... 118

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

ERD Entity Relationship Diagram

GUI Graphical User Interface

PM Project Manager

SDD Software Design Description

SRS Software Requirement Specification

UAT User Acceptance Test

UC Use Case

API Application Programming Interface

BE Backend

FE Frontend

Table 1 - Definition and Acronyms

9
I. Project Introduction
1. Overview
1.1 Project Information
• Project name: iTranslator
• Project code: SP23SE38
• Group name: GSP23SE29
• Software type: Web Application

1.2 Project Team


a. Supervisors

Full Name Role Email Mobile

Nguyễn Thế Hoàng Lecturer [email protected] 0986.628.525

Table 2 - Supervisors

b. Team Members

Full Name Role Email Mobile

Võ Nhứt Thanh Long Leader [email protected] 0865.416.142

Võ Nhị Thanh Long Member [email protected] 0865.416.143

Phạm Đức Anh Tuấn Member [email protected] 0932.178.403

Lê Đức Quang Member [email protected] 0375.152.247

Table 3 - 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

for customers to hire.


 System actor:

+ 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

+ Advantages: Safe, diverse products, reputable suppliers, friendly interface.


+ Disadvantages: Only allow sellers to post, but not actively find customers waiting to use
the service. Less choice of service packages.
3.2 ProZ
 Link: https://www.proz.com/

 Description: ProZ.com's mission is to empower language industry professionals to achieve their


business objectives and realize their full potential. ProZ.com does this by: being committed to
member success, providing access to state-of-the-art tools, educating and inspiring, and
fostering collaboration among positive, like-minded professionals.
 System actors:
+ 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
+ Advantages: Safe, diverse products, reputable suppliers, friendly interface.
+ Disadvantages: Only allow sellers to post, but not actively find customers waiting to use
the service. Less choice of service packages.
4. Business Opportunity
The customers who need to translate the project such as film, manga,.. are increasing day by
day. It is quite difficult to find the suitable platform. Meanwhile, translation systems that
already exist in the market to connect customers and translators often have a scope of

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.

5. Software Product Vision


For customers, they can find suitable translators. Translators can find suitable projects for their
demand through iTranslator which directly introduce and provide product information to the
customer . Thanks to iTranslator, customers and translators can easily connect together.

6. Project Scope & Limitations


6.1 Major Features
 Admin:
+ FE-01: View, ban account
+ FE-02: Manage permission
+ FE-03: Manage revenue
 Moderator:
+ FE-04: View, reject, approve project
+ FE-05: View rating
+ FE-06: View, create, update category
+ FE-07: View, create, update topic
+ FE-08: Approve payment
+ FE-09: View, add, edit language
+ FE-10: View, add, edit achievement
+ FE-11: Chat
 Customer:
+ FE-12: View, create, delete, edit project
+ FE-13: Search, view, invite, accept, reject translator
+ FE-14: Rate project
+ FE-15: View process of project
+ FE-16: View payment
+ FE-17: Make a Payment
+ FE-18: View history rating
+ FE-19: Withdraw money
+ FE-20: Chat
 Translator:
+ FE-21: View, accept, reject invitation
+ FE-22: Search project
+ FE-23: View project
+ FE-24: Request to join project
+ FE-25: View translation experience
+ FE-26: Update 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.2 Project Objectives


# Testing Stage No. of % of Notes
Defects Defect

1 Reviewing

2 Unit Test

3 Integration Test

4 System Test

Table 6 - Project Objectives

1.3 Project Risks


# Risk Description Impact Possibility Response Plans

1 High weight points are Critical Medium Assign more members and spend more
skewed to Frontend time doing frontend tasks.

Table 7 - Project Risks

15
2. Management Approach
2.1 Project Process

References: https://www.pm-partners.com.au/the-agile-journey-a-scrum-overview/

Figure 1 - Scum process

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

2.3 Training Plan

Training Area Participants When, Duration Waiver Criteria

.Net API Framework Võ Nhứt Thanh Long, Week 1 - 6 days Mandatory


Lê Đức Quang,
Phạm Đức Anh Tuấn

16
DevOps tools (Docker, Github, Võ Nhứt Thanh Long, Week 1 - 3 days Mandatory
Jenkin…) Võ Nhị Thanh Long

Angular 2.0 Võ Nhị Thanh Long, Week 1 - 6 days Mandatory


Lê Đức Quang

Research Third-party Phạm Đức Anh Tuấn, Week 1 - 3 days Mandatory


Lê Đức Quang

Table 8 - Training plan

3. Project Deliverables

# Deliverable Due Date Notes

1 Project Plan Document 1/1/2023 Almost completing the project plan

2 Use case specification 12/1/2023 Functional Requirement

3 Design documents 20/3/2023 UI design, Architecture design

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

Front end web x x

DevOps x

Others x x x

Table 10 - Responsibility Assignments

5. Project Communications

Communication Who/ Target Purpose When, Type, Tool,


Item Frequency Method(s)

Working with Supervisor (Nguyen  Review documentation 1 time per Face to face
advisor The Hoang) week
 Demonstrate features

 Evaluate progress and result

Working with Team members  Raise problem Always Messenger,


team Google meet,
 Review source code
and Face to
 Evaluate progress and result face

Table 11 - Project Communications

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.

Below is the screenshot of Azure:

18
Reference: https://dev.azure.com/iTranslator/iTranslator/_boards/board/t/iTranslator%20Team/Issues

Figure 2 - Document management

6.2 Source Code Management


Creating an organisation that covered 3 source projects for FE, BE. We can define many rules in the
organisation that will apply to all projects.
- In each source project, we created a dev branch that will be cloned from other branches for
building features. After that, we made a pull request from the dev to the master branch that is
deployed into the server.
- During pull request, merged codes will be sent to the server for passing pipelines and accept
merge thereafter.

19
6.3 Tools & Infrastructures
Category Tools / Infrastructure

Technology Angular (FrontEnd), C# .Net 5 (BackEnd)

Database SQL Server 2019

IDEs/Editors Visual Studio Code, Visual Studio 2019

Diagramming Diagrams.net

Documentation Ms Office, Google Docs/ Sheets/ Slides

Version Control Azure(Source Code), Google Drive(Documents)

Deployment server Azure

Project management Azure(Task management), Google Drive(Media files management)

Table 12 - Tools & Infrastructures

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

Figure 3 - Context diagram

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

Figure 4 - <Use case overview> iTranslator Web Application

22
2.2.2 Use Case List with description
ID Use Case Actors Description

UC01 Register Guest Guest register for account

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

Table 14 - Use Case list

25
3. Functional Requirements
3.1 System Functional Overview
3.1.1 Screens Flow
3.1.1.1 <Admin> Web Application Screen Flow

Figure 5 - <Screen flow diagram> Admin web application

3.1.1.2 <Moderator> Web Application Screen Flow

Figure 6 - <Screen flow diagram> Moderator web application

26
3.1.1.3 <Customer> Web Application Screen Flow

Figure 7 - <Screen flow diagram> Customer web application

27
3.1.1.4 <Translator> Web Application Screen Flow

Figure 8 - <Screen flow diagram> Translator web application

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

3.1.2.2 Project management


No Actor Function Name Purpose Data requirements Data validation Business Rules
1 Moderator, View project View list project Project code Project code: BR-02
Customer, Project name + Type: text field (string) BR-03
Translator + Max Length= 50 BR-04
Project name:
+ Type: text field (string)
+ Max Length= 200
2 Moderator Reject project Reject a project Project id Project code: BR-02
Project code + Type: text field (string) BR-46
+ Max Length= 50 BR-52
BR-53
3 Moderator Approve project Approve a project Project id BR-02
BR-47
BR-51
BR-53
4 Translator Search project Search project Project code Project code: BR-02
Project name + Type: text field (string) BR-59
+ Max Length= 50
29
Project name:
+ Type: text field (string)
+ Max Length= 200
5 Translator Request join to project Create a request Project Id Project code: BR-03
Project code + Type: text field (string) BR-69
+ Max Length= 50

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

3.1.2.4 Profile Management


No Actor Function Name Purpose Data requirements Data validation Business Rules
1 Admin, View profile View profile Profile: profile table BR-01
Moderator, BR-02
BR-03
Translator,
BR-04
Customer BR-08

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

3.1.2.6 Categories Management


No Actor Function Name Purpose Data requirements Data validation Business
Rules
1 Moderator View category View a category Category code Category code: BR-02
Category name + Type: text field(string)
+ Max Length= 50

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

+ Max Length= 2000


Category status:
+ Type: text field(string)
+ Max Length= 1

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

Table 20 - Categories Management Function


36
3.1.2.7 Topics Management
No Actor Function Name Purpose Data requirements Data validation Business
Rules
1 Moderator View topic View a topic Topic code Topic code: BR-02
Topic name + Type: text field(string)
+ Max Length= 50
Topic name:
+ Type: text field(string)
+ Max Length= 200
2 Moderator Create topic Create a new topic Topic name Topic name: BR-02
BR-14
Topic note + Type: text field(string)
BR-15
Topic status + Max Length= 200
Topic note:
+ Type: text field(string)
+ Max Length= 2000
Topic 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

Table 21 - Topic Management Function

3.1.2.8 Languages Management


No Actor Function Name Purpose Data requirements Data validation Business
Rules
1 Moderator View language View a language Language name Language name: BR-02
+ Type: text field(string)
+ Max Length= 200
2 Moderator Create language Create a new Language name Language name: BR-02
language BR-16
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)

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

Table 22 - Languages Management Function

3.1.2.9 Achievement Management


No Actor Function Name Purpose Data requirements Data validation Business
Rules
1 Moderator View achievement View a achievement Achievement condition BR-02

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

Table 23 - Achievement Management Function

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

3.1.2.12 Invitation Management


No Actor Function Name Purpose Data requirements Data validation Business
Rules
1 Translator View invitation View the invitation Project name Project name: BR-03
Translator name + Type: text field (string)
+ Max Length= 200
Translator name:
+ Type: text field (string)
+ Max Length= 200
2 Translator Accept invitation Accept the invitation Translator id BR-03
of customer Project id
3 Translator Reject invitation Reject the invitation Translator id BR-03
of customer Project id
Table 26 - Invitation Management Function

41
3.1.3 Screen Authorization

3.1.3.1 Web Application Screen Authorization

Screen Admin Moderator Customer Translator Guest

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

Table 27 - <Screen authorization> Web application

42
3.1.4 Non-Screen Functions

# System function Description

1 Push notification System push notification to customers and translator

Table 28 - Non-screen functions

3.2 Entity Relationship Diagram


 Conceptual ERD

Figure 9 - Conceptual entity relationship diagram

 Logical ERD

43
Figure 10 - Logical entity relationship diagram

Entity Name Attributes Description

account tlname_id {PK} Unique identifier of system account

name Name’s account

email Registered email

password Account’s password

address User’s role

phone Account’s status

role_id Unique identifier of system role

status Account’s status

project id{PK} Unique identifier of project

44
code Code’s project

name Name’s project

category_id Unique identifier of system category

topic_id Unique identifier of system topic

cost Cost of project

translator_id Unique identifier of system translator

source_language_id Unique identifier of system language

target_language_id Unique identifier of system language

commission Commission of project

start_time Start time of project

end_time End time of project

source Source of project

finished_product Product of translator for project

score Score of project

maker_id Unique identifier of system customer

create_dt project creation date

checker_id Unique identifier of system account

approve_dt project approval date

record_status Status of project

total_page Total page of project

45
estimate_time Estimate time

category id{PK} Unique identifier of category

code Code of category

name Name of category

note Note of category

record_status Status of category

topic id{PK} Unique identifier of topic

code Code of topic

name Name of topic

note Note of topic

record_status Status of topic

language id{PK} Unique identifier of language

name Name of language

note Note of language

commission Commission of language

price_per_page Price per page

record_status Status of language

rating id{PK} Unique identifier of rating

note Note of rating

project_id Unique identifier of system project

46
maker_id Unique identifier of system customer

create_dt Rating creation date

record_status Status of rating

customer id{PK} Unique identifier of customer

account_id Unique identifier of system account

amount amount of customer

translator id{PK} Unique identifier of translator

account_id Unique identifier of system account

amount Amount of translator

score Score of the translator

link_cv Link cv of translator

ready_status Ready status

process id{PK} Unique identifier of process

link_file Link file of process

create_dt Process update date

project_id Unique identifier of system project

maker_id Unique identifier of system translator

notes Note of process

status Status of process

achievement id{PK} Unique identifier of achievement

47
name name of achievement

record_status Status of achievement

request id{PK} Unique identifier of request

project_id Unique identifier of system project

maker_id Unique identifier of system translator

create_dt Request creation date

record_status Status of request

invitation id{PK} Unique identifier of invitation

project_id Unique identifier of system project

receiver_id Unique identifier of system translator

create_dt Invitation creation date

record_status Status of invitation

role id{PK} Unique identifier of role

name Name of role

note Note of role

translator_achievement id{PK} Unique identifier of translator’s achievement

translator_id Unique identifier of system translator

achievement _id Unique identifier of system achievement

translator_language id{PK} Unique identifier of translator’s language

translator_id Unique identifier of system translator

48
language_id Unique identifier of system language

ITRANS_MESSAGES id{PK} Unique identifier of itrans_messages

senderId Foreign key, account identifier

receiverId Foreign key, account identifier

content Content of chat

timeStamp Time of chat

ITRANS_CONNECTIONS id{PK} Unique identifier of itrans_connections

personId Foreign key, account identifier

signalrld Id of signalR

timestamp Time of create

PaypalHistory id{PK} Unique identifier of paypal history

userId Unique identifier of system account

amount amount of transaction

transactionType Type of transaction

createDate Transaction creation date

Table 29 - Logic entities and attributes description

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-01 Admin have to login by admin account.

BR-02 Moderator have to login by moderator account.

BR-03 Translators have to login by translator account.

BR-04 Customers have to login by customer account.

BR-05 There is one admin account in system.

BR-06 There is one moderator account in system.

BR-07 When logged out successfully, the system will redirect to the login page.

BR-08 User can view profile after login to system

BR-09 User can update profile after login to system

BR-10 Username must be unique.

BR-11 Id category will be generated by the system.

BR-12 Code category will be generated by the system.

BR-13 Id topic will be generated by the system.

BR-14 Code topic will be generated by the system.

BR-15 Id language will be generated by the system.

BR-16 Id achievement will be generated by the system.

BR-17 Id project will be generated by the system.


50
BR-18 Code project will be generated by the system.

BR-19 Id process will be generated by the system.

BR-20 Status default of new account translator is unactive

BR-21 Username cannot be updated

BR-22 Id category cannot change when updated

BR-23 Id topic cannot change when updated

BR-24 Id language cannot change when updated

BR-25 Id achievement cannot change when updated

BR-26 Id account cannot change when updated

BR-27 Customer can search only translator account’s information

BR-28 Customer can view detail only translator account’s information

BR-29 Only the admin can ban account

BR-30 When a banned account login in system. The system has show message

BR-31 Moderator reject the project must write the reason

BR-32 Only the moderator can create category

BR-33 Only the moderator can update category

BR-34 Only the moderator can reject project

BR-35 The account has two status: active and unactive

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-38 Moderator is expert in translation

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-43 Modeator add translator appropriate to project

BR-44 A login session with the web application lasts until the browser is closed and the users
log out of the system.

BR-45 Type of date/datetime must be valid with format : dd/mm/yyyy

BR-46 User can’t login with account is banned

BR-47 One project just has one translator

BR-48 If a project is started. It can’t be deleted

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-51 The commission of the system depend on language

BR-52 Translator can withdraw money through the paypal

BR-53 Translator can view their translate experience

BR-54 Translator can view their translated project

BR-55 Customer can deposit their balance through paypal

BR-56 1$ = 1 cent in systems

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-58 Project have 5 type of level: 1, 2 , 3, 4 ,5

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

# Message Message Type Context Content


code

1 MSG01 Toast message Added new record successfully Tạo mới * thành công

2 MSG02 Toast message Updated record successfully Cập nhật * thành


công

3 MSG03 Toast message Deleted record successfully Cập nhật trạng thái
thành công

4 MSG04 Toast message Authentication failed Tài khoản hoặc mật


khẩu không đúng

5 MSG05 Toast message Request is not valid * không thành công

6 MSG06 Delete confirm Click delete record Bạn có chắc muốn


message xóa * này?

7 MSG07 Error message, Input-required fields are not valid * không đúng
text color red,
beside label of
text box

8 MSG08 Error message, Input-required fields are empty * không được bỏ


color red, under trống
text box

9 MSG09 Error message, Interval Server Error, Request is not * lỗi hệ thống
response valid and still send to server

Table 31 - Application messages

53
IV. Software Design Description
1. System Design
1.1 System Architecture Overview

Figure 11 - System architecture

- 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

Figure 12 - Web API Package Diagram

55
1.2.2 Web Application Package Diagram

Figure 13 - Web Application Package Diagram

56
2. Database Design

Figure 14 - Database Design

Table Descriptions

No Table Description

01 account Describe account in the system

02 project Describe project in the system

03 category Describe category in the system

04 topic Describe topic in the system

05 Language Describe language in the system

06 rating Describe rating in the system

07 customer Describe customer in the system

08 translator Describe translator in the system

09 process Describe process in the system

10 achievement Describe achievement in the system

11 request Describe request in the system

12 invitation Describe invitation in the system

13 role Describe role in the system

14 translator_achievement Describe achievement for translator in the system

57
15 translator_language Describe language of translator in the system

16 ITRANS_MESSAGES Describe message between mod and translator or customer

17 ITRANS_CONNECTIONS Describe who is online

18 PaypalHistory Describe money transaction of customer and translator in the


system
Table 32 - Table Data Descriptions

Attribute Data Dictionary

Entity Name Attributes Description Domain Null

account tlname_id {PK} Unique identifier of varchar(50) No


system account

name Name’s account nvarchar(200) No

email Registered email nvarchar(50) No

password Account’s password varchar(100) No

address User’s role nvarchar(1000) No

phone Account’s status varchar(12) No

role_id Foreign key, role nvarchar(10) No


identifier

status Account’s status int No

project id{PK} Unique identifier of varchar(50) No


project

code Code’s project varchar(50) No

name Name’s project nvarchar(200) No

category_id Foreign key, category varchar(50) No


identifier

topic_id Foreign key, topic varchar(50) No


identifier

cost Cost of project decimal(32,2) No

58
translator_id Foreign key, translator varchar(50) No
identifier

source_language_id Foreign key, language varchar(50) No


identifier

target_language_id Foreign key, language varchar(50) No


identifier

commission Commission of project decimal(32,2) No

start_time Start time of project datetime No

end_time End time of project datetime No

source Source of project nvarchar(max) No

finished_product Product of translator for nvarchar(max) No


project

score Score of project decimal(32,2) No

maker_id Foreign key, customer varchar(50) No


identifier

create_dt Project creation date datetime No

checker_id Foreign key, account nvarchar(50) No


identifier

approve_dt Project approval date datetime No

record_status Status of project nvarchar(1) No

level Level of project nvarchar(10) No

reason_reject Reason of rejection nvarchar(max) No

total_page Total page decimal(32,2) No

estimate_time Estimate time decimal(32,2) No

category id{PK} Unique identifier of varchar(50) No


category

59
code Code of category varchar(50) No

name Name of category nvarchar(200) No

note Note of category nvarchar(200) Yes

record_status Status of category nvarchar(1) No

topic id{PK} Unique identifier of varchar(50) No


topic

code Code of topic varchar(50) No

name Name of topic nvarchar(200) No

note Note of topic nvarchar(200) No

record_status Status of topic nvarchar(1) No

language id{PK} Unique identifier of varchar(50) No


language

name Name of language nvarchar(200) No

note Note of language nvarchar(200) Yes

commission Commission of decimal(32,2) No


language

price_per_page Price per page decimal(32,2) No

record_status Status of language nvarchar(1) No

rating id{PK} Unique identifier of varchar(50) No


rating

note Note of rating nvarchar(200) Yes

project_id Foreign key, project varchar(50) No


identifier

maker_id Foreign key, customer nvarchar(50) No


identifier

60
create_dt Rating creation date datetime No

record_status Status of rating nvarchar(1) No

customer id{PK} Unique identifier of varchar(50) No


customer

account_id Foreign key, account varchar(50) No


identifier

amount amount of customer decimal(32,2) No

translator id{PK} Unique identifier of varchar(50) No


translator

account_id Foreign key, account varchar(50) No


identifier

amount Amount of translator decimal(32,2) No

score Score of the translator float No

link_cv Link cv of translator varchar(500) No

ready_status Status of translator nvarchar(50) No

process id{PK} Unique identifier of varchar(50) No


process

link_file Link file of process varchar(500) No

create_dt Process update date datetime No

project_id Foreign key, project varchar(50) No


identifier

maker_id Foreign key, translator varchar(50) No


identifier

status Status of process Nvarchar(1) No

notes Note of process nvarchar(2000) Yes

achievement id{PK} Unique identifier of varchar(50) No


achievement

61
link_achievement Link of achievement varchar(500) No

record_status Status of achievement nvarchar(1) No

request id{PK} Unique identifier of varchar(50) No


request

project_id Foreign key, project varchar(50) No


identifier

maker_id Foreign key, translator varchar(50) No


identifier

create_dt Request creation date datetime No

record_status Status of request nvarchar(1) No

invitation id{PK} Unique identifier of varchar(50) No


invitation

project_id Foreign key, project varchar(50) No


identifier

receiver_id Foreign key, translator varchar(50) No


identifier

create_dt Invitation creation date datetime No

record_status Status of invitation nvarchar(1) No

role id{PK} Unique identifier of role nvarchar(20) No

name Name of role varchar(50) No

note Note of role varchar(200) Yes

translator_achievement id{PK} Unique identifier of varchar(50) No


translator’s
achievement

translator_id Foreign key, translator varchar(50) No


identifier

achievement _id Foreign key, varchar(50) No


achievement identifier

62
translator_language id{PK} Unique identifier of varchar(50) No
translator’s language

translator_id Foreign key, translator varchar(50) No


identifier

language_id Foreign key, language varchar(50) No


identifier

ITRANS_MESSAGES id{PK} Unique identifier of varchar(50) No


itrans_messages

senderId Foreign key, account varchar(50) No


identifier

receiverId Foreign key, account varchar(50) No


identifier

content Content of chat nvarchar(max) No

timeStamp Time of chat datetime No

ITRANS_CONNECTIONS id{PK} Unique identifier of varchar(50) No


itrans_connections

personId Foreign key, account varchar(50) No


identifier

signalrld Id of signalR varchar(255) No

timestamp Time of create datetime No

PaypalHistory id{PK} Unique identifier of varchar(50) No


paypal history

userId Foreign key, account varchar(50) No


identifier

amount amount of transaction decimal(18,2) No

transactionType Type of transaction nvarchar(50) No

createDate Transaction creation datetime No


date
Table 33 - Attribute Data Description

63
3. Detailed Design
3.1 Project Management Feature
3.1.1 Class Diagram

Figure 15 - Project Management Feature Class Diagram

3.1.2 Class Specification


a. Project Service
No Method Description

1 searchProject(parameterSearchProject) handle get project by conditions

2 createProject(project) handles create new project

3 viewProject(project) handles view project information

4 deletProject(projectId: string) handles delete project

5 editProject(project) handles update project information

6 searchTranslator(parameterSearchTranslator) handle get translator by conditions

7 viewTranslator(translator) handles view translator information

8 inviteTranslator(invitationId: string) handles invite translator

64
9 acceptTranslator(requestId: string) handles accept translator

10 rejectTranslator(requestId: string) handles reject translator

11 viewProcess(process) handles view process information

Table 34 - Project Service Class Specification

65
3.1.3 Activity Diagram
3.1.3.1 Create Project Activity Diagram

Figure 16 - Create Project Activity Diagram

66
3.1.3.2 View Project Activity Diagram

Figure 17 - View Project Activity Diagram

67
3.1.3.3 Edit Project Activity Diagram

Figure 18 - Edit Project Activity Diagram

68
3.1.3.4 Delete Project Activity Diagram

Figure 19 - Delete Project Activity Diagram

69
3.1.4 Create Project Sequence Diagram

Figure 20 - Create Project Sequence Diagram

70
3.1.5 Create Project State Machine Diagram

Figure 21 - Create Project State Machine Diagram

3.2 Process Management Feature


3.2.1 Class Diagram

Figure 22 - Process Management Feature Class Diagram

71
3.2.2 Class Specification
a. Process Service
No Method Description

1 viewProcess(process) handles view process information

2 updateTranslation(process) handles update process information

Table 35 - Process Service Class Specification

72
3.2.3 Activity Diagram
3.2.3.1 View Process Activity Diagram

Figure 23 - View Process Activity Diagram

73
3.2.4 Create Process Sequence Diagram

Figure 24 - Create Process Sequence Diagram

74
3.3 Payment Management Feature
3.3.1 Class Diagram

Figure 25 - Payment Management Feature Class Diagram

3.3.2 Class Specification


a. Payment Service
No Method Description

1 viewPayment(paypalHistory) handles view payment information

2 deposit(paypal) handles make a payment

3 withdraw(paypal) handles withdraw money

Table 36 - Process Service Class Specification

75
3.3.3 Activity Diagram
3.3.3.1 View Payment History Activity Diagram

Figure 26 - View Payment History Activity Diagram

76
3.3.3.2 Deposit Activity Diagram

Figure 27 - Deposit Activity Diagram

77
3.3.3.3 Withdraw Activity Diagram

Figure 28 - Withdraw Activity Diagram

78
3.3.4 Deposit Sequence Diagram

Figure 29 - Deposit Sequence Diagram

79
3.3.5 Withdraw Sequence Diagram

Figure 30 - Withdraw Sequence Diagram

80
3.4 Activity Diagram Order
3.4.1 <Admin> View account

Figure 31 - <Activity Diagram> Admin view account

81
3.4.2 <Admin> Ban account

Figure 32 - <Activity Diagram> Admin Ban account

82
3.4.3 <Mod> Create category

Figure 33 - <Activity Diagram> Mod create category

83
3.4.4 <Mod> Create topic

Figure 34 - <Activity Diagram> Mod create topic

84
3.4.5 <Mod> Create language

Figure 35 - <Activity Diagram> Mod create language

85
3.4.6 <Mod> Create achievement

Figure 36 - <Activity Diagram> Mod create achievement

86
3.4.7 <Mod> View project

Figure 37 - <Activity Diagram> Mod view project

87
3.4.8 <Mod> View topic

Figure 38 - <Activity Diagram> Mod view topic

88
3.4.9 <Mod> View category

Figure 39 - <Activity Diagram> Mod category

89
3.4.10 <Mod> View language

Figure 40 - <Activity Diagram> Mod view language

90
3.4.11 <Mod> View achievement

Figure 41 - <Activity Diagram> Mod view achievement

91
3.4.12 <Mod> Approve project

Figure 42 - <Activity Diagram> Mod approve project

92
3.4.13 <Mod> Reject project

Figure 43 - <Activity Diagram> Mod reject project

93
3.4.14 <Mod> Update topic

Figure 44 - <Activity Diagram> Mod update topic

94
3.4.14 <Customer> Create project

Figure 45 - <Activity Diagram> Customer create project

95
3.4.15 <Customer> View project

Figure 46 - <Activity Diagram> Customer view project

96
3.4.16 <Customer> View translator

Figure 47 - <Activity Diagram> Customer view translator

97
3.4.17 <Customer> View process

Figure 48 - <Activity Diagram> Customer view process

98
3.4.18 <Customer> View history rating

Figure 49 - <Activity Diagram> Customer view history rating

3.4.19 <Customer> Accept translator into project

99
Figure 50 - <Activity Diagram> Customer accept translator into project

100
3.4.19 <Customer> Reject translator into project

Figure 51 - <Activity Diagram> Customer reject customer into project

101
3.4.20 <Customer> Delete project

Figure 52 - <Activity Diagram> Customer delete project

102
3.4.21 <Customer>Login

Figure 53 - <Activity Diagram> Customer login

103
3.4.21 <Customer> Logout

Figure 54 - <Activity Diagram> Customer logout

104
3.4.22 <Translator> View history rating

Figure 55 - <Activity Diagram> Translator view history rating

105
3.4.23 <Translator> View invitation

Figure 56 - <Activity Diagram> Translator view invitation

106
3.4.24 <Translator> View project

Figure 57 - <Activity Diagram> Translator view project

107
3.4.25 <Translator> Approve invitation

Figure 58 - <Activity Diagram> Translator approve invitation

108
3.4.26 <Translator> Reject invitation

Figure 59 - <Activity Diagram> Translator reject invitation

109
3.4.27 <Translator> Request to join project

Figure 60 - <Activity Diagram> 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.

1.2 Test Model


We use Incremental testing for some approaches:

● Each module is required a role to use clearly


● Each module could test at the early stage of the develop process

1.3 Testing Levels


● Testing Level: User Acceptance Test
● Testing Types: Functional Testing, User Interface Testing

2. Test Plan
2.1 Test Stages

Test Level
Type of Test
Unit Integration System Acceptance

Function Testing X

User Interface Testing X

Table 37 - Test Stages

2.2 Resources
Worker Role Specific Responsibilities

Võ Nhứt Thanh Long Leader Planning, execute, verify test result

Võ Nhị Thanh Long Member Planning, execute, verify test result

Phạm Đức Anh Tuấn Member Planning, execute, verify test result

Lê Đức Quang Member Planning, execute, verify test result

Table 38 - Resources
2.3 Test Milestones
No. Deliverables Due Date

1 Test Document 25/04/2023

Table 39 - Test Milestones


111
3. Test Cases and Test Reports

Testing Level File Name

TestDocuments\2023.Spring-_-iTranslator-_-
User Acceptance Test
Capstone-Project-_-Test-Report.xlsx

Table 40 - Test Cases and Test Reports

112
VI. Release Package & User Guides
1. Deliverable Package
1.1 Source codes & documents

No. Items Sub-Items Type Version

Code Package

1 Web Module iTranslator.ManagementWebApplication.zip New 1.0.0

2 Web API Module iTranslator.API.zip New 1.0.0

Database

1 Initialise Database iTranslator.Script.sql New

Documents

1 Final Project Report iTranslator Final Project Report.docx


Table 41 - Source codes & documents

1.2 Known Issues, Limitations & Restrictions


● Installers for each projects haven’t been packaged
● Database must be initialised by using database scripts

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)

Processor Intel Core i5 1.5Ghz Intel Core i7 2.6Ghz

Memory 4GB RAM 8GB RAM up

Storage 4GB 6GB up

Web Browser Chrome (v69) Chrome latest stable version


Table 42 - <System Requirements> Web application
2.1.2 Software requirement

Component Name and Version Description

Operating System Window 10/11, other open


sources (Linux, Ubuntu)

113
Database SqlServer 19

.NET Core Runtime 5.0 Used to hosting API server


Table 43 - <System Requirements> Software requirement

2.2 Setup Files


● iTranslator.Script.sql: Database script for system
● iTranslator.API.zip: API for services
● iTranslator.ManagementWebApplication.zip
2.3 Installation Instruction
2.3.1 Setup Database
Install Sql Server 2019 by following guidelines link:
https://www.thegioididong.com/game-app/huong-dan-cai-dat-sql-server-2019-cuc-don-gian-chi-1312926

2.3.2 Setup Backend API


+ Install Visual Studio by following guidelines link:
https://thuthuatphanmem.vn/huong-dan-tai-va-cai-dat-visual-studio/

+ Extracting: iTranslator.API.zip

Figure 61 - Setup Backend Api

+ Open iTranslator.Web.sln file with Visual Studio

+ Config your database connection

114
Figure 62 - Setup Backend Api

+ Run project

Figure 63 - Setup Backend Api

+ Test project in browser by go to url: https://localhost:44372/Ui ;

115
Figure 64 - Setup Backend Api

+ Username: admin1 pass 123456

Figure 65 - 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/

+ Extract iTranslator.ManagementWebApplication.zip and open folder with Visual Studio Code

+ Open terminal and enter npm I:

Figure 66 - Setup Management Web

+ Change baseUrl based on your backend configuration

Figure 67 - Setup Management Web

+ In terminal, enter npm start

Figure 68 - Setup Management Web

+ Project start with http://localhost:4200/

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

3.2.1 Moderator login into system

118
1. Enter username: imod
2. Enter password: 123456
3. Click “đăng nhập”
3.2.2 Moderator search language

1. Click “Quản lý danh mục”


2. Click “Danh mục ngôn ngữ”
3. Click “Tìm kiếm”
3.2.3 Moderator create language

1. Click “Thêm”
2. Fill all information
3. Click “Lưu”

119
3.2.4 Moderator update, view information, delete language

1. Click icon on toolbar to update, view information or delete


3.2.5 Moderator search category

1. Click “Quản lý danh mục”


2. Click “Danh mục thể loại ”
3. Click “Tìm kiếm”
3.2.6 Moderator create category

120
1. Click “Thêm”
2. Fill all information
3. Click “Lưu”
3.2.7 Moderator update, view information, delete category

1. Click icon on toolbar to update, view information or delete


3.2.8 Moderator search topic

121
1. Click “Quản lý danh mục”

2. Click “Danh mục thể loại ”

3. Click “Tìm kiếm”

3.2.9 Moderator create topic

1. Click “Thêm”

2. Fill all information

3. Click “Lưu”

122
3.2.10 Moderator update, view information, delete topic

1. Click one topic

2. Click icon on toolbar to update, view information or delete

3.2.11 Customer login into system

1. Enter username: icus


2. Enter password: 123456
3. Click “đăng nhập”

123
3.2.12 Customer create project

124
1. Click “Thêm”

2. Fill all information

3. Click “Lưu”

3.2.13 Moderator approved project

125
3.2.14 Moderator approved project

126
1. Click “Tìm kiếm” project

2. Check information of project

3. Click “Duyệt”

4. Click “Đồng ý”

3.2.15 Translator request join project

127
1. Click “Tìm kiếm”

2. Click “Join”

3.2.16 Customer accept translator join into project

128
1. Click “Tìm kiếm”

2. Click “Chấp nhận”

3.2.17 Customer translate and complete project

1. Click “Danh mục tiến trình”

2. Click “Thêm”

3. Fill all information

4. Click “Lưu”

129
5. Click “Nộp bài”

3.2.18 Moderator approved completed project

130
1. Click “Tìm kiếm” project

2. Check information of 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

3. Enter email or phone

4. Enter password

5. Choose card to payment

6. Click “Nộp”

134

You might also like