0% found this document useful (0 votes)
15 views

2023.spring - Mobile Based CashFlow - Final Report

This document provides an overview of a capstone project to develop a mobile-based cashflow board game. It outlines the project scope, requirements, design, and testing plans. The project aims to create a game where players take on different jobs and purchase assets to achieve financial dreams. The document describes features for playing matches online, managing player accounts and game elements like characters, jobs, and event cards. It also provides package diagrams, sequence diagrams, and specifications for key features. The software testing and release sections describe the testing approach and deliverables for the project.

Uploaded by

Trọng Nghĩa
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)
15 views

2023.spring - Mobile Based CashFlow - Final Report

This document provides an overview of a capstone project to develop a mobile-based cashflow board game. It outlines the project scope, requirements, design, and testing plans. The project aims to create a game where players take on different jobs and purchase assets to achieve financial dreams. The document describes features for playing matches online, managing player accounts and game elements like characters, jobs, and event cards. It also provides package diagrams, sequence diagrams, and specifications for key features. The software testing and release sections describe the testing approach and deliverables for the project.

Uploaded by

Trọng Nghĩa
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/ 185

MINISTRY OF EDUCATION AND

TRAINING

FPT UNIVERSITY

Capstone Project Document


Mobile-based Cashflow Boardgame

GSP23SE27
Thái Đức Lợi – Team Leader – SE140060
Trịnh Gia Huy – Team Member – SE140059
Group Members
Nguyễn Phùng Công Danh – Team Member – SE140142
Dương Kim Long – Team Member – SE140175
Supervisor Mr. Nguyễn Thế Hoàng
Capstone Project code SE23SE37

- Ho Chi Minh, May 2023 -


Table of Contents

Table of Contents 2
List of Tables 11
List of Figures 14
Acknowledgements 17
Definition and Acronyms 18
I. Project Introduction 19
1. Overview 19
1.1 Project Information 19
1.2 Project Team 19
a. Supervisors 19
b. Team Members 19
2. Product Background 19
3.1 Richdad 20
3.2 Business Tour 20
4. Business Opportunity 21
5. Software Product Vision 21
6. Project Scope & Limitations 21
6.1 Major Features 21
6.2 Limitations 22
II. Project Management Plan 23
1. Overview 23

2
1.1 Scope & Estimation 23
1.2 Project Objectives 24
1.3 Project Risks 25
2. Management Approach 25
2.1 Project Process 25
2.2 Quality Management 26
2.3 Training Plan 27
3. Project Deliverables 27
4. Responsibility Assignments 28
5. Project Communications 28
5.2 External Interface 29
a. FU Contacts 29
6. Configuration Management 29
6.1 Document Management 29
6.2 Source Code Management 30
6.3 Tools & Infrastructures 30
III. Software Requirements Specification 31
1. Product Overview 31
1.1 Guest Requirements 31
1.2 Player Requirements 31
1.3 Admin Requirements 31
2. User Requirements 32
2.1 Actors 32

3
2.2 Use Cases 33
2.2.1 Diagram 33
2.2.2 Use Case List with description 34
3. Functional Requirements 38
3.1 System Functional Overview 38
3.1.1 Screens Flow 38
3.1.2 Functional requirements 40
3.1.4 Non-Screen Functions 57
3.2 Entity Relationship Diagram 57
4. Non-Functional Requirements 66
4.1 External Interfaces 66
4.2 Quality Attributes 66
4.2.1 Usability 66
4.2.2 Reliability 66
4.2.3 Performance 67
4.2.4 Design constraints 67
4.2.5 Security 67
5. Requirement Appendix 67
5.1 Business Rules 67
5.2 Application Messages List 69
IV. Software Design Description 72
1. System Design 72
1.1 System Architecture Overview 72

4
1.2 Package Diagram 73
1.2.1 Web API Package Diagram 73
73
1.2.2 Web Application Package Diagram 74
1.2.3 Game Application Package Diagram 75
2. Database Design 76
3. Detailed Design 86
3.1 Start game match Feature 86
3.1.1 Class Diagram 86
3.1.2 Class Specification 87
3.1.3 Start Game Sequence Diagram 88
3.1.4 Join Room Sequence Diagram 89
3.1.5 Host Room Sequence Diagram 90
3.2 Buy Item In Shop Feature 91
3.2.1 Class Diagram 91
3.2.2 Class Specification 91
3.2.3 Get Asset in Shop Sequence Diagram 92
3.2.4 Buy Character Sequence Diagram 93
3.3 Change outfit Feature 94
3.3.1 Class Diagram 94
3.3.2 Class Specification 94
3.3.3 Get Player Asset Sequence Diagram 95
3.3.4 Update Character Selected Sequence Diagram 96

5
3.4 Change Job Feature 97
3.4.1 Class Diagram 97
3.4.2 Class Specification 97
3.4.3 Get Job Sequence Diagram 98
3.4.3 Update Player Job Sequence Diagram 99
3.5 Play Game Match Feature 100
3.5.1 Class Diagram 100
3.5.2 Class Specification 100
3.5.3 Get Title Sequence Diagram 103
3.5.4 Get Dreams Sequence Diagram 104
3.5.5 Get Event Card Sequence Diagram 105
3.6 Manage Event Card Feature 106
3.6.1 Class Diagram 106
3.6.2 Class Specification 106
3.6.3 Create event card Sequence Diagram 107
3.6.4 Update event card Sequence Diagram 108
3.6.5 InActive event card Sequence Diagram 109
3.7 Manage Dream Feature 110
3.7.1 Class Diagram 110
3.7.2 Class Specification 110
3.7.3 Update dream Sequence Diagram 111
3.8 Manage Game Account Feature 112
3.8.1 Class Diagram 112

6
3.8.2 Class Specification 112
3.8.3 Create game account Sequence Diagram 113
3.8.4 Update game account Sequence Diagram 114
3.8.5 Inactive game account Sequence Diagram 115
3.9 Manage Job Feature 116
3.9.1 Class Diagram 116
3.9.2 Class Specification 116
3.9.3 Update Job Sequence Diagram 117
3.10 Match History Feature 118
3.10.1 View History Sequence Diagram 118
3.10.2 Create Match History 119
3.10.3 Update Match History 120
3.11 Manage Asset Feature 121
3.11.1 Class Diagram 121
3.11.2 Class Specification 121
3.11.3 Manage asset Sequence Diagram 122
4. Game Design 123
4.1 Concept Board 123
4.2 Art 123
4.2.1 Art Button 123
4.2.2 Art UI 127
4.2.3 Art Character 130
4.3 Game Feature 132

7
4.3.1 Control Character 132
4.3.2 Create an online match 134
4.3.3 Play Game 134
4.3.4 Owning and changing outfits 140
4.3.5 Change Job 143
4.3.6 Build map and chessboards 143
4.3.7 Make UI for game 144
4.3.8 Add sounds 147
4.3.8 Game optimization 148
V. Software Testing Documentation 149
1. Overall Description 149
1.1 Test Scope 149
1.2 Test Model 149
1.3 Testing Levels 149
2. Test Plan 149
2.1 Test Stages 149
2.2 Resources 149
2.3 Test Milestones 150
3. Test Cases and Test Reports 150
VI. Release Package & User Guides 151
1. Deliverable Package 151
1.1 Source codes & documents 151
1.2 Known Issues, Limitations & Restrictions 151

8
2. Installation Guides 152
2.1 System Requirements 152
2.1.1 Web application 152
2.1.2 Game application 152
2.2 Setup Files 152
2.3 Installation Instruction 153
2.3.1 Setup Database 153
2.3.2 Setup Backend API 153
2.3.3 Setup Management Web 155
3 User Manual 157
3.1 Overview 157
3.2 Application Usage 157
3.2.1 Guest register account 157
3.2.2 Player login into game 159
3.2.3 Create name and choose job 159
3.2.3 Talk npc to switch scene lobby 160
3.2.4 Player View list room and join or create room 160
3.2.5 Play game 161
3.2.6 Roll Dice 162
3.2.7 Do Ratrace event 162
3.2.8 View financial report 164
3.2.9 Move out Fasttrack 165
3.2.10 Do event in Fasttrack 165

9
3.2.11 View financial report in Fasttrack 166
3.2.12 Finish game 167
3.2.13 View match history 169
3.2.14 Buy item 170
3.2.15 Change outfit 171
3.2.16 Admin login 173
3.2.17 Admin Create Event Card 174
3.2.18 Admin update event card 175
3.2.19 Admin delete event card 177
3.2.20 Admin update job 178
3.2.21 Admin update dream 179
3.2.22 Admin create game account 180
3.2.23 Admin update game account 182
3.2.24 Admin delete game account 183
3.2.25 Admin Update asset 184

10
List of Tables

Table 1 - Definition and Acronyms 18


Table 2 - Supervisors 19
Table 3 - Team Members 19
Table 4 - Limitations 22
Table 5 - Scope & Estimation 24
Table 6 - Project Objectives 24
Table 7 - Project Risks 25
Table 8 - Training plan 27
Table 9 - Project deliverables 27
Table 10 - Responsibility Assignments 28
Table 11 - Project Communications 29
Table 12 - FU contact 29
Table 13 - Tools & Infrastructures 30
Table 14 - Actors list and description 32
Table 15 - Use Case list 37
Table 16 - User Management Function 40
Table 17 - Job Manage Function 42
Table 18 - Authenticate Function 43
Table 19 - Profile Management Function 44
Table 20 - Register Function 45

11
Table 21 - Dream Management Function 45
Table 22 - Event Card Management Function 50
Table 23 - Game Account Management Function 51
Table 24 - Asset Management Function 52
Table 25 - View Match History Function 52
Table 26 - Invitation Management Function 53
Table 27 - Invitation Management Function 53
Table 28 - Play Game Function 54
Table 29 - Change Outfit Function 54
Table 30 - Edit Settings Function 55
Table 31 - Change Job Function 55
Table 32 <Screen authorization> Web application and Game application 57
Table 33 - Non-screen functions 57
Table 34 - Logic entities and attributes description 66
Table 35 - Business rules 69
Table 36 - Application messages 71
Table 37 - Table Data Descriptions 78
Table 38 - Attribute Data Description 86
Table 39 - Start Game Service Class Specification 87
Table 40 - Buy Item Service Class Specification 92
Table 41 - Change outfit Service Class Specification 95
Table 42 - Change job Service Class Specification 98
Table 43 - Play game Service Class Specification 101

12
Table 44 - Player Service Class Specification 102
Table 45 - Game board Service Class Specification 103
Table 46 - Manage event card Service Class Specification 107
Table 47 - Mange dream Service Class Specification 110
Table 48 - Manage game account Service Class Specification 112
Table 49 - Mange Job Service Class Specification 116
Table 50 - Manage Asset Service Class Specification 121
Table 51 - Test Stages 149
Table 52 - Resources 150
Table 53 - Test Milestones 150
Table 54 - Source codes & documents 151
Table 55 - <System Requirements> Web application 152
Table 56 - <System Requirements> Software requirement 152

13
List of Figures

Figure 1 - Scum process 25


Figure 2 - Context diagram 31
Figure 3 - <Use case overview> CashFlow Application 33
Figure 4 - <Screen flow diagram> Game application 38
Figure 5 - <Screen flow diagram> Admin web application 39
Figure 6 - Conceptual Entity Relationship Diagram 58
Figure 7 - Logical Entity Relationship Diagram 59
Figure 8 - System architecture 72
Figure 9 - Web API Package Diagram 73
Figure 10 - Web Application Package Diagram 74
Figure 11 - Game Application Package Diagram 75
Figure 12 - MS SQL Database Design 76
Figure 13 - MongoDB Database Design 77
Figure 14 - Start game match Feature Class Diagram 86
Figure 15 - Start Game Sequence Diagram 88
Figure 16 - Start Game Sequence Diagram 89
Figure 17 - Start Game Sequence Diagram 90
Figure 18 - Buy item in shop Feature Class Diagram 91
Figure 19 - Get asset in shop Activity Diagram 92
Figure 20 - Buy character Sequence Diagram 93
Figure 21 - Change outfit Feature Class Diagram 94

14
Figure 22 - Get Player Asset Sequence Diagram 95
Figure 23 - Update Character Selected Sequence Diagram 96
Figure 24 - Change Job Feature Class Diagram 97
Figure 25 - Get Job Sequence Diagram 98
Figure 26 - Update Player Job Sequence Diagram 99
Figure 27 - Play Game Match Feature Class Diagram 100
Figure 28 - Get Title Sequence Diagram 103
Figure 29 - Get Dreams Sequence Diagram 104
Figure 30 - Get Event Cards Sequence Diagram 105
Figure 31 - <Class Diagram> Admin manage event card 106
Figure 32 <Sequence Diagram> Admin create event card 107
Figure 33 - <Sequence Diagram> Admin update event card 108
Figure 34 - <Sequence Diagram> Admin inactive event card 109
Figure 35 - <Class Diagram> Admin manage dream 110
Figure 36 - <Sequence Diagram> Admin update dream 111
Figure 37 - <Class Diagram> Admin manage game account 112
Figure 38 - <Sequence Diagram> Admin create game account 113
Figure 39 - <Sequence Diagram> Admin update game account 114
Figure 40 - <Sequence Diagram> Admin inactive game account 115
Figure 41 - <Class Diagram> Admin update job 116
Figure 42 - <Sequence Diagram> Admin update job 117
Figure 43 - <Sequence Diagram> view history 118
Figure 44 - <Sequence Diagram> Create Match history 119

15
Figure 45 - <Sequence Diagram> Update Match history 120
Figure 46 - <Class Diagram> Mange asset feature 121
Figure 47 - <Sequence Diagram> Admin update asset 122
Figure 48 - Setup Backend API 153
Figure 49 - Setup Backend API 154
Figure 50 - Setup Backend API 154
Figure 51 - Setup Backend API 155
Figure 52 - Setup Management Web 155
Figure 53 - Setup Management Web 156
Figure 54 - Setup Management Web 156

16
Acknowledgements
First, we would like to express our greatest gratitude to our supervisor Mr. Nguyễn Thế
Hoàng for their guidance throughout the whole project. Their suggestions and
recommendations have elevated the overall quality of the project.

Secondly, we would like to express our sincere thanks to Mr. Lâm Hữu Khánh Phương
for his support as well as enthusiastically answering the team's questions about the
technical issues of the project.

Through the process of completing this capstone project, we would like to pay respect
to:
- FPT University Lecturers who have shared us with precious knowledge and guided
us when we
first stepped into FPT University.
- Thanks to Mr. Thế Hoàng, Mr. Khánh Phương, Ms. Hương, Ms. Hồng and all other
lecturers for pointing out the flaw in our project and providing constructive feedback
to improve the project's quality.
- Finally, special thanks to Mr. Hoàng the direct supervisors who helps us a lot about
technologies, business, and documents.
Last but not least, we want to say thank you to our family and friends who helped us
to complete this project.

Due to the lack of experience and unfamiliarity with some technology using in the
project, mistakes are inevitable. We hope people will overlook and forgive us for our
mistakes.

Thank you for all your support.


Regards.

17
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

18
I. Project Introduction
1. Overview
1.1 Project Information
• Project name: Moblie-based Cashflow Boardgame
• Project code: SE23SE37
• Group name: GSP23SE27
• Software type: Game 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 Email Mobile Role

Thái Đức Lợi [email protected] 0948 260 825 Leader

Trịnh Gia Huy [email protected] 0358 663 632 Member

Nguyễn Phùng Công [email protected]


0979 399 979 Member
Danh n

Dương Kim Long [email protected] 0971 205 048 Member


Table 3 - Team Members

2. Product Background
The Mobile-based Cashflow Board Game is a game that involves learning to manage
the player’s money and wealth by playing a game almost like billionaire chess and the

19
player must learn how to use their money wisely. most reasonable to win. The game
will be updated with many versions and constantly adjusted to make it best suited for
new and old players. And in the future, the game will aim to create a community that
allows players to help each other develop in the game and in real life.

3. Existing Systems
3.1 Richdad
● Link: https://www.richdad.com/promotions/cashflow-classic-evergreen
● Description: The website richdad.com is the website of the author of the book
"Rich Dad, Poor Dad" by author Robert Kiyosaki. An aggregate website
including blogs, sales, courses... and even the game Cashflow for users to
experience before buying the board game of the same name.
● System actor:
+ Users: Go to see the services you need to use.
● Features:
+ Users: view and buy in shop, view blog, play game, view course.
● Advantage and Disadvantage
+ Advantages: Safe, diverse products, have many features, friendly interface.
+ Disadvantages: There is no comment section for users to exchange with each
other.
3.2 Business Tour
● Link: Business Tour - Board Game with Online Multiplayer on Steam
(steampowered.com)
● Description: The Game Business Tour is a free online game. with gameplay
similar to the billionaire board game, and can change the pieces, dice and
collect items to redeem in-game rewards.
● System actor:
+ Player: Play game.
● Features:
+ Player: Play game, change character, change dice, choose chessboard...

20
● Advantage and Disadvantage
+ Advantages: Free to play, easy to play, have many features, friendly interface.
+ Disadvantages: There is not many game mod, Player can use real money to
buy support items in the match that makes the game unbalanced.
4. Business Opportunity
Currently, in the World in general and Vietnam in particular, the mobile game market is
growing rapidly and the number of young people who want to learn how to control
money has increased quite a lot. So now is a good opportunity to make a game that is
both entertaining and has practical applications to apply to live. Then this game is the
first step to targeting this potential market.
5. Software Product Vision
Learns knowledge and has practical applications to apply to live. And to do this, first of
all, this game will try to roll out more updates and new modes for the game that is
more suitable for real life. Second, create a youtube channel to post tutorial videos
and analyses for every player. And finally, create communities on social networking
sites to connect people, help each other, exchange and share their own experiences
and learn from the experiences of other players.
6. Project Scope & Limitations
6.1 Major Features
● Guest:
+ FE-01: Register account
● Moderator:
+ FE-02: Manage event cards
+ FE-03: Manage users
+ FE-04: Manage game mod
+ FE-05: Manage job
+ FE-06: Manage dream
+ FE-07: Manage asset
+ FE-08: Manage game account
● Player:

21
+ FE-09: Create room
+ FE-10: Join room
+ FE-11: Play game
+ FE-12: View history
+ FE-13: View shop
+ FE-14: Buy outfit in shop
+ FE-15: Change outfit
+ FE-16: Change job

6.2 Limitations
# Limitations
LI-01 The server can only accommodate up to 20 people
LI-02 There are not many skins and no chessboard concepts for players
to change
LI-03 Some unimportant features are still incomplete
Table 4 - Limitations

22
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 42
2.1 Learn .Net API framework Complex 6
2.2 Learn ReactJS framework Complex 6
2.3 Learn Unity and Photon fusion Complex 30
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

23
5.2 Design game application interface Complex 20
6 Implementation 97
6.1 Implement authentication/authorization Complex 7
features
6.2 Implement admin features Complex 40
6.5 Implement player 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) 270
Table 5 - Scope & Estimation

1.2 Project Objectives

# Testing Stage No. of % Of Defect Notes


Defects

1 Reviewing 12 20

2 System Test 42 70

3 Acceptance Test 6 10

Total 60 100%
Table 6 - Project Objectives

24
1.3 Project Risks
# Risk Description Impact Possibility Response Plans

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

2. Management Approach
2.1 Project Process

References: https://www.scrum.org/
Figure 1 - Scum process

This project is developed under the Scrum framework of Agile methodology. We


choose this process model because of the following reasons:
+ Because customers really don't know what they want their website to look like,
changing requirements often take place, we need to develop from part to part to
output the most suitable process for our system to satisfy organization.
+ Using Agile for web application testing, teams get feedback almost daily and can
act on that feedback immediately.

25
+ Our team does not have any experience in working on the website for patients
which is why we need to directly communicate, research and work to deliver to
customers as soon as possible so that we can get improvement feedback.

2.2 Quality Management


In this project, to improve the project quality, we use the following approach:

● API convention:
o Name the API Route that maps to the entity in the system
o Each API response must return the following general information:
▪ Status code: 200, 204, 400, 401, 404, ...
▪ Status text: fail, success
▪ Total: number of data items have been returned
▪ Data: an array that contains all data items
● Coding convention:
o Set the meaningful names for variables
o Add comments to code can be confusing
o Use Pascal casing for naming Enum, Class and Interface
● Unit Testing: Each member has the responsibility to write a unit test to ensure a
function/method works appropriately.
● Integration Testing: After finishing coding one module/screen both members
working on the client-side and server-side need to execute integration testing to
ensure the module/screen can work smoothly from client-side to server-side.
● System Testing: After finishing coding for whole systems, all team members need
to re-execute all test cases and free tests to ensure the system is working stable.

26
2.3 Training Plan
Training Area Participants When, Duration Waiver Criteria

Unity3D Long, Lợi, Danh 1 weeks Mandatory

ReactJS Long, Huy 1 weeks Mandatory

GitHub All member 2 days Mandatory

Photon server Danh, Lợi 5 weeks Mandatory


Table 8 - Training plan

3. Project Deliverables
Sprint # Sprint objective Duration Deliverable

Project Plan Document, SRS Project Planning, Software


1 14 days
Document Requirement

Architecture Design, Basic


2 Design Document 14 days Design, Detail Design and
Database Design

Authentication Module,
3 User Module, Role Module, 14 days Code & System test cases
Team Module

Article Module, Topic


4 Module, File Module, 14 days Code & System test cases
Comment Module

Donation/Donation
Campaign Module,
5 14 days Code & System test cases
Payment Method Module,
Task Module
Table 9 - Project deliverables

27
4. Responsibility Assignments

Responsibility Thái Đức Lợi Trịnh Gia Huy Dương Kim Long Nguyễn Phùng
Công Danh

Backend for x x
system

Front end web x x

Server x x

Game x x x

Other x x x x
Table 10 - Responsibility Assignments

5. Project Communications

Communication Who/ Target Purpose When, Type, Tool,


Item Frequency Method(s)

● Review
Supervisor 1 documentation Face to
(Nguyen The face,
Working with ● Demonstrate 1 time per
Hoang) and Google
advisor features week
team Meet,
members ● Evaluate progress Messenger
and result

Working in team Team ● Raise opinions, Always Face to

28
members problems Face,
● Ask for help from Messenger,
other members Discord,
● Report working
status to leader
Table 11 - Project Communications

5.2 External Interface


a. FU Contacts
Contact
Person Contact address
Function Responsibility
(Name, (Email, telephone)
position)
- Provide document template
Nguyen The - Give instruction to project team
Advisor [email protected]
Hoang - Review deliverables
- Supervise project status
Table 12 - FU contact

6. Configuration Management
6.1 Document Management

Because of the real-time data synchronization, we use Google Drive to manage


documents. Google Drive allows team members to conveniently collaborate in real-
time. We create documents on Google Drive based on the document template, then
divide the document writing work for members based on their predefined
responsibilities. Each member can see the results of the other members' work instantly.

29
6.2 Source Code Management

We choose GitHub to manage our source code. The version control system allows
members to collaboratively work on a source code efficiently, conveniently, and easily
to resolve conflict, especially helpful for looking back in time and quickly identifying
changes a collaborator made.

6.3 Tools & Infrastructures


Category Tools / Infrastructure

IDEs/Editors Unity Code, Visual Studio, Visual Studio Code

UML tools Draw.io, StarUML

Source Version
GitHub
Control

Project
Google Drive
Management Tool

Framework ReactJS (Frontend), ASP.NET core 6 (Backend)

Programming
C#
Languages

DBMS MS SQL, MongoDB

Deployment Server Heroku


Table 13 - Tools & Infrastructures

30
III. Software Requirements Specification
1. Product Overview
1.1 Guest Requirements
For Guests requesting a game involving learning finance. Our game supports the
Vietnamese language to make it easy for players to grasp everything in the game. And
will build a large community of players in the future.
1.2 Player Requirements
For Players who require a game that is more than just a regular board game. A game
can control the character to visit the scene in the game. Create a playroom to play with
other players. Can change job, outfit…
1.3 Admin Requirements
For Admins who require a site to manage in-game resources and players. The admin
website is a website that provides screens to view the list of player accounts. Unlike
normal resource management, our website manages resources according to the game
version and when changing information about resources will not affect the experience.

Figure 2 - Context diagram

31
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 Player The customers who are responsible for managing projects and
managing payment. Moreover, they can chat and view history
ratings.

3 Guest Guests are customers who can visit the web pages.
Table 14 - Actors list and description

32
2.2 Use Cases
2.2.1 Diagram

Figure 3 - <Use case overview> CashFlow Application

33
2.2.2 Use Case List with description

ID Use Case Actors Description

UC01 Register Guest Guest register for account

UC02 Login Admin, Player Unauthenticated player login to Cashflow game to verify
role, and give them access to more features in the game.

UC03 Logout Admin, Player This feature allows all players logout the game

UC04 View Profile Admin, Player This feature allows all players view their profile

UC05 Edit Profile Admin, Player This feature allows players update their profile

UC06 View Shop Player This feature allows players view shop

UC07 Buy Item Player This feature allows players buy items in shop

34
UC08 Create Room Player This feature allows players create game room

UC09 Play Game Player This feature allows players can play game when create
room finish

UC10 Change Job Player This feature allows players change job

UC11 Edit Settings Player This feature allows players edit settings in game

UC12 View Inventory Player This feature allows players view inventory

UC13 Change Outfit Player This feature allows players change outfit for character

UC14 View Match History Player This feature allows players view match history

35
UC15 View Asset Admin, Player This feature allows player and admin view asset in game
for player and web for admin

UC16 Edit Asset Admin This feature allows admin edit assets.

UC17 View Game Account Admin, Player This feature allows player and admin view game account

Create Game Admin This feature allows admin create new game account
UC18 Account

UC19 Edit Game Account Admin This feature allows admin edit game account

UC20 View Event Card Admin, Player This feature allows player and admin view event card

UC21 Create Event Card Admin This feature allows admin create new event card

UC22 Edit Event Card Admin This feature allows admin edit event card

36
UC23 View Dream Admin, Player This feature allows player and admin view dream

UC24 Edit Dream Admin This feature allows admin edit dream

UC25 View User Admin This feature allows admin view user

UC26 View Job Admin, Player This feature allows player and admin view job

UC27 Edit Job Admin This feature allows admin edit job

UC28 Join Room Player This feature allows player join already room

UC29 Play Game Player This feature allows players play game

Table 15 - Use Case list

37
3. Functional Requirements
3.1 System Functional Overview
3.1.1 Screens Flow
3.1.1.1 Game Application Screen Flow

Figure 4 - <Screen flow diagram> Game application

38
3.1.1.2 <Admin> Web Application Screen Flow

Figure 5 - <Screen flow diagram> Admin web application

39
3.1.2 Functional requirements
3.1.2.1 User Management

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Admin View User View a user Account name Account name: BR-01
+ Type: text field (string) BR-35
+ Max Length= 200
Table 16 - User Management Function

3.1.2.2 Job management

No Actor Function Purpose Data requirements Data validation Business


Name Rules
1 Player View job View job in
Admin game and web
2 Admin Update job Update job in Job card id Job card id: BR-33
web Job card name + Type: text field (string) BR-40
Children cost + Max Length= 24 BR-36
Image url Job card name:
Salary + Type: text field (string)
Tax + Max Length= 20
Paying home loan interest Children cost:
Car loan payment + Type: Text field (int)

40
Credit card loan payments Image url:
Shopping costs + Type: Text field (string)
Other costs + Max Length= 200
Child rearing costs Salary:
Cash + Type: Text field (double)
Mortgage debt Tax:
Car debt + Type: Text field (double)
Credit card debt Paying home loan interest:
Instalment purchase debt + Type: Text field (double)
Car loan payment:
+ Type: Text field (double)
Credit card loan payments:
+ Type: Text field (double)
Shopping costs:
+ Type: Text field (double)
Other costs:
+ Type: Text field (double)
Child rearing costs:
+ Type: Text field (double)
Cash:
+ Type: Text field (double)
Mortgage debt:

41
+ Type: Text field (double)
Car debt:
+ Type: Text field (double)
Credit card debt:
+ Type: Text field (double)
Instalment purchase debt:
+ Type: Text field (double)
Table 17 - Job 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
Password + Type: text field(string) BR-02
+ Max Length= 20
Password:
+ Type: text field(string)
+ Max Length= 100
2 Player Login Login to game Username Username: BR-03
Password + Type: text field(string)
+ Max Length= 20

42
Password:
+ Type: text field(string)
+ Max Length= 20
Table 18 - Authenticate Function

3.1.2.4 Profile Management

No Actor Function Purpose Data requirements Data validation Business


Name Rules
1 Player View profile View profile Profile: profile table BR-04
Admin

2 Player Update Update new data Name Name: BR-05


profile for profile Email + Type: text field(string)
Admin
Password + Max Length = 12
Address Email:
Phone + Type: text field(string)
+ Max Length= 50
Password:
+ Type: text field(string)
+ Min Length = 6

43
+ Max Length= 20
Address:
+ Type: text field(string)
+ Max Length= 300
Phone:
+ Type: text field(string)
+ Max Length= 10
Table 19 - Profile Management Function

3.1.2.5 Register

No Actor Function Purpose Data requirements Data validation Business


Name Rules
1 Guest Register Register User Name User Name: BR-06
account Email + Type: text field(string) BR-08
Password + Max Length = 20 BR-09
Confirm password Email: BR-10
+ Type: text field(string) BR-11
+ Max Length= 50
+ True format
Password:
+ Type: text field(string)
+ Min Length = 6

44
+ Max Length= 20
Confirm password:
+ Type: text field(string)
+ Equal with password
Table 20 - Register Function

3.1.2.6 Dream Management

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Player View dream View dream in
Admin web and game
2 Admin Edit dream Edit dream Name Name: BR-34
BR-39
Cost + Type: text field (string)
+ Max Length= 50
Cost:
+ Type: text field (double)
Table 21 - Dream Management Function

45
3.1.2.7 Event Card Management

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Admin View event card View event
card in web
Player
and game
2 Admin Create event card Create a new Event name Event name: BR-34
event card
Image url + Type: text field(string) BR-32
Account Name + Max Length= 50 BR-37
Cost Image url: BR-36
Down pay + Type: text field(string)
Dept + Max Length= 200
Cash flow Account Name:
Trading range + Type: text field(string)
Event description + Max Length= 50
Event type Cost:
Action + Type: text field (double)

46
Down pay:
+ Type: text field (double)
Dept:
+ Type: text field (double)
Cash flow:
+ Type: text field (double)
Trading range:
+ Type: text field (string)
+ Max Length= 50
Event description
+ Type: text field (string)
+ Max Length= 500
Event type:
+ Type: text field (decimal)
+ Max Length = 50
Action:

47
+ Type: text field (int)
3 Admin Update event Update event id id: BR-34
card card
Event name + Type: text field(string) BR-32
Image url + Max Length= 24 BR-37
Account Name Event name: BR-36
Cost + Type: text field(string)
Down pay + Max Length= 50
Dept Image url:
Cash flow + Type: text field(string)
Trading range + Max Length= 200
Event description Account Name:
Event type + Type: text field(string)
Action + Max Length= 50
Game mod id Cost:
+ Type: text field (decimal)
Down pay:

48
+ Type: text field (decimal)
Dept:
+ Type: text field (decimal)
Cash flow:
+ Type: text field (decimal)
Trading range:
+ Type: text field (string)
+ Max Length= 50
Event description
+ Type: text field (string)
+ Max Length= 500
Event type:
+ Type: text field (decimal)
Action:
+ Type: text field (int)
Game mod id:

49
+ Type: text field (int)
4 Admin Delete event card Delete event id BR-37
card
Table 22 - Event Card Management Function

3.1.2.8 Game Account Management

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Admin View game View game
account account in web
Player
2 Admin Create game Create a new Account name Account name: BR-31
account game account
Account type + Type: text field(string) BR-38
+ Max Length= 50
Account type:
+ Type: text field(string)
+ Max Length= 50
3 Admin Update game Update game Account name Account name: BR-31

50
account account Account type + Type: text field(string) BR-38
+ Max Length= 50
Account type:
+ Type: text field(string)
+ Max Length= 50
Table 23 - Game Account Management Function

3.1.2.9 Asset Management

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Admin View asset View asset in
web and game
Player
2 Admin Update asset Update asset Asset name Account name: BR-34
BR-41
Asset price + Type: text field(string)
Description + Max Length= 20
Asset price:

51
+ Type: text field(double)
Description:
+ Type: text field(string)
+ Max Length= 500
Table 24 - Asset Management Function

3.1.2.10 View Match History

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Player View history View match None BR-16
history
Table 25 - View Match History Function

3.1.2.11 Shop

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Player View shop View shop

52
2 Player Buy item Buy item in shop BR-20
BR-07
Table 26 - Invitation Management Function

3.1.2.12 Lobby

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Player Create room Create game Room name Room name: BR-22
room + Type: text field BR-24
(string) not null
+ Max Length= 20

2 Player Join room Join room when Room name BR-22


other player
create
Table 27 - Invitation Management Function

3.1.2.13 Play game

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Player Play game Play game when BR-13

53
player create BR-14
room or join BR-15
room BR-19
BR-21
BR-24
BR-25
BR-26
BR-27
BR-28
Table 28 - Play Game Function

3.1.2.14 Change Outfit

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Player View inventory View inventory

2 Player Change outfit Change outfit for BR-17


character BR-18

Table 29 - Change Outfit Function

54
3.1.2.15 Edit settings

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Player Edit settings Edit settings in
game
Table 30 - Edit Settings Function

3.1.2.16 Change Job

No Actor Function Name Purpose Data requirements Data validation Business


Rules
1 Player Change job Change job BR-30

Table 31 - Change Job Function

55
3.1.3 Screen Authorization
3.1.3.1 Web and Game Application Screen Authorization

Admin Player Guest


Screen

Register(Game) x

Login(Web) x

Login(Game) x

Dashboard(Web) x

Job selection(Game) x

Lobby(Game) x

History(Game) x

Achievement(Game) x

Shop(Game) x

Inventory(Game) x

View dashboard(Web) x

Information(Game) x

List event card(Web) x

56
List job(Web) x

List dream(Web) x

List game account(Web) x


Table 32<Screen authorization> Web application and Game application

3.1.4 Non-Screen Functions


# System function Description

Table 33 - Non-screen functions

3.2 Entity Relationship Diagram


● Conceptual ERD

57
Figure 6 - Conceptual Entity Relationship Diagram

● Logical ERD

58
Figure 7 - Logical Entity Relationship Diagram

Entity Name Attributes Description

User_account user_id {PK} Unique identifier of account

role_id {FK} Unique identifier of role

game_server_id {FK} Unique identifier of game server

email Email of user

nick_name Nickname of user


password Password of user

59
address Address of user

phone Phone of user

coin Coin of user

point Point of user

gender Gender of user

lastJobSelected The last job user selected

status Status of user

create_at Account creation date

update_at Account update date

Role role_id {PK} Unique identifier of role

role_name Name of role

Game_server game_server_id {PK} Unique identifier of game server

game_version Version of game server

Game game_id {PK} Unique identifier of game

game_server_id {FK} Unique identifier of game server

create_at Game creation date

create_by Unique identifier of user

update_at Game update date

60
update_by Unique identifier of user

Game_mod game_mod_id {PK} Unique identifier of game mod

game_id Unique identifier of game

mod_name Name of game mod

image_url Image url of game mod

description Description of game mod

create_at Game mod creation date

create_by Unique identifier of user

update_at Game update date

update_by Unique identifier of user

Event_card event_card_id{PK} Unique identifier of event card

card_name Name of event card

Image_url image of event card

account_name game account name of event card

cost Cost of event card

down_pay Down pay of event card

Dept Dept of event card

cash_flow Cash flow of event card

61
trading_range Trading of event card

event_description Description of event card

event_type Type of event card

action Action of event card

game_mod_id {FK} Unique identifier of game mod

status Status of event card

Tile tile_id{PK} Unique identifier of tile

tile_type Type of tile

race_type Type of tile race

game_mod_id Unique identifier of game mod

Position position_id {PK} Unique identifier of position

tile_id Unique identifier of tile

value Value of position

Dream dream_id {PK} Unique identifier of dream

game_mod_id Unique identifier of game mod

name Name of dream

cost Cost of dream

status Status of dream

62
Game_match match_id {PK} Unique identifier of achievement

max_number_player Maximum number of player in


match

winner_id {FK} Unique identifier of user

host_id {FK} Unique identifier of user

last_host_id {FK} Unique identifier of user

start_time The start time of match

end_time The end time of match

total_round The total round of match

game_id {FK} Unique identifier of game

Game_report game_report_id {PK} Unique identifier of game report

children_amount The children amount in match

total_step Total step of match

total_money Total money of match

is_win Player is win or not

score Score of player in match

income_per_month Income per month of player in


match
expense_per_month Expense per month of player in
match

63
create_at Game report creation date

user_id Unique identifier of user

match_id Unique identifier of match

Asset_type asset_type_id {PK} Unique identifier of asset type

asset_type_name Name of asset type

create_at Asset type creation date

create_by Unique identifier of user

update_at Asset type update date

update_by Unique identifier of user

status Status of asset type

Asset asset_id {PK} Unique identifier of asset

asset_type_id {FK} Unique identifier of asset type

asset_name Name of asset

image_url Image url of asset

description Description of asset

create_at Asset creation date

create_by Unique identifier of user

update_at Asset update date

64
update_by Unique identifier of user

Game_account game_account_id{PK} Unique identifier of game account

account_type Type of game account

game_account_name Name of game account

status Status of game account

Job_card job_card_id{PK} Unique identifier of job card

job_name Name of job card

job_image_url Image url of job card

child_cost Cost per child of job card

create_at Job card creation date

create_by Unique identifier of user

update_at Job card update date

update_by Unique identifier of user

status Status of job card

User_job user_id{PK, FK} Unique identifier of user

job_card_id {PK, FK} Unique identifier of job card

Job_account game_account_id{PK, FK} Unique identifier of game account

job_card_id {PK, FK} Unique identifier of job card

65
value value of job account

User_asset user_id {PK, FK} Unique identifier of user

asset_id {PK, FK} Unique identifier of asset

create_at The time user buy asset

last_used The last time user use asset

Participant user_id {PK, FK} Unique identifier of user

match_id {PK, FK} Unique identifier of match

create_at Participant creation date


Table 34 - 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 should need less than 2 days of training to be productive in using the
system.
-Player should need 20 minutes of training to play game.
4.2.2 Reliability
- Admin should need training to be productive in using the system.
- Player need to play tutorial before play game.

66
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
- Website use English
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 web by admin account.

BR-02 Admin can not login game by admin account

BR-03 When first login game, player obligatory create name and job first

BR-04 Player and admin can view profile after login to system

BR-05 Player can update profile after login to game

BR-06 Username must be unique

BR-07 Player cannot buy item if don’t have enough money

BR-08 Username length of account must be 6 - 30 characters

BR-09 Password length of account must be 8 - 20 characters

BR-10 Confirm password obligatory like password

67
BR-11 Email must be true format Ex: [email protected]

BR-12 Name length of account must be 2 - 15 characters

BR-13 Player have to wait other player end turn to continue roll dice

BR-14 Player obligatory enough cash flow to be moved fasttrack

BR-15 Player must only can win by two ways

BR-16 Player only can match history if finish match

BR-17 Player cannot change outfit if don’t buy it in shop

BR-18 Player have to open inventory to change outfit

BR-19 Player or other player cannot start match if don’t ready in room

BR-20 Player can’t buy 2 of the same item

BR-21 Player obligatory have internet to play game

BR-22 Player
. must be talk to npc to create/join room

BR-23 Player only one way to have money when finish match

BR-24 Player obligatory create room name first to created room

BR-25 Player cannot control another player’s character

BR-26 Player cannot view event card of other players

BR-27 Player cannot view financial report of other players

BR-28 Player must be login first to play game

BR-29 Player choose job when first login

BR-30 Player only change job if choose job and create name before

68
BR-31 Game account name must be unique

BR-32 Account name of event card must be exist in the system

BR-33 Job name must be unique

BR-34 Dream name must be unique

BR-35 Asset name must be unique

BR-36 Value can not negative

BR-37 Only the admin can manage the event card

BR-38 Only the admin can manage the game account

BR-39 Only the admin can manage the dream

BR-40 Only the admin can manage the job

BR-41 Only the admin can manage the asset


Table 35 - Business rules

5.2 Application Messages List


# Message Message Context Content
code Type

1 MSG01 Toast Create account successfully Tạo tài khoản thành


message công

2 MSG02 Toast Input-required fields are Không ô nào được bỏ


message empty trống

3 MSG03 Toast Input username fields are Tên đăng nhập không

69
message invalid được bé hơn 6 và lớn
hơn 20

4 MSG04 Toast Authentication failed Sai tên đăng nhập hoặc


message mật khẩu

5 MSG05 Toast Exit match Bạn có chắc rằng muốn


message thoát game không?

6 MSG06 Toast Input password fields are Mật khâu không được
message invalid bé hơn 8

7 MSG07 Toast Input confirm password Xác nhận mật khẩu


message fields are not like password không trùng khớp

8 MSG08 Toast Register successfully tạo tài khoản thành


message công

9 MSG09 Toast Create event card Create event card


message successfully successfully

10 MSG10 Toast Update event card Update event card


message successfully successfully

11 MSG11 Toast Delete event card Delete event card


message successfully successfully

12 MSG12 Toast Create game account Create game account


message successfully successfully

70
13 MSG13 Toast Update game account Update game account
message successfully successfully

14 MSG14 Toast Delete game account Delete game account


message successfully successfully

15 MSG15 Toast Update job successfully Update job successfully


message

16 MSG16 Toast Update dream successfully Update dream


message successfully

17 MSG17 Toast Update asset successfully


message

Table 36 - Application messages

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

Figure 8 - System architecture

- The Cashflow Board game system consists of two components, the .NET Core
web server provides APIs, Reactjs is used for the web application. Web
application is provide for admin.
- Cashflow Boardgame System uses several third-party services such as FireBase
Storage to store Image Ui in game. Use Unity to build overall game , use photon
to build server for game.

72
1.2 Package Diagram
1.2.1 Web API Package Diagram

Figure 9 - Web API Package Diagram

73
1.2.2 Web Application Package Diagram

Figure 10 - Web Application Package Diagram

74
1.2.3 Game Application Package
Diagram

Figure 11 - Game Application Package Diagram

75
2. Database Design

Figure 12- MS SQL Database Design

76
Figure 13 - MongoDB Database Design

Table Descriptions

No Table Description
01 User_role Describe role in the system
02 Game_server Describe game server in the system
03 Game Describe game in the system
04 Game_mod Describe game mod in the system
05 User_account Describe user account in the system
06 Asset_type Describe asset type in the system
07 Asset Describe asset in the system
08 User_asset Describe user asset in the system

77
09 Game_match Describe game match in the system
10 Participant Describe participant in the system
11 Game_report Describe game report in the system
12 Event_card Describe event card in the system
13 Job_card Describe job card in the system
14 Dream Describe dream in the system
15 Tile Describe tile in the system
16 Game_account Describe game account in the system
Table 37 - Table Data Descriptions

Attribute Data Dictionary

Entity Name Attributes Description Domain Null

User_role role_id{PK} Unique identifier of role int No

role_name Name of role nvarchar(10) No

Game_server game_server_id {PK} Unique identifier of int No


game server

game_version Version of game nvarchar(20) No

Game game_id Unique identifier of int No


Game

game_name Name of game varchar(20) No

description Description of game varchar(200) No

78
create_at Game create date datetime No

create_by Unique identifier of user int No


account

update_at Game update date datetime Yes

update_by Unique identifier of user int Yes


account
status Status of game boolean No

game_server_id{FK} Foreign key, game int No


server identifier
Game_mod game_mod_id Unique identifier of int No
game mod

mod_name Name of game mod nvarchar(20) No

image_url Image url of game mod nvarchar(200) No

description Description of game nvarchar(200) No


mod

create_at Game mod update date datetime No

create_by Unique identifier of user int No


account
update_at Game mod up datetime Yes

update_by Unique identifier of user int Yes


account

status Status of game mod boolean No

79
game_id {FK} Foreign key, game int No
identifier

User_account user_id {PK} Unique identifier of user varchar(50) No


account
user_name User name of user nvarchar(200) No
account
pashword_hash Password hash of user nvarchar(200) No
account
nick_name Nick name of user nvarchar(12) No
account
email Email of user account varchar(50) No

image_url Image of user account varchar(50) Yes

phone Phone of user account varchar(10) Yes

coin Coin of user account float No

point Point of user account float No

gender Gender of user account nvarchar(20) Yes

lastJobSelected Last job selected by user nvarchar(20) Yes


account

status Status of user account boolean No

address Address of user account nvarchar(300) Yes

create_at User account create datetime No


date

update_at User account update datetime Yes

80
date

game_server_id Unique identifier of int No


game server

role_id {FK} Unique identifier of role int No

Asset_type asset_type_id {PK} Unique identifier of int No


asset type
asset_type_name Note of rating nvarchar(200) No

Asset asset_id{PK} Unique identifier of int No


asset
asset_name Foreign key, account varchar(50) No
identifier
image_url Image of asset nvarchar(200) No

asset_price Price of asset float No

description Description of asset nvarchar(500) No

is_in_shop Verify this asset is in the boolean No


shop or not
create_at Game mod update date datetime No

create_by Unique identifier of user int No


account

update_at Game mod up datetime Yes

update_by Unique identifier of user int Yes


account

status Status of asset boolean

81
asset_type_id{FK} Unique identifier of int No
asset type

User_asset user_id{PK, FK} Unique identifier of user int No


account
asset_id {Pk, FK} Unique identifier of int No
asset
create_at Datetime user buy asset datetime No

last_used Last time user use asset datetime No

Game_match match_id{PK} Unique identifier of character(36) No


game match
max_number_player Max number of player in int No
match
start_time Datetime match start datetime No

end_time Datetime match end datetime Yes

total_round Foreign key, translator int No


identifier

winner_id Unique identifier of user int No


account

host_id Unique identifier of user int No


account
last_host_id Unique identifier of user int No
account

game_mod_id {FK} Unique identifier of int No


game mod
Participant user_id {PK, FK} Unique identifier of user int No

82
account

match_id {PK, FK} Unique identifier of character(36) No


game match

create_at Participant create date datetime No

Game_report report_id {PK} Unique identifier of varchar(50) No


game report
children_amount Foreign key, project varchar(50) No
identifier
total_money Total money of player in
match
total_step Total step of player in float No
match
is_win Verify player is win or boolean No
not

score Score of player in match float No

income_per_month Income per month of float No


player in match

expense_per_month Expense per month of float No


player in match
create_at Report create date datetime No

match_id Unique identifier of character(36) No


game match

user_id Unique identifier of user int No


account
Event_card _id{PK} Unique identifier of objectId No

83
event card

card_name Name of event card string No

Image_url Image of event card string No

account_name Game account name of string No


event card

cost Cost of event card double No

down_pay Down pay of event card double No

Dept Dept of event card double No

cash_flow Cash flow of event card double No

trading_range Trading of event card string No

event_description Description of event string No


card
event_type Type of event card string No

action Action of event card int No

game_mod_id {FK} Unique identifier of int No


game mod
status Status of event card bool Yes

Tile _id{PK} Unique identifier of tile objectId No

tile_type Type of tile string No

position Position of tile array No

84
race_type Type of tile race string No

game_mod_id Unique identifier of int No


game mod

Game_accoun _id{PK} Unique identifier of objectId No


t game account
game_account_type Type of game account string No

game_account_name Name of game account string No

status Status of game account bool No

Dream _id {PK} Unique identifier of objectId No


dream

name Name of dream string No

cost Cost of dream double No

status Status of dream bool No

game_mod_id Unique identifier of double No


game mod id
Job_card _id {PK} Unique identifier of job objectId No
card
job_card_name Name of job card string No

children_cost Cost per child double No

image_url Image of job card string No

85
status Status of job card bool No

game_accounts List game account of job object No


card
Table 38 - Attribute Data Description

3. Detailed Design
3.1 Start game match Feature
3.1.1 Class Diagram

Figure 14 - Start game match Feature Class Diagram

86
3.1.2 Class Specification
a. Start Game Service

No Method Description
1 JoinLobby(NetworkRunner runner) handles join lobby
2 JoinRoom(string roomName) handles join room
3 OnSessionListUpdated(NetworkRun handles update list rooms
ner runner, List<SessionInfo> information
sessionList)
4 OnPlayerJoined(NetworkRunner handles player joined room
runner, PlayerRef player)
5 OnPlayerLeft(NetworkRunner handles player left room
runner, PlayerRef player)
6 CheckAllPlayerIsReady() handle all players is ready
7 UpdatePlayerList() handles start game
8 SetPlayerNetworkData() handles set player information
9 Spawned() handles player data after spawned
10 SetPlayerName_RPC(string name) handles player name
11 SetReady_RPC(bool isReady) handles player ready
12 LeftRoom_RPC(bool isLeftRoom) handles player left room
Table 39 - Start Game Service Class Specification

87
3.1.3 Start Game Sequence Diagram

Figure 15- Start Game Sequence Diagram

88
3.1.4 Join Room Sequence Diagram

Figure 16- Start Game Sequence Diagram

89
3.1.5 Host Room Sequence Diagram

Figure 17- Start Game Sequence Diagram

90
3.2 Buy Item In Shop Feature
3.2.1 Class Diagram

Figure 18 - Buy item in shop Feature Class Diagram

3.2.2 Class Specification


a. Buy item Service

91
No Method Description
1 Purchase() Send request to server for buy the
item
Table 40- Buy Item Service Class Specification

3.2.3 Get Asset in Shop Sequence Diagram

Figure 19 - Get asset in shop Activity Diagram

92
3.2.4 Buy Character Sequence Diagram

Figure 20 - Buy character Sequence Diagram

93
3.3 Change outfit Feature
3.3.1 Class Diagram

Figure 21 - Change outfit Feature Class Diagram

3.3.2 Class Specification


a. Change outfit Service

94
No Method Description
1 Load_All_My_Assets() Send request to server to get all player’s asset
2 SelectCharacter() Send request to server to update lasted
character (outfit) selected
3 ChangeOutfit(Character_Item) Update 3D model in scene and apply
animation to new model.
Table 41 - Change outfit Service Class Specification

3.3.3 Get Player Asset Sequence Diagram

Figure 22 - Get Player Asset Sequence Diagram

95
3.3.4 Update Character Selected Sequence Diagram

Figure 23 - Update Character Selected Sequence Diagram

96
3.4 Change Job Feature
3.4.1 Class Diagram

Figure 24 - Change Job Feature Class Diagram

3.4.2 Class Specification


a. Change Job Service

No Method Description
1 Loading_Job_Data() send request to API to get Job
information

97
2 UpdateLastJobSelected() send update request to API to
update last job user selected
3 UpdateAccount() send update request to API to
update player information
Table 42 - Change job Service Class Specification

3.4.3 Get Job Sequence Diagram

Figure 25- Get Job Sequence Diagram

98
3.4.3 Update Player Job Sequence Diagram

Figure 26 - Update Player Job Sequence Diagram

99
3.5 Play Game Match Feature
3.5.1 Class Diagram

Figure 27 - Play Game Match Feature Class Diagram

3.5.2 Class Specification


a. Play game Service

No Method Description
1 ApplyBigDeal_FatRace(Big_Deal_Card) Apply the deal when player click to
button accept during play time

100
2 ApplyJobToFinancial(Job_Card) Apply the Job when player click to
button accept after load in to
scene
3 ApplySmallDeal(Small_Deal_Card,int Apply the deal when player click to
amount) button accept during play time
4 LoadAllDeal() Send request to API to get all event
card and filter the event card
5 CheckPlayerWinner() Checking the winner, if exist,
EndGame Flag will set to true.
6 UpdateProfilePlayer() Update information each player in
UI
7 RPC_nextTurn(Turn playerTurn) Handles check to next turn
8 SpawnAllPlayers() Handles spawn all player
Table 43 - Play game Service Class Specification

b. Player Service

No Method Description
1 OnRollDice() handles player click roll dice
2 RollTheDice() handles start roll dice
3 SelectJoB() handles player’s job
4 MoveCameraOnCirle() handles camera on board game
5 MoveToFatRace() handles player move rat race to fat race
6 OnStepChanged() handles player’s step changed
7 ShowResult() handles show player’s result
8 Move(Player player, int step, handles player’s move

101
BoardType boardType)
9 isDreamTile(Tile tile) handles check dream tile
10 RPC_MovingToFatRace(RpcInfo info = handles player move to fat race in
default) multiplayer
11 MoveFatRace(Player player) handles player move rat race to fat race
12 RPC_Moving(BoardType boardType , handles player move in multiplayer
RpcInfo info = default)
13 MoveToNextTiles(Vector3 nextTiles) handles player move to next tile
14 PopupPanel(Tile tile) handles show popup of event
15 Dream(int pos) handles player’s dream
16 Divorce() handles player's divorce
17 CashFlowDay() handles player's cash flow day
18 Accused() handles player's accused
19 Taxes() handles player's taxes
20 Paycheck() handles player's paycheck
21 Doodads() handles player's doodads event
22 DownSize() handles player's downsize event
23 Charity() handles player's charity event
24 Baby() handles player’s baby
Table 44 - Player Service Class Specification

c. Game Board Service

No Method Description
1 SpawnTiles() Spawn the tile to create the board

102
2 Set_Tiles_Type() Set the event type of Tile
3 Spawn_Rat_Race(int NumberTiles_Rat_Race) Spawn the tile in Rat Race with
parameter
4 Load_Dream() Send request to API to get all dream
in match and set dream to tile
5 Spawn_Fat_Race(int NumberTiles_Fat_Race) Spawn the tile in Fat Race with
parameter
Table 45 - Game board Service Class Specification

3.5.3 Get Title Sequence Diagram

Figure 28 - Get Title Sequence Diagram

103
3.5.4 Get Dreams Sequence Diagram

Figure 29 - Get Dreams Sequence Diagram

104
3.5.5 Get Event Card Sequence Diagram

Figure 30 - Get Event Cards Sequence Diagram

105
3.6 Manage Event Card Feature
3.6.1 Class Diagram

Figure 31 - <Class Diagram> Admin manage event card

3.6.2 Class Specification


a. Manage Event Card Service

No Method Description
1 GetByModIdAsync(id) handles view list of by mod id

106
2 CreateAsync(EventCard) handles create event card
3 UpdateAsync(id, EventCard) handles update event card by id
4 InActiveAsync(id) handles update status of event card to false
Table 46 - Manage event card Service Class Specification

3.6.3 Create event card Sequence Diagram

Figure 32<Sequence Diagram> Admin create event card

107
3.6.4 Update event card Sequence Diagram

Figure 33- <Sequence Diagram> Admin update event card

108
3.6.5 Delete event card Sequence Diagram

Figure 34 - <Sequence Diagram> Admin inactive event card

109
3.7 Manage Dream Feature
3.7.1 Class Diagram

Figure 35 - <Class Diagram> Admin manage dream

3.7.2 Class Specification


a. Update dream Service

No Method Description
1 GetDreamByModId(id) handles view list of dream by mod id
2 UpdateAsync(id, Dream) handles update a dream
Table 47 - Mange dream Service Class Specification

110
3.7.3 Update dream Sequence Diagram

Figure 36 - <Sequence Diagram> Admin update dream

111
3.8 Manage Game Account Feature
3.8.1 Class Diagram

Figure 37 - <Class Diagram> Admin manage game account

3.8.2 Class Specification


a. Manage game account Service

No Method Description
1 GetAllAsync() handles view list of game account
2 CreateAsync(GameAccount) handles create game account
3 UpdateAsync(id, GameAccount) handles update game account
4 InActiveAsync(id) handles update status of dream to false
Table 48- Manage game account Service Class Specification

112
3.8.3 Create game account Sequence Diagram

Figure 38 - <Sequence Diagram> Admin create game account

113
3.8.4 Update game account Sequence Diagram

Figure 39- <Sequence Diagram> Admin update game account

114
3.8.5 Delete game account Sequence Diagram

Figure 40 - <Sequence Diagram> Admin inactive game account

115
3.9 Manage Job Feature
3.9.1 Class Diagram

Figure 41 - <Class Diagram> Admin update job

3.9.2 Class Specification


a. Update job Service

No Method Description
1 GetAllAsync() handles view list of job card
2 UpdateAsync(id, JobCard) handles update job card
Table 49- Mange Job Service Class Specification

116
3.9.3 Update Job Sequence Diagram

Figure 42 - <Sequence Diagram> Admin update job

117
3.10 Match History Feature
3.10.1 View History Sequence Diagram

Figure 43 - <Sequence Diagram> view history

118
3.10.2 Create Match History

Figure 44 - <Sequence Diagram> Create Match history

119
3.10.3 Update Match History

Figure 45 - <Sequence Diagram> Update Match history

120
3.11 Manage Asset Feature
3.11.1 Class Diagram

Figure 46- <Class Diagram> Mange asset feature

3.11.2 Class Specification


a. Manage Asset Service

No Method Description
1 GetAllAsync() handles view list of asset
2 UpdateAsync(id, Asset) handles update asset
Table 50 - Manage Asset Service Class Specification

121
3.11.3 Update Asset Sequence Diagram

Figure 47 - <Sequence Diagram> Admin update asset

122
4. Game Design
https://docs.google.com/document/d/1I8RrIUQ4vokPDTAnUo6cf-1owmzkzguPYsv0b-
6ZOnw/edit?usp=sharing
4.1 Concept Board

4.2 Art
4.2.1 Art Button
Drawing button pictures:

Image 1:Setting button

123
Image 2: Invetory button

Image 3: Friend button

Image 4: Bank button

124
Image 5: Achievement button

Image 6: Financial report button

Image 7: Shop button

125
Image 8: Match history button

Image 9: Pay loan button

Image 10: Change job

126
Image 11: Roll dice button

Image 12: Other button in game

4.2.2 Art UI
● Some picture was make by AI
● Drawing UI picture:

Image 13: Logo in game

Image 14: Icon job info

127
Image 15: Background login/register

Image 16: Art win/lose

128
Image 17:Some of the pictures are used as event card in the match

Image 18: Some of the pictures are used as dream in the match

129
Image 19: Art show basic info player

Image 20: Attention in game

Image 21: Some other decorative images and icons

4.2.3 Art Character


● Due to limited ability to draw by yourself, there are some from the unity asset
store.
● Player outfit:

130
Image 22: Player outfit

● Player job:

Image 23: Player job

131
● Npc: NPCs will appear in the map so players can interact or do quests:

Image 24: NPC

4.3 Game Feature


4.3.1 Control Character
4.3.1.1 PLayer move
Description: Allows the player to move back and forth in many directions and has a
moving animation.
Content: Made for player to move in the direction of joystick and have animation.

Image 25: The character moves in the direction of the joystick

132
4.3.1.2 Player's fast running
Description: Player will run quickly towards the joystick when pressing the button on
the screen.
Content: Made for the player to run fast in the direction of the joystick that the player
controls, if not, the player will not run

Image 26: The character runs when the run button is pressed

4.3.1.3 Player's Jump


Description: Player jumps when pressing the jump button on the screen.
Content: Implemented for the player to be able to jump when pressing the jump
button. And when possible, combine moving and jumping at the same time.

Image 27: The character runs when the jump button is pressed

133
4.3.2 Create an online match
4.3.2.1 Create a playroom or join a playroom
Description: Players can create or enter an existing playroom to start the match.
Content: Use Photon fusion to make a game server, and use it to create a playroom.
Some pictures:

Image 28: List room

Image 29: In room

4.3.3 Play Game


4.3.3.1 Move on the chessboard
Description: Move the piece when the dice roll button is pressed.
Content: Move the correct number of squares to the number of dice rolled.

134
Image 30: Roll the dice and move

4.3.3.2 Make events in the Rat Race


Description: Player moves to cell and executes event within Ratrace
Content: The player rolls the dice and moves to the tile, and each tile contains an event
type. Player can either fire the event or ignore it (if allowed).
Some pictures:

Image 31: Make a Doodad event

135
Image 32: Make a Market event

Image 33: Make a Big Deal/Small Deal event

4.3.3.3 Move out the Fasttrack


Description: From the Ratrace move outside the fasttrack
Content: Eligible cash flows in the financial statements within Rat Race will
automatically move out of the Fasttrack.
Some pictures:

136
Image 34: Conditions to get out of Fasttrack

Image 35: Player moves to the Fasttrack

4.3.3.4 Make events in the Fasttrack


Description: Player moves to cell and executes event within Fasttrack
Content: The player rolls the dice and moves to the tile, and each tile contains an event
type. Player can either fire the event or ignore it (if allowed).
Some pictures:

137
Image 36: Make an opportunity event

Image 37: Make an problem event

4.3.3.5 Win match


Description: Player reaches the condition and wins
Content: Player accumulates enough money that the game offers or enough money to
buy his dream to be able to win the match.
Some pictures:

138
Image 38: Earn enough income to win

Image 39: Buy your dream to win

139
Image 40: Image of players win or lose

4.3.4 Owning and changing outfits


4.3.4.1 Buy outfit
Description: Buy outfit in shop.
Content: Use the money earned through playing the game to enter the shop to buy the
costumes for sale and own them.

140
Image 41: Shop before and after buying outfit

4.3.4.2 View inventory and change outfits


Description: View inventory and change outfits
Content: Open the inventory to see the purchased skins, click on the outfit image to
change the outfit.

141
Image 42: Before changing outfit

Image 43: Inside the inventory

142
Image 44: After changing outfit

4.3.5 Change Job


Description: Change player's job.
Content: Change the player's current job.

Image 45: Changing job is available in the game

4.3.6 Build map and chessboards


4.3.6.1 Main map
Description: A large area where players can go. Here you can find classrooms
containing events and NPCs.
Content: Build 3D map according to real parameters based on FPT University.

143
Image 46: Overall map

4.3.6.2 Chessboard
Description: This is where chess pieces and events appear.
Content: Build a chessboard in the classroom selected in the map.

Image 47: Overall chessboard

4.3.7 Make UI for game


Description:
● Making the login and registration UI

144
● Making setting UI
● Making match history UI
● Making the job selection screen and create a name for the first player created in
account
● Some UI in game and match
Content: The function buttons are all done.

Image 48:Login UI

145
Image 49:Register UI

Image 50: Create character UI

146
Image 51:Shop UI

Image 52: Match history UI

4.3.8 Add sounds


Description: Add background sound to the game.
Content: Add sound to the game. Write an AudioManager to manage the background
sound and effects, you can adjust the volume up and down in the game options.
Music in the game:
● Infinite Doors
● Potato

147
4.3.8 Game optimization
Description:
● Optimize UI interface to suit more phone devices.
● Optimize 3D models in the game to reduce capacity and optimize performance.
Content: Adjusted UI to suit many devices.

148
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 51 - Test Stages

2.2 Resources
Worker Role Specific Responsibilities

Thái Đức Lợi Leader Planning, execute, verify test result

Trịnh Gia Huy Member Planning, execute, verify test result

149
Nguyễn Phùng Công
Member Planning, execute, verify test result
Danh

Dương Kim Long Member Planning, execute, verify test result


Table 52 - Resources

2.3 Test Milestones


No. Deliverables Due Date

1 Test Document 30/04/2023


Table 53 - Test Milestones

3. Test Cases and Test Reports


Testing Level File Name

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

TestCase
Table 56 - Test Cases and Test Reports

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

No. Items Sub-Items Type Version


Code Package
1 Web iMobileBasedCashFlowWebUI.zip New 1.0.0
Module
2 Web API MobileBasedCashFlowAPI.zip New 1.0.0
Module
3 Game Cash_Flow.zip New 1.0.0
Database
1 Initialise MobileBasedCashFlowGame.sql New
Database
Documents
1 Final Project MobileBasedCashFlow-FinalReport_Full.docx
Report
Table 54 - Source codes & documents

1.2 Known Issues, Limitations & Restrictions


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

151
2. Installation Guides
2.1 System Requirements
2.1.1 Web application

PC Minimum Recommend

Internet connection LAN, internet access LAN, Wi-fi (16 Mbps)


capability
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 55 - <System Requirements> Web application

2.1.2 Game application

Mobile Minimum Recommend


Internet connection Wi-fi LAN, Wi-fi (16 Mbps)
Processor
Kirin 659 Snapdragon 712

Memory 4GB RAM 8GB RAM up


Storage 4GB 6GB up
Table 56 - <System Requirements> Software requirement

2.2 Setup Files


MobileBasedCashFlowGame.sql: Database script for system
MobileBasedCashFlowAPI.zip: API for services
MobileBasedCashFlowWebUI.zip

152
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: MobileBasedCashFlowAPI.zip

Figure 48- Setup Backend API

+ Open MobileBasedCashFlowAPI.sln file with Visual Studio


+ Config your database connection

153
Figure 49 - Setup Backend API

+ Run project

Figure 50 - Setup Backend API

+ Test project in browser by go to url: https://localhost:44310/index.html


+ Username: admin pass 12345678

154
Figure 51 - Setup Backend API

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 MobileBasedCashFlowWebUI.zip and open folder with Visual Studio
Code
+ Open terminal and enter npm I:

Figure 52- Setup Management Web

+ Change baseUrl based on your backend configuration

155
Figure 53 - Setup Management Web

+ In terminal, enter npm start

Figure 54 - Setup Management Web

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

156
3 User Manual
3.1 Overview
- Admin manage dream, game account, asset , event card and user
- Player can play game, create room, join room, change outfit, view history,
shopping, change job,.
3.2 Application Usage
3.2.1 Guest register account

157
1. Click “đăng ký” button in login scene
2. Enter username: Longdklong
3. Enter email: [email protected]
4. Enter password: 123465789
5. Enter confirm password: 123465789
6. Click “đăng ký” button

158
3.2.2 Player login into game

1. Enter username: LongdkLong


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

3.2.3 Create name and choose job

1. Swipe to choose job


2. Enter name: “Zero”
3. Click “Xác nhận ” button

159
3.2.3 Talk npc to switch scene lobby

1. Use joystick to control character move near npc


2. Click white text to switch scene lobby

3.2.4 Player View list room and join or create room

160
1. Click “Tham gia” button to join room
2. Click “ Sẵn Sàng “ to start the match

3.2.5 Play game

1. View detail info job


2. Click “Chấp nhận” button to accept

161
3.2.6 Roll Dice

1. Click “Đổ Xúc Xắc” button to roll Dice

3.2.7 Do Ratrace event

162
1. Click “Chấp Nhận” button to accept envent card

2. Only big deal/small deal card player can click “Từ chối” button to cancel event

163
3.2.8 View financial report

1. Click button have report icon

2. If it slider have 100% player can move out to fasttrack

164
3.2.9 Move out Fasttrack

3.2.10 Do event in Fasttrack

165
1. Click “Chấp nhận” or “Ok” button to do event card in Fasttrack

3.2.11 View financial report in Fasttrack

1. Click button have report icon

166
3.2.12 Finish game

1. If it current income equal income target player can win game

167
2. Or player can win game by buy dream
3. Click “Muốn” button to buy dream

168
4. Click “Ok” button to finish match

3.2.13 View match history

1. Click button have icon History

169
3.2.14 Buy item

170
2. Click button have icon shop
3. Click button “Get” to buy item
4. Item has been purchased will be disappear in shop

3.2.15 Change outfit

171
172
1. Click button have icon Inventory
2. Click button have outfit picture
3. Click back button to see outfit change

3.2.16 Admin login

1. Enter UserName: Admin


2. Enter Password:12345678
3. Click Login button

173
3.2.17 Admin Create Event Card

1. Click Event Card button in navbar


2. Click “New Card” button

174
3. Fill all information
4. Click “Create” button

3.2.18 Admin update event card

175
1. Click “edit” icon button on the row want to update
2. Fill all information
3. Click “Update”

176
3.2.19 Admin delete event card

1. Click “bin” icon button on the row want to delete


2. Click “Yes” button to delete or “No” to cancel

177
3.2.20 Admin update job

1. Click Job button in navbar


2. Click “edit” icon button on the row want to update

178
3. Fill all information
4. Click “Update” button

3.2.21 Admin update dream

179
1. Click Dream button in navbar
2. Click “edit” icon button on the row want to update
3. Fill all information
4. Click “Update” button

3.2.22 Admin create game account

180
1. Click Game account button in navbar
2. Click “New Game Account” button
3. FIll all information
4. Click “Create” button

181
3.2.23 Admin update game account

1. Click “edit” icon button on the row want to update


2. FIll all information
3. Click “Update” button

182
3.2.24 Admin delete game account

1. Click “bin” icon button on the row want to delete

183
2. Click “Yes” button to delete or “No” to cancel

3.2.25 Admin Update asset

184
1. Click Asset button in navbar
2. Click “edit” icon button on the row want to update
3. Fill all information
4. Click “Update” button

185

You might also like