Capstone: Second-Hand Market
Capstone: Second-Hand Market
FPT UNIVERSITY
<2HMarket>
Diep The Sang - Leader - DE140025
Nguyen Phuc Ngoc Thanh - Member- DE140120
Group Members
Hoang Hai Đang - Member - DE140112
Tran Thanh Long - Member - DE140145
Vo Duc Hoang – HoangVD7
Supervisor
Ly Quynh Tran – TranLQ
Capstone Project code SCH
1|Page
Table of Contents
I. Acknowledgement ................................................................................................................ 11
II. Definition and Acronyms .................................................................................................... 12
III. Project Introduction ........................................................................................................... 12
1. Overview .......................................................................................................................... 12
1.1. Project Information .................................................................................................... 12
1.2. Project team ............................................................................................................... 13
2. Product Background ......................................................................................................... 14
3. Existing Systems .............................................................................................................. 14
3.1 ChoTot ........................................................................................................................ 14
3.2 Chodocu.com .............................................................................................................. 15
4. Business Opportunity ....................................................................................................... 16
5. Software Product Vision .................................................................................................. 16
6. Project Scope & Limitations ............................................................................................ 17
6.1 Major Features ............................................................................................................ 17
6.2 Limitations & Exclusions ........................................................................................... 18
IV. Project Management Plan .................................................................................................. 19
1. Overview .......................................................................................................................... 19
1.1 Scope & Estimation .................................................................................................... 19
1.2 Project Objectives ....................................................................................................... 19
1.3 Project Risks ............................................................................................................... 20
2. Management Approach .................................................................................................... 20
2.1 Project Process ............................................................................................................ 20
2.2 Quality Management .................................................................................................. 21
2.3 Training Plan .............................................................................................................. 22
3. Project Deliverables ......................................................................................................... 22
4. Responsibility Assignments ............................................................................................. 23
4.1 Team & Structures ...................................................................................................... 23
4.2 Responsibility Assignments ....................................................................................... 23
5. Project Communications .................................................................................................. 24
6. Configuration Management.............................................................................................. 25
6.1 Document Management .............................................................................................. 25
6.2 Source Code Management .......................................................................................... 26
6.3 Tools & Infrastructures ............................................................................................... 27
V. Software Requirement Specification .................................................................................. 28
2|Page
1. Product Overview ............................................................................................................. 28
2. User Requirements ........................................................................................................... 28
2.1 Actors.......................................................................................................................... 28
2.2 Use Cases .................................................................................................................... 28
3. Functional Requirements ................................................................................................. 52
3.1 System Functional Overview...................................................................................... 52
3.2 Account services ......................................................................................................... 57
3.3 Profile ......................................................................................................................... 58
3.4 Buyer services............................................................................................................. 62
3.5 Seller services ............................................................................................................. 69
4. Non-Functional Requirements ......................................................................................... 73
4.1 External Interfaces: ..................................................................................................... 73
4.2 Quality Attributes ....................................................................................................... 73
5. Requirement Appendix .................................................................................................... 74
5.1 Business Rules ............................................................................................................ 74
5.2 Common Requirements .............................................................................................. 75
5.3 Application Messages List.......................................................................................... 75
VI. Software Design Document ............................................................................................... 76
1. System Design .................................................................................................................. 76
1.1 System Architecture ................................................................................................... 77
1.2 Package Diagram ........................................................................................................ 85
2. Database Design ............................................................................................................... 87
3. Detailed Design ................................................................................................................ 89
3.1 Class Diagram............................................................................................................ 89
3.2 Class Specifications ................................................................................................... 90
3.3 Sequence Diagrams .................................................................................................... 97
VII. Testing Documentation .................................................................................................. 119
1. Scope of Testing ............................................................................................................. 119
2. Test Strategy................................................................................................................... 119
2.1 Testing Types ........................................................................................................... 119
2.2 Test Levels ................................................................................................................... 120
2.3 Supporting Tools ...................................................................................................... 120
2.4 Test Processes ........................................................................................................... 121
3. Test Plan ......................................................................................................................... 121
3.1 Human Resources ..................................................................................................... 121
3|Page
3.2 Test Environment ..................................................................................................... 122
3.3 Test Milestones ......................................................................................................... 122
4. Test Cases ....................................................................................................................... 123
4.1 Integration and System Test ..................................................................................... 123
5. Detect Log: ..................................................................................................................... 124
6. Test Reports.................................................................................................................... 124
6.1 Unit Test Report 1 .................................................................................................... 124
6.2 API Testing ............................................................................................................... 132
6.3 System Test Case Reports ........................................................................................ 134
VIII. Release Package & User Guides ................................................................................... 136
1. Deliverable Package ....................................................................................................... 136
2. Installation Guides.......................................................................................................... 136
2.1 System Requirements ............................................................................................... 136
2.2 Installation Instruction .............................................................................................. 136
3. User Manual ................................................................................................................... 137
3.1 Web Feature ................................................................................................................. 137
3.1.2 Register .................................................................................................................. 137
3.1.1 Login ...................................................................................................................... 139
3.1.3 Logout .................................................................................................................... 140
3.1.4 Search Product ....................................................................................................... 140
3.1.5 View Product ......................................................................................................... 142
3.1.6 Filter product ......................................................................................................... 145
3.1.7 Manage product to sell .......................................................................................... 152
3.1.8 Post product to sell ................................................................................................ 167
3.1.9 Create auction ........................................................................................................ 170
3.1.10 Manage auction product ...................................................................................... 177
3.1.11 Schedule product auction..................................................................................... 185
3.1.12 View other user’s account ................................................................................... 190
3.1.13 Manage order ....................................................................................................... 192
3.1.15 Buy product ......................................................................................................... 194
3.1.16 Payment ............................................................................................................... 196
3.1.17 Add Favourite product ......................................................................................... 199
3.1.18 Manage favourite product list .............................................................................. 200
3.1.19 Admin manage account ....................................................................................... 202
IX. Conclusion ....................................................................................................................... 203
4|Page
1.Summary of the results of the project have been achieved ............................................. 203
2. Advantages and disadvantages of the software/solution compared to the set goals ...... 203
2.1 Advantages ............................................................................................................... 203
2.2 Disadvantages ........................................................................................................... 203
3. In the next stage.............................................................................................................. 203
X. Appendix References ........................................................................................................ 204
Table of Tables
Table 1: Defition and Acronyms.............................................................................................. 12
Table 2: Supervior.................................................................................................................... 13
Table 3: Team Members .......................................................................................................... 13
Table 4: Project Objectives ...................................................................................................... 19
Table 5: Project Risks .............................................................................................................. 20
Table 6: Tranning Plan............................................................................................................. 22
Table 7: Project Deliverables ................................................................................................... 23
Table 8: Responsibility Assignments....................................................................................... 24
Table 9: Project Communications ............................................................................................ 24
Table 10: Document Management ........................................................................................... 26
Table 11: Tools & Infrastructures ............................................................................................ 27
Table 12: Actors ....................................................................................................................... 28
Table 13: Use cases list ............................................................................................................ 37
Table 14: UC 01 Register ........................................................................................................ 37
Table 15: UC 02 Login ............................................................................................................ 38
Table 16: UC 03 Search product by name ............................................................................... 39
Table 17: UC 04 View product ................................................................................................ 40
Table 18: UC 05 Filter product by category ............................................................................ 40
Table 19: UC 06 Filter product by location ............................................................................. 41
Table 20: UC 07 Manage product to sell ................................................................................. 42
Table 21: UC 08 Post product to sell ....................................................................................... 43
Table 22: UC 09 Manage auction product ............................................................................... 43
Table 23: UC 10 Schedule product auction ............................................................................. 44
Table 24: UC 11 Create auction............................................................................................... 45
Table 25: UC 12 View other user's account information......................................................... 45
Table 26: UC 13 View money in account ................................................................................ 46
Table 27: UC 14 Deposit money into your account ................................................................ 46
Table 28: UC 15 Manage order ............................................................................................... 47
Table 29: UC 16 Buy product .................................................................................................. 48
Table 30: UC 17 Payment ........................................................................................................ 48
Table 31: UC 18 Mange favourite product list ........................................................................ 49
Table 32: UC 19 Add favourite product .................................................................................. 49
Table 33: UC 20 Manage messages ......................................................................................... 50
Table 34: UC 21 Manage account ........................................................................................... 50
5|Page
Table 35: UC 22 Manage category .......................................................................................... 51
Table 36: UC 23 Manage all posting ....................................................................................... 51
Table 37: UC 24 Statistics and Report ..................................................................................... 52
Table 38: UC 25 Manger all account ....................................................................................... 52
Table 39: Screen Descriptions ................................................................................................. 54
Table 40: Screen Authoriztion ................................................................................................. 55
Table 41: Non-Screen Functions ............................................................................................. 56
Table 42: Entities Description ................................................................................................. 57
Table 43: Domanin bussiness rules.......................................................................................... 74
Table 44: Specific bussiness rule ............................................................................................. 75
Table 45: Application Messages List ....................................................................................... 75
Table 46: Table Descriptions ................................................................................................... 88
Table 47: Users ........................................................................................................................ 90
Table 48: Posts ......................................................................................................................... 92
Table 49: Origins ..................................................................................................................... 92
Table 50: PostImages ............................................................................................................... 92
Table 51: Categories ................................................................................................................ 93
Table 52: Likes ........................................................................................................................ 93
Table 53: PostCondition .......................................................................................................... 94
Table 54: PostActive ................................................................................................................ 94
Table 55: Warranties ................................................................................................................ 94
Table 56: Carts ......................................................................................................................... 95
Table 57: Transactions ............................................................................................................. 95
Table 58: Order ........................................................................................................................ 96
Table 59: BidOrder .................................................................................................................. 97
Table 60: Scope of Testing .................................................................................................... 119
Table 61: Test Levels ............................................................................................................. 120
Table 62: Hardware................................................................................................................ 120
Table 63: Software ................................................................................................................. 121
Table 64: Human Resources .................................................................................................. 122
Table 65: Test Environment................................................................................................... 122
Table 66: Test Milestones ...................................................................................................... 123
Table 67: Integration and System Test .................................................................................. 123
Table 68: Detect Log ............................................................................................................. 124
Table 69: Unit Test Report 1 ................................................................................................. 132
Table 70: Open API UI .......................................................................................................... 132
Table 71: Open API Reques UI ............................................................................................. 133
Table 72: Deliverable Package .............................................................................................. 136
Table 73: Hardware Requirements ........................................................................................ 136
Table 74: Software Requirement ........................................................................................... 136
Table of Figures
Figure 1: ChoTot System ......................................................................................................... 14
Figure 2: Chodocu.com System ............................................................................................... 15
Figure 3: Major Features .......................................................................................................... 18
6|Page
Figure 4: Project Process ......................................................................................................... 21
Figure 5: Quality Management ................................................................................................ 22
Figure 6: Project Deliverables ................................................................................................. 22
Figure 7: Project Organization ................................................................................................. 23
Figure 8: Document Management 1 ........................................................................................ 25
Figure 9: Document Management 2 ........................................................................................ 25
Figure 10: Second-Hand Market Subsystem ........................................................................... 29
Figure 11: Use case for Manage Account ................................................................................ 30
Figure 12: Use case for Manage product posts ........................................................................ 31
Figure 13: Use case for Manage Messages .............................................................................. 32
Figure 14: Use case for Manage Order .................................................................................... 33
Figure 15: Use case for Manage E-wallet ................................................................................ 34
Figure 16: Use case for System Management.......................................................................... 35
Figure 17: Screens Flow .......................................................................................................... 53
Figure 18: Entity Relationship Diagram .................................................................................. 56
Figure 19: Login ...................................................................................................................... 57
Figure 20: Register ................................................................................................................... 58
Figure 21: Change password .................................................................................................... 59
Figure 22: View Profile ........................................................................................................... 60
Figure 23: Edit Profile ............................................................................................................. 60
Figure 24: Manage favourite product list................................................................................. 61
Figure 25: View other user's account profile ........................................................................... 62
Figure 26: View all product to buy .......................................................................................... 63
Figure 27: Search product ....................................................................................................... 64
Figure 28: Filter product by category ...................................................................................... 64
Figure 29: Filter product by location ....................................................................................... 65
Figure 30: View product detail ................................................................................................ 66
Figure 31: Buy product ............................................................................................................ 67
Figure 32: Auction product ...................................................................................................... 68
Figure 33: Manage order .......................................................................................................... 69
Figure 34: Create post to sell ................................................................................................... 70
Figure 35: Create post to auction ............................................................................................. 70
Figure 36: Manage product to sell ........................................................................................... 71
Figure 37: Manage post auction ............................................................................................... 72
Figure 38: Schedule auction..................................................................................................... 73
Figure 39:User interface .......................................................................................................... 76
Figure 40: Application Architecture ........................................................................................ 77
Figure 41: Serverless Architecture........................................................................................... 78
Figure 42: Cognito ................................................................................................................... 78
Figure 43: SQS Service ............................................................................................................ 79
Figure 44: SES Service ............................................................................................................ 79
Figure 45: Lambda function..................................................................................................... 80
Figure 46: Type Graphql .......................................................................................................... 80
Figure 47: Apollo server .......................................................................................................... 81
Figure 48: MySQL ................................................................................................................... 82
Figure 49: NodeJS.................................................................................................................... 82
7|Page
Figure 50: JavaScript ............................................................................................................... 83
Figure 51: Flow of recommendation system ........................................................................... 83
Figure 52: Flow of building model .......................................................................................... 84
Figure 53: System Architecture ............................................................................................... 84
Figure 54: Package Diagram .................................................................................................... 85
Figure 55: Database Design ..................................................................................................... 87
Figure 56: Class Diagrams ....................................................................................................... 89
Figure 57: Guest Register ........................................................................................................ 97
Figure 58: Guest Search product by name ............................................................................... 97
Figure 59: Guest View product ................................................................................................ 98
Figure 60: User Login/Register ............................................................................................... 99
Figure 61: User Forgot password ........................................................................................... 100
Figure 62: User Logout .......................................................................................................... 100
Figure 63: User View product................................................................................................ 101
Figure 64: User Search product by name ............................................................................... 101
Figure 65: User Manage product to sell ................................................................................. 102
Figure 66: User Post product to sell ....................................................................................... 102
Figure 67: User Create auction .............................................................................................. 103
Figure 68: User Manage auction product............................................................................... 103
Figure 69: User View other user's account infomation .......................................................... 104
Figure 70: User Manage order ............................................................................................... 104
Figure 71: User Buy product.................................................................................................. 105
Figure 72: User Payment ....................................................................................................... 105
Figure 73: User Add favourite product .................................................................................. 106
Figure 74: User Manage favourite product list ...................................................................... 106
Figure 75: User Manage account ........................................................................................... 107
Figure 76: Manager Login ..................................................................................................... 107
Figure 77: Manager Logout ................................................................................................... 108
Figure 78: Manage View category ......................................................................................... 108
Figure 79: Manage Create category ....................................................................................... 109
Figure 80: Manager Update category .................................................................................... 109
Figure 81: Manager Delete category...................................................................................... 110
Figure 82: Manager View all posting .................................................................................... 110
Figure 83: Manager Create posting........................................................................................ 111
Figure 84: Manager Update posting ...................................................................................... 111
Figure 85: Manager Delete posting........................................................................................ 112
Figure 86: Admin Login ........................................................................................................ 112
Figure 87: Manager Logout ................................................................................................... 113
Figure 88: Admin View category .......................................................................................... 113
Figure 89: Admin Create category ......................................................................................... 114
Figure 90: Admin Update category........................................................................................ 114
Figure 91: Admin Delete Category ........................................................................................ 115
Figure 92: Admin View all posting ....................................................................................... 115
Figure 93: Admin Create posting........................................................................................... 116
Figure 94: Admin Update posting.......................................................................................... 116
Figure 95: Admin Delete posting........................................................................................... 117
8|Page
Figure 96: Admin Create Account ......................................................................................... 117
Figure 97: Admin Update account role .................................................................................. 118
Figure 98: Admin Ban Account ............................................................................................. 118
Figure 99: Test model ............................................................................................................ 119
Figure 100: Test Processes..................................................................................................... 121
Figure 101: Open API Responses UI ..................................................................................... 133
Figure 102: Intergration System Test Report......................................................................... 134
Figure 103: Intergration System Test Report......................................................................... 134
Figure 104: Intergration System Test Report......................................................................... 134
Figure 105: Step 1 in the Register.......................................................................................... 137
Figure 106: Step 4 in the Register.......................................................................................... 138
Figure 107: Step 5 in the Reigster.......................................................................................... 139
Figure 108: Step 2 in the Login ............................................................................................. 140
Figure 109: Step 3 in the Search product ............................................................................... 141
Figure 110: Step 1 in the View product ................................................................................. 142
Figure 111: Step 2 in the View product ................................................................................. 143
Figure 112: Step 3 in the View product ................................................................................. 144
Figure 113: Filter product by location ................................................................................... 145
Figure 114: Step 1 in the Filter product by category 1 .......................................................... 146
Figure 115: Step 1 in the Filter product by category 2 .......................................................... 147
Figure 116: Step 2 in the Filter product by category ............................................................. 147
Figure 117: Step 3 in the Filter product by category ............................................................. 148
Figure 118: Step 4 in the Filter product by category 1 .......................................................... 149
Figure 119: Step 4 in the Filter by category 2 ....................................................................... 150
Figure 120: Step 4 in the Filter by category 3 ....................................................................... 151
Figure 121: Step 5 in the Filter by category .......................................................................... 151
Figure 122: Step 1 in the Post management of Product management for sale ...................... 152
Figure 123: Step 2 in the Post management of Product management for sale ...................... 153
Figure 124: Step 3 in the Post management of Product management for sale ...................... 154
Figure 125: Step 3 in the Manage Post of Product management for sale 1 ........................... 155
Figure 126: Step 3 in the Manage Post of Product management for sale 2 ........................... 156
Figure 127: Step 3 in the Manage Post of Product management for sale 3 ........................... 157
Figure 128: Step 3 in the Manage Post of Product management for sale 4 ........................... 158
Figure 129: Step 3 in the Manage Post of Product management for sale 5 ........................... 159
Figure 130: Step 1 in the Manage auction of Product management for sale ......................... 160
Figure 131: Step 2 in the Manage auction of Product management for sale ......................... 160
Figure 132: Step 3 in the Manage auction of Product management for sale 1 ...................... 161
Figure 133: Step 3 in the Manage auction of Product management for sale 2 ...................... 162
Figure 134: Step 3 in the Manage auction of Product management for sale 3 ...................... 163
Figure 135: Step 3 in the Manage auction of Product management for sale 4 ...................... 164
Figure 136: Step 3 in the Manage auction of Product management for sale 5 ...................... 165
Figure 137: Step 1 in the Manage hide post of Product management for sale ...................... 166
Figure 138: Step 2 in the Manage hide post of Product management for sale ...................... 166
Figure 139: Step 2 in the Post product to selll ....................................................................... 167
Figure 140: Step 3 Post product to sell 1 ............................................................................... 168
Figure 141: Step 3 Post product to sell 2 ............................................................................... 168
9|Page
Figure 142: Step 4 in the Post product to sell 1 ..................................................................... 169
Figure 143: Step 4 in the Post product to sell 2 ..................................................................... 170
Figure 144: Step 2 in the Create auction 1 ............................................................................. 171
Figure 145: Step 2 in the Create auction 2 ............................................................................. 172
Figure 146: Step 3 in the Create auction 1 ............................................................................. 173
Figure 147: Step 3 in the Create auction 2 ............................................................................. 174
Figure 148: Step 4 in the Create auction 1 ............................................................................. 175
Figure 149: Step 4 in the Create auction 2 ............................................................................. 176
Figure 150: Step 1 in the Manage auction product ................................................................ 177
Figure 151: Step 2 in the Manage auction product ................................................................ 178
Figure 152: Step 3 in the Manage auction product 1 ............................................................. 179
Figure 153: Step 3 in the Manage auction product 2 ............................................................. 180
Figure 154: Step 3 in the Manage auction product 3 ............................................................. 181
Figure 155: Step 3 in the Manage auction product 4 ............................................................. 182
Figure 156: Step 3 in the Manage auction product 5 ............................................................. 183
Figure 157: Step 3 in the Manage auction product 6 ............................................................. 184
Figure 158: Step 1 in the Schedule product auction .............................................................. 185
Figure 159: Step 2 in the Schedule product auction .............................................................. 186
Figure 160: Step 3 in the Schedule product auction 1 ........................................................... 187
Figure 161: Step 3 in the Schedule product auction 2 ........................................................... 188
Figure 162: Step 3 in the Schedule product auction 3 ........................................................... 189
Figure 163: Step 3 in the Schedule product auction 4 ........................................................... 190
Figure 164: View other user's account ................................................................................... 191
Figure 165: Step 1 in the Manage order................................................................................. 192
Figure 166: Step 2 in the Manage order................................................................................. 192
Figure 167: Step 3 in the Manage order................................................................................. 193
Figure 168: Step 4 in the Manage order................................................................................. 193
Figure 169: Step 1 in the Buy product ................................................................................... 194
Figure 170: Step 3 in the Buy product ................................................................................... 195
Figure 171: Step 4 in the Buy product ................................................................................... 196
Figure 172: Step 1 in the Payment ......................................................................................... 196
Figure 173: Step 2 in the Payment ......................................................................................... 197
Figure 174: Step 5 in the Payment ......................................................................................... 198
Figure 175: Step 6 in the Payment ......................................................................................... 199
Figure 176: Step 2 in the Add favourite product ................................................................... 200
Figure 177: Step 1 in the Manage favorite product list ......................................................... 201
Figure 178: Step 2 in the Manage favourite product list ....................................................... 201
Figure 179: Step 3 in the Manage favourite product list ....................................................... 202
Figure 180: Step 1 in the Admin manage account ................................................................. 202
Figure 181: Step 2 in the Admin manage account ................................................................. 202
Figure 182: Step 3 in the Admin manage account ................................................................. 203
10 | P a g e
I. Acknowledgement
- We would like to express our special thanks to Mr.Vo Duc Hoang and Ms.Ly Quynh
Tran – our supervisor, for their enthusiastic guidance and support in completing our project.
Their guidance and the motivation conveyer lessons for us not only about technique but also
on how to work as a team on a real project.
11 | P a g e
- Without their, we may not be able to provide this best project for a limited time.
- We also want to send my thanks to our families and friends. They encouraged and
helped us to overcome many pressures during implementation. And thanks to them for
providing us with all the resources needed for this project.
BA Business Analysis
BR Business Rule
PM Project Manager
UC Use Case
12 | P a g e
1.2. Project team
1.2.1 Supervisor
Full Name Role Email Phone
03456978
Diệp Thế Sang Leader DE140025 sangdtde140025@fpt.edu.vn
33
Memb 088867127
Nguyễn Phúc Ngọc Thành DE140120 thanhnpnde140120@fpt.edu.vn
er 8
Memb 039336652
Hoàng Hải Đăng DE140112 danghhde140112@fpt.edu.vn
er 3
Memb 093783444
Trần Thành Long DE140145 longttde140145@fpt.edu.vn
er 6
Table 3: Team Members
13 | P a g e
2. Product Background
With the current situation of life being so chaotic, shopping is an indispensable thing in
human life, buying and selling a lot will create a surplus of many things that we do not use. It
is not difficult for us to come across second hand stalls on the street or in the market, but
many inadequacies are happening.
For sellers: difficult to find premises for sale, expensive to rent.
For buyers: it takes a lot of time to find the items they need to buy, limited the products
they need to search for, it is difficult for shoppers to find the best quality products at the most
reasonable prices.
From those inadequacies, Second-hand market was born with the mission to solve the
above difficulties of second-hand buyers and sellers. Second-hand Market is a system that
allows buyers and sellers to connect to secure transactions. The system is a place specializing
in trading, buying and selling old and used products, with a variety of categories from
electronic devices such as laptops, phones ... to home appliances such as televisions, fans, rice
cookers…etc. Anyone can easily buy, search for the product they want as a buyer or can post
to sell products as a seller. The system will provide Vietnamese users with a simple and easy-
to-use platform.
3. Existing Systems
3.1 ChoTot
- Chotot is a leading buying and selling website in Vietnam, this website allows users to post
to sell second-hand goods, or can create new orders, allowing users to directly exchange
prices, locations. transaction point
- Link: https://www.chotot.com/
- System actor:
14 | P a g e
+ Admin system
+ User
- Advantage:
+ Friendly interface, beautiful, full display of information related to the item for
sale
+ Variety of goods, a large number of items for sale at various prices
+ There is a chat function so that users can communicate with each other more
carefully, supporting the post to be put on the front page if the user needs it.
+ The approved items posted on Chotot are all reputable and highly tradable items
- Disavantage:
+ Selling products on Chotot is not really easy to use, posting on sales is difficult
to show up on the front page without paying a fee.
+ Payment on chotot also has many disadvantages
3.2 Chodocu.com
- Chodocu.com is a reliable address for you to choose from used and unused goods with
good quality. A useful information site for people with limited financial resources. More
simply, Chodocu.com helps you find unique items, strange items, and antiques at the
best prices.
- Link: https://chodocu.com/
- System actor:
+ Admin system
+ User
- Advantage:
+ Provide a huge amount of information about products and goods in people's lives
+ Providing the best products and services, enabling buyers and sellers to
exchange and transact
15 | P a g e
+ Help those who need to find and buy satisfactory products and goods when they
have limited financial resources, or simply search for unique items at the best
prices.
- Disavantage:
+ Buying goods in the form of a bid will make users less interested in buying on
the system
+ Customers will not know how much the product competitors have paid.
+ It can make buyers regret and depressed when they can't own the product
because the price is too low compared to others
4. Business Opportunity
Currently, when the world is in the process of "digital transformation". Many e-commerce
sites appeared, leading to changes in people's shopping needs. Currently, people are gradually
turning to online shopping, but websites for selling second-hand goods online are still very
limited despite the high demand for second-hand goods. Seizing that opportunity, we created
a Secondhand market to make it easy for people to buy essential items at cheap prices.
through which we will have a large number of users and mine and make money based on that
number of users.
16 | P a g e
+ users can easily log in to the website and authenticate via google, facebook....
making it more convenient for users to use
+ added voting feature to increase the prestige of those who have confirmed the
transaction successfully
- Business Goals (How will the product benefit the company?):
+ Second-hand market will become the largest second hand e-commerce site in
Vietnam
17 | P a g e
Figure 3: Major Features
18 | P a g e
IV. Project Management Plan
1. Overview
1.1 Scope & Estimation
● Details of the group's WBS & Estimation file by accessing the link: Work Breakdown
Structure
1.2 Project Objectives
● Learn new technologies: NodeJS, ReactJS, Figma, CI/CD, microservices,...
● Build communication and time management skills when working in groups.
● Learn to manage source code with Git, and Github.
● Drawing lessons, and experiences and fostering knowledge about the process of
building and managing a project, creating a good foundation for work after graduation
● Allocated effort (person - day): 2000 hours
4 Review 5 25 Review tasks and functions to make sure the code is clear
and working correctly.
19 | P a g e
1.3 Project Risks
# Risk Description Impact Possibility Response Plans
1 Lack of clarity in High High Be careful in defining Project purpose, need from the
Project purpose beginning
and need
2 Scope of project High High Review of scope and revision along the timeline of the
project. Define prioritization of topics done. Ability to trim
project as progression due to open nature of the project.
3 Poor Project Medium Medium Define Project schedule clearly and everyone must follow
schedule
4 Spending time on Medium Medium Cut low-priority tasks and focus on high priority tasks
project is
interrupted by
member’s work
2. Management Approach
2.1 Project Process
In this project, our team agreed to use the Agile methodology to approach the project.
The reasons why we chose this approach:
- More adaptability (and less risky): This means that the project can respond to change,
even at the last minute, and can adapt to it without much disruption. Project deliverables
are not pre-set, so the team can easily reevaluate the plan and adjust priorities to align
with updated goals. Teams can consistently deliver and manage change requests and ideas
efficiently.
- Continuous improvement: Agile encourages team members to work, exchange, and
provide their feedback so that different stages of the end product can be tested and
improved as many times as needed.
- Faster handovers: Breaking projects down allows the team to test pieces, and identify
and fix issues faster, resulting in more consistent and successful handovers.
- Happier teams: Agile groups are more autonomous. That is, they are often given the
freedom to propose new ideas, innovate, and problem-solve that may be lacking in
traditional project management methodologies.
20 | P a g e
Figure 4: Project Process
21 | P a g e
Figure 5: Quality Management
3. Project Deliverables
22 | P a g e
2 Report2_Project Management Plan 25-Sep-2022
4. Responsibility Assignments
4.1 Team & Structures
23 | P a g e
Responsibility SangDT DangHH ThanhNPN LongTT
Testing D, R D, R D, R D, R
Deployment D R R R
5. Project Communications
Communication Item Who/ Target Purpose When, Type, Tool,
Frequency Method(s)
Online Meeting All Members Tracking plan, planning task 20h30 Monday Google Meet
for the next sprint, review
product
Online Meeting All Members Tracking plan, planning task 20h30 Friday Google Meet
for the next sprint, review
product
Stand-up meeting All Members Tracking status, issue 15 minutes at Google Meet
20h All day
24 | P a g e
6. Configuration Management
6.1 Document Management
All documents will be organized and saved in Google Drive, which only members and
supervisors of the group have permission to add or edit. In addition, we always prepare a
backup when needed or the original is unfortunately deleted.
Folder Description
25 | P a g e
Second Hand Market Store all documents of the Second Hand Market project.
26 | P a g e
6.3 Tools & Infrastructures
Category Tools / Infrastructure
DBMS MySQL
27 | P a g e
V. Software Requirement Specification
1. Product Overview
The purpose of this document describes in detail the functions of the “website for buying and
selling two-handed items”. It illustrates the functions in detail and builds a complete system.
It clearly explains the system's constraints, providing an overview of the interface and
interactions with the system or other external applications. This document uses the
description presented for the customer to better understand the website
- The web-based project management and deployment management system "2hand
market" helps the management and implementation of registrations to be done
quickly, conveniently and with the least cost. The system was born to sell used
products to people in need.
- The service system helps to sell the main objects: Most items from electrical
appliances to phones or vehicles.
- The site allows users to register to participate in buying and sell by logging into the
system. After registering, customers will be moderated to post their used products for
sale or buy products sold on the website.
2. User Requirements
2.1 Actors
# Actor Description
1 Guest As a user accessing the website (not logged in). They can view product an
search product,...
2 User As the user accessing the website (logged in). They can bid, post products
they want to sell, ....
4 Admin As a system administrator who has the right to manage all and has the
right to ban accounts that show signs of violating the rules of the auction
site
28 | P a g e
2.2.1 Diagram(s)
29 | P a g e
Figure 11: Use case for Manage Account
30 | P a g e
Figure 12: Use case for Manage product posts
31 | P a g e
Figure 13: Use case for Manage Messages
32 | P a g e
Figure 14: Use case for Manage Order
33 | P a g e
Figure 15: Use case for Manage E-wallet
34 | P a g e
Figure 16: Use case for System Management
35 | P a g e
UC - 06 Filter product by location User/Guest View product by filter
UC - 11 Manage auctioned product User Users with the seller role manage
auction
UC - 12 Schedule product auction User Users with the buyer role Join and
watch the auction
UC - 13 Create auction User Users with the seller role create
auction posts
UC - 14 View other user’s account User Users view other users' personal
information information
UC - 15 View money in account User Users view their money on the
system
UC - 16 Deposit money into your User Users deposit money into their
account accounts
UC - 17 Manage order User View and delete product
36 | P a g e
UC - 25 Manage all posting Admin/Manager View,delete post
2.2.3 Descriptions
2.2.3.1 Register
UC ID and Name: UC 01 - Register
Created By:
Business Rules:
Assumptions: N/A
Table 14: UC 01 Register
37 | P a g e
2.2.3.2 Login
UC ID and Name: UC 02 - Login
Created By:
Business Rules:
Assumptions: N/A
Table 15: UC 02 Login
Created By:
38 | P a g e
Description: User, guest want to search for a product
Exceptions: N/A
Priority: High
Created By:
Exceptions: N/A
39 | P a g e
Priority: High
Created By:
Description: The guest/user who visits the website can see the list of products
PRE – 01: When the guest/user they will use the search by category
Preconditions:
and see products.
Post-conditions: POST-01: The list of products by category names will appear.
1. User, Guest standing at home screen
Normal Flow: 2. When the user,guest click on the category,the list of products with
related names will appear in the table below.
Alternative Flows: N/A
Exceptions: N/A
Priority: High
40 | P a g e
Created By:
Description: The guest/user who visits the website can see the list of products
PRE – 01: When the guest/user they will use the search by category
Preconditions:
and see products.
Post-conditions: POST-01: The list of products by category names will appear.
1. User, Guest standing at home screen
Normal Flow: 2. When the user, guest click on the category ,the list of products with
related names will appear in the table below.
Alternative Flows: N/A
Exceptions: N/A
Priority: High
Created By:
41 | P a g e
3. Wait for the administrator to approve
4. Products will be updated to selected categories.
Alternative Flows: N/A
Exceptions: N/A
Priority: High
Created By:
Exceptions: N/A
Priority: High
42 | P a g e
Other
N/A
Information:
Assumptions: N/A
Table 21: UC 08 Post product to sell
Created By:
Exceptions: N/A
Priority: High
Created By:
43 | P a g e
Description: User wants to schedule product auction
Exceptions: N/A
Priority: High
Other N/A
Information:
Assumptions: N/A
Created By:
44 | P a g e
Exceptions: N/A
Priority: High
45 | P a g e
Description: User wants to see the money in his account
Preconditions: User adds money to the account
Post- User successfully added money to the account
conditions:
Normal Flow: 1.User clicks on Profile
2. User proceeds to see the amount of money in the account
Alternative N/A
Flows:
Exceptions: N/A
Priority: High
Frequency of High
Use:
Business Rules:
Other N/A
Information:
Assumptions: N/A
Table 26: UC 13 View money in account
46 | P a g e
2.2.3.15 Manage order
UC ID and UC- 15 Manage order
Name:
Created By:
Primary Actor: User
Trigger: User must go to product order page
Description: User wants to manage ordered products.
Preconditions: User must order the product
Post- POST-01: Order successful
conditions:
Normal Flow: 1. User clicks on the ordered product page
2. User can view, delete, update ordered products
3. User view, delete, update ordered products
successful
Alternative N/A
Flows:
Exceptions: N/A
Priority: High
Frequency of High
Use:
Business Rules: N/A
Other N/A
Information:
Assumptions: N/A
Table 28: UC 15 Manage order
47 | P a g e
Priority: High
Frequency of High
Use:
Business Rules: N/A
Other N/A
Information:
Assumptions: N/A
Table 29: UC 16 Buy product
2.2.3.17 Payment
UC ID and UC- 17 Payment
Name:
Created By:
Primary Actor: User
Trigger: User accesses the payment page
Description: User wants to pay
Preconditions: PRE – 01: User must pay
Post- POST-01: User made payment successfully
conditions:
Normal Flow: 1. User on the product purchase and sale page and buy the product
successfully
2. Process product payment
3. Successful payment
Alternative N/A
Flows:
Exceptions: N/A
Priority: High
Frequency of High
Use:
Business Rules: N/A
Other N/A
Information:
Assumptions: N/A
Table 30: UC 17 Payment
48 | P a g e
Alternative N/A
Flows:
Exceptions: N/A
Priority: High
Frequency of High
Use:
Business Rules: N/A
Other N/A
Information:
Assumptions: N/A
Table 31: UC 18 Mange favourite product list
49 | P a g e
Normal Flow: 1. User clicks on the chat box.
2. User managed chat box successfully
3. Press the save button
Alternative N/A
Flows:
Exceptions: N/A
Priority: High
Frequency of High
Use:
Business Rules: N/A
Other N/A
Information:
Assumptions: N/A
Table 33: UC 20 Manage messages
50 | P a g e
Post-conditions POST-01: Admin/Manager can view the product catalog.
Normal Flow: 1. Admin/ Manager go to product catalog management.
2. Approving the products posted by users
3. Admin/Manager approved successfully.
Alternative N/A
Flows:
Exceptions: N/A
Priority: High
Frequency of High
Use:
Business Rules: N/A
Other N/A
Information:
Assumptions: N/A
Table 35: UC 22 Manage category
51 | P a g e
Description: User wants to create an order.
Preconditions: PRE-01: Must have a user account.
PRE-02: Must login to the system as User
Post- POST-01: View all Orders of current user
conditions:
Normal Flow: 1. Choose delivery address and payment method.
2. Enter voucher code (if available)
3. Click on “Paypal payer” button or chose QR code payment
Alternative N/A
Flows:
Exceptions: N/A
Priority: High
Frequency of High
Use:
Business Rules: N/A
Other N/A
Information:
Assumptions: N/A
Table 37: UC 24 Statistics and Report
3. Functional Requirements
3.1 System Functional Overview
3.1.1 Screens Flow
52 | P a g e
Figure 17: Screens Flow
53 | P a g e
No Feature Screen Description
1 Common Login Login to system
2 Common Register Create an account to access the system
Reset your new password when you forgot your
3 Common Forgot Password
old password
View/update personal information and change
4 Common My profile
password
5 Common Create Post Create posts to sell products
6 Common View post details See a post selling product description
7 Common Product Auction View / bid in the auction to own the product
8 Common Favorite Posts Add/remove favorite posts
9 Common Manage order Manage purchase/sale orders on the system
Common Manage created posts (product sale posts,
10 Manage Posts
CRUD auction posts, hidden posts, favorite posts)
11 Common View Other's Profile View other users' personal information
Shopping cart stores posts to make product
12 Common Cart
purchases
13 Common Payment Make payment via paypal
Common Manage all account
14 Manage all accounts on the system
CRUD User/Manager
Common
15 Manage category Manage post categories for products
CRUD
Common
16 Manage all posting Manage all posts on the system
CRUD
Analyze and make reports on the system on the
17 Common Dashboard
number of users, number of posts,...
Table 39: Screen Descriptions
Screen
Screen Guest User Manage Admin
Activity
Query Own
Login x x x x
Data
Query Own
Profile x x x
Data
Query Own
Change password x x x
Data
Query Own
Dashboard x x x
Data
Query Own
Manage manager Data + x
CRUD Data
54 | P a g e
Query Own
Manage User Data + x x
CRUD Data
Query Own
Manage Post Data + x x
CRUD Data
Query Own
Manage post Data + x x
CRUD Data
Query Own
Manage auction Data + x x
CRUD Data
Query Own
Manage category Data + x x
CRUD Data
Query Own
Upload posts to sell Data + x x
Update Data
View all post Query Own
x x x x
product Data
Table 40: Screen Authoriztion
55 | P a g e
13 Update profile /editProfile Update profile of user
14 Get all item /cart Get all item that have type of category
15 Create oder /order/buy Add item to payment
16 Get all classes /class (GET) Get all classes in system
17 Update payment /payment/success Update item to buy
Table 41: Non-Screen Functions
Entities Description
No Entity Description
1 User with buyer role Users with the buyer role view posts and place orders to acquire
products
2 User as the seller User as the seller creates posts to sell products
3 Posts Posts describing products. 2 types of posts are auction posts and
regular posts
4 Product Post Regular post available price and detailed product description
5 Auction Post The auction post will have a detailed description of the product,
and the starting price for the auction. Other users will participate
in the auction for a chance to own the product.
56 | P a g e
No Entity Description
1 User with buyer role Users with the buyer role view posts and place orders to acquire
products
7 Post Details Store all information about product details: Product name, price,
origin,...
8 Favorite post Users can add posts to their favorites list for purchase later
3.2.2 Register
- Trigger: The Guest want to register an account to use the Second hand market system
57 | P a g e
- Description: Provide a page for guests register an account to use the Second hand
market system
- Function detail:
+ Validation: User must fill all field to register an account.
+ Functionality: Register an account
- Screen layout:
3.3 Profile
3.3.1 Change password
- Trigger: User, manager want to change password.
- Description:Provide a page for user, manager to change password
- Function detail:
+ Validation: User, Manager must fill all filed to change the password, new
password and confirm password must be the same, the old password must be
the same as the current password.
+ Functionality: Change the password
58 | P a g e
- Screen layout:
59 | P a g e
- Screen layout:
60 | P a g e
3.3.4 Manage favorite product list
- Trigger: User want to manage favorite product list in themself cart
- Description:Provide a page for User can manage favorite product list in themself cart
- Function detail: Manage favorite product list in themself cart
- Screen layout:
61 | P a g e
- Screen layout:
62 | P a g e
- Screen layout:
63 | P a g e
- Screen layout:
64 | P a g e
- Description:Provide a page for User, Guest can filter list product
- Function detail: Show all list product that same the name User, Guest filter.
- Screen layout:
65 | P a g e
- Screen layout:
66 | P a g e
- Screen layout:
67 | P a g e
- Screen layout:
68 | P a g e
- Screen layout:
69 | P a g e
- Screen layout:
70 | P a g e
3.5.3 Manage product to sell
- Trigger: User want to manage product to sell in Secondhand market system.
- Description:Provide a page for User can manage product to sell
- Function detail: Manage product to sell
- Screen layout:
72 | P a g e
- Screen layout:
4. Non-Functional Requirements
4.1 External Interfaces:
- Our product has no external interfaces.
4.2 Quality Attributes
4.2.1 Usability
- The user interface should be friendly, simple, logical, and easy to use.
- All the texts and messages should be precise, consistent, and easy to understand.
- Buttons and checkboxes should be made easy for the user to tap.
73 | P a g e
4.2.2 Security
- The system must use JSON Web Token (JWT) authentication, in which the
authentication server returns an access token after the user logs in with an email and
password. Then the client will include the access token in the subsequent requests to
access protected resources.
- The system must use HTTPS to encrypt the information transferred between clients
and servers.
- Password must be hashed before inserted into the database.
4.2.3 Performance
- Front end using React JS, which was designed to provide high performance in mind.
The core of the framework offers a virtual DOM program and server-side rendering,
which makes complex apps run extremely fast.
- Back-end system uses NodeJS to develop fast web server.
5. Requirement Appendix
5.1 Business Rules
Domain business rules:
No Description
BR-1 Only admin can manage manager
BR-2 Guests can only buy products when they have registered an account
BR-3 Guests can only view items that are listed for sale
No Description
74 | P a g e
BI-1 The field must be filled by 10 numbers.
The field must be filled, followed by format “X@X.Y”, where X is characters and Y is
BI-2
alphabets. X and Y are at least 1 character.
Table 44: Specific bussiness rule
75 | P a g e
VI. Software Design Document
1. System Design
The project has successfully applied a data analysis method to make suggestions. Basically,
these suggestions are based on location parameters (the city the customer lives in).
As for the client side, the recommendations online system has been developed in web
applications. The web application used the framework NodeJS built on top of React which
provided a short page load time and fast scan of the data taken from the user.
As for the server side, the recommendations online system have been developed with the
ReactJS web framework, the Rest API and the database management system MySQL is a
database management system that allows you to manage relational databases.
76 | P a g e
1.1 System Architecture
1.1.1 Client
Reactjs is an open-source Javascript library that helps build user interface components
quickly and easily. Usually, programmers will embed javascript into HTML code through
attributes like AngularJS but Reactjs works as a library that allows embedding HTML into
javascript through JSX. You can easily nest HTML snippets into JSX making components
easier to understand and use.
The basic components of React are called components. Syntax to write HTML using
Javascript to render. You can create a component by calling the createClass method of the
React object, the starting point when accessing this library. Multiple components can be
nested through the return statement of the render method.
Benefits of using Reactjs
● ReactJS makes it easier to write Javascript code because it uses a special syntax that is
the JSX syntax. Through JSX allows embedding HTML and Javascript code.
● ReactJS allows Developers to break complex UI structures into independent
components. Devs won't have to worry about the overall web application, now it's
easier for developers to break down complex UI/UX structures into simpler
components.
● Included with ReactJS are many development tools that make debugging code easier.
● One of the more advantages of ReactJS is its SEO friendliness. Most of the JS
Frameworks are not search-friendly, although much improved, but with the help of
rendering data returned in the form of web pages, it helps to make SEO more
standard.
77 | P a g e
1.1.2 Server
1.1.2.1 Serverless
Serverless (also known as a serverless platform) is a platform that creates an environment that
allows programmers to code applications or services without having to worry too much about
server problems. Serverless application can be understood as a server that takes care of
internal system operations such as allocation, system resource management, upgrade and
security.
1.1.2.1.1 Cognito
Amazon Cognito allows you to quickly and easily add registration, sign-in, and user access
control to websites and mobile apps. Amazon Cognito scales to millions of users and supports
logins through social identity providers such as Apple, Facebook, Google, and Amazon, as
well as enterprise identity providers through SAML 2.0 and OpenID Connect.
78 | P a g e
1.1.2.1.2 SQS Service
Amazon Simple Queue Service (SQS) is a fully managed message queue service that allows
you to unlink and scale your microservices, distributed systems, and serverless applications.
SQS eliminates the complexity and indirect costs associated with managing and operating
message-oriented middleware and allows developers to focus on other things. Using SQS,
you can send, store, and receive messages between software components at any volume,
without losing messages or forcing other services to be available at all times.
79 | P a g e
● An event-driven compute service where AWS Lambda runs your code and returns
events, data changes pushed into an Amazon S3 bucket or an Amazon DynamoDB
table. (you can learn more about Amazon DynamoDB)
● A computer service to run code and return HTTP requests using Amazon API
Gateway or APIs using AWS SDKs.
80 | P a g e
Apollo Server provides us with 3 basic things:
● Gives us a way to describe our data with schema.
● Provides a framework for resolvers, which are functions we write to fetch the data
needed to make a request.
● Facilitate authentication processing for our API.
1.1.2.5 PostgreSQL
PostgreSQL is a general-purpose object-relational database management system, the most
advanced open source database system available today.PostgreSQL is designed to run on
UNIX-like platforms. However, PostgreSQL was also dynamically adapted to run on many
different platforms such as Mac OS X, Solaris, and Windows.
81 | P a g e
Figure 48: MySQL
82 | P a g e
Figure 50: JavaScript
Health and fitness is the area that users are most concerned and worried about, so we build a
recommendation system based on each user's desire and self-improvement criteria through a
survey, because so we used a Collaborative Filtering System (Item-Item Filtering) for the
suggestion and it had to respond to the following location parameters.
83 | P a g e
Figure 52: Flow of building model
84 | P a g e
1.2 Package Diagram
• Package Descriptions
85 | P a g e
No Package Description
02 Suggestions Contains suggestion classes that are used to write business logic in
another layer, separate from the controller
03 Schedule, Contains schedule, event classes that are used to write business logic in
Event another layer, separate from the controller
04 Utility Contains entity classes which are the persistence objects stores as a
record in the database
08 Bean Exploits the Inversion of Control feature by which an object defines its
dependencies without creating them
86 | P a g e
2. Database Design
• Table Descriptions
No Table Description
87 | P a g e
01 Users - Primary keys: userid
- Foreign keys: None
02 Posts - Primary keys: id
- Foreign keys: cateId,statusId,warrantyId,originId,activeId,userId
03 Origins - Primary keys: id
- Foreign keys: none
04 Postmages - Primary keys: id
- Foreign keys: postId,userId
05 Categories - Primary keys: id
- Foreign keys: cateParentId
06 Likes - Primary keys: id
- Foreign keys: postId,userId
07 PostCondition - Primary keys: id
- Foreign keys: none
08 PostActive - Primary keys: id
- Foreign keys: None
09 Waranties - Primary keys: id
- Foreign keys: None
10 Carts - Primary keys: id
- Foreign keys: postId,userId
11 Transactions - Primary keys: id
- Foreign keys: userid
12 Order - Primary keys: id
- Foreign keys: postId,transactionId
13 BidOrder - Primary keys: id
- Foreign keys: postId,userId
88 | P a g e
3. Detailed Design
3.1 Class Diagram
89 | P a g e
3.2 Class Specifications
3.2.1 Users
No Attributes Type Description
90 | P a g e
3.2.2 Posts
No Attributes Type Description
10 activeId int
91 | P a g e
18 updateAt datetime time update post
3.2.3 Origins
No Attributes Type Description
3.2.4 PostImages
No Attributes Type Description
92 | P a g e
3.2.5 Categories
No Attributes Type Description
3.2.6 Likes
No Attributes Type Description
93 | P a g e
3.2.7 PostCondition
No Attributes Type Description
3.2.8 PostActive
No Attributes Type Description
3.2.9 Warranties
No Attributes Type Description
3.2.10 Carts
No Attributes Type Description
94 | P a g e
01 ID int Unique identifier, auto increment
3.2.11 Transactions
No Attributes Type Description
95 | P a g e
3.2.12 Order
No Attributes Type Description
3.2.13 BidOrder
No Attributes Type Description
96 | P a g e
08 createdAt datetime time create post
97 | P a g e
3.3.1.3 View product
98 | P a g e
3.3.2 User
3.3.2.1 Login/Register
99 | P a g e
3.3.2.2 Forgot password
3.3.2.3 Logout
100 | P a g e
3.3.2.4 View product
101 | P a g e
3.3.2.6 Manage product to sell
102 | P a g e
3.3.2.8 Create auction
103 | P a g e
3.3.2.10 View other user's account information
104 | P a g e
3.3.2.12 Buy product
3.3.2.13 Payment
105 | P a g e
3.3.2.14 Add favorite product
106 | P a g e
3.3.2.16 Manage account
3.3.3 Manager
3.3.3.1 Login
107 | P a g e
3.3.3.1 Logout
108 | P a g e
3.3.3.1.2 Create Category
109 | P a g e
3.3.3.1.4 Delete Category
110 | P a g e
3.3.3.1.2 Create posting
111 | P a g e
3.3.3.1.4 Delete posting
3.3.4 Admin
3.3.4.1 Login
112 | P a g e
3.3.4.2 Logout
113 | P a g e
3.3.4.3.2 Create Category
114 | P a g e
3.3.4.3.4 Delete Category
115 | P a g e
3.3.4.4.2 Create posting
116 | P a g e
3.3.4.4.4 Delete posting
117 | P a g e
3.3.4.5.2 Update Account Role
118 | P a g e
VII. Testing Documentation
1. Scope of Testing
In the scope of the project, there are 3 testing phases: Unit testing, Integration testing, and
System testing.
3 System System testing is the level of testing in which the complete Testers, Technical
testing application is tested as a whole. The goal is to evaluate the Leader
system’s compliance with its specified requirements.
4 Acceptance In this stage, customers verify if the system meets their Customer, BA
testing actual needs.
2. Test Strategy
2.1 Testing Types
119 | P a g e
The V-model is an extension of the waterfall model. V model Testing is done in parallel to
development. It is also called a Validation and Verification Model.
Advantage:
Unit Test X
Integration Test X
System Testing X X
Acceptance Testing X X
Device excuting Dell XPS 9550 15inch Dell • CPU: i7 7700HQ 3.6 GHz
test
• RAM: 16GB
test
• RAM: 4GB
120 | P a g e
2.3.2 Software
Purpose Tool Vendor/In-house Version
3. Test Plan
3.1 Human Resources
Worker/Doer Role Specific Responsibilities/Comments
Diệp Thế Sang Frontend Developer, Leader • Reviewing test case and report.
121 | P a g e
Nguyễn Phúc Ngọc Thành BackEnd Developer • Writing and executing unit test.
• Fixing bugs
Trần Thành Long FrontEnd Developer • Writing and executing unit test.
• Fixing bugs
122 | P a g e
Accepting testing 26/11/2022 27/11/2022
4. Test Cases
4.1 Integration and System Test
Detail test cases will be described in [SCH] Test Case - v1.5.xlsx file.
− A set of test data and their expected results. A test case validates one or more system
requirements and generates a pass or fail.
− A good test case should follow two basic aspects, the Contents and the Style. Test cases
for functional testing are derived from the target of test's use cases Test cases should be
developed for each use case scenario. The use case scenarios are identified by
describing the paths through the use case that traverse the basic flow and alternate flows
start to finish through the use case.
123 | P a g e
5. Detect Log:
Excel is used to manage bugs, more details: [SCH] Integration and System Bug Log.xlsx
Processes:
− During the testing process, when a bug is found, testers access Defect Log file to
log it. The bug must be described as detailed as possible with screenshots. The
issue is then assigned to a developer, who is in charge of developing that module.
− Assigned developer checks out the issue in Defect Log file and fixes it. Once the
bug is resolved, the assigned developer changes the issue status to “DONE” and
assigns it to a tester, whose responsibility is to check the bug again.
− Tester will then verify if the bug is completely resolved. If the bug is fixed, tester
will change the status to “DONE”. If the bug is not fixed, tester will change the
status to “NOT DONE” and assign it to developer again.
6. Test Reports
6.1 Unit Test Report 1
124 | P a g e
AccountController AccountController getActiveAccount() OK 22/03/2022 SangDT
125 | P a g e
AccountService AccountService changePassword(request) OK 22/03/2022 SangDT
126 | P a g e
AppController AppController getTotal() OK 24/03/2022 ThanhNPN
127 | P a g e
AuctionController AuctionController addAuction(request) OK 25/03/2022 DangHH
128 | P a g e
AuctionService AuctionService findById(auctionId) OK 25/03/2022 DangHH
129 | P a g e
CategoryService CategoryService importCategory(request) OK 25/03/2022 DangHH
130 | P a g e
SpecializationService SpecializationServi delete(id) OK 25/03/2022 LongTT
ce
131 | P a g e
Postervice Postervice getAll() OK 25/03/2022 LongTT
132 | P a g e
Table 71: Open API Reques UI
133 | P a g e
6.3 System Test Case Reports
134 | P a g e
Report5_Test Report_Version1.0.0.xls
135 | P a g e
VIII. Release Package & User Guides
1. Deliverable Package
No. Deliverable Item Description
Second-hand-market-Backend
2. Installation Guides
2.1 System Requirements
2.1.1. Hardware Requirements
Name Minimum Required Recommend
Operating System Window 7, Linux (Ubuntu 18.04 Window 10, Linux (Ubuntu 20.04 LTS) (64-
LTS) (32-bit) bit)
Computer Processor >= 2 core 3.0 GHz Intel CPU Intel® CoreTM i7 Processors
Computer Memory 4 GB 8 GB
136 | P a g e
− Go to folder remo:
+ cd Second-hand-market-Frontend
+ Terminal npm start
+ cd Second-hand-market-Backend
+ Terminal npm start
3. User Manual
3.1 Web Feature
3.1.2 Register
This is the function to register a new user account.
- Step 1: Go into the login page of the system with the following link:
137 | P a g e
- Step 4: Press enter key on keyboard or Click "Gửi OTP" button.
138 | P a g e
- Step 5: Input OTP from your email to register
3.1.1 Login
- Step 1: Access into SecondHand Market Web System
139 | P a g e
- Step 2: Enter “Email” and “Password” then Click Login Button
3.1.3 Logout
- Click DownArrow Icon Left to Avatar
140 | P a g e
- Step 3: Search results are displayed
141 | P a g e
3.1.5 View Product
- Step 1: At the home screen, the user can see the displayed products.
142 | P a g e
- Step 2: Click on any of the displayed posts.
143 | P a g e
- Step 3: The user was able to see a detailed post describing the product.
144 | P a g e
3.1.6 Filter product
3.1.6.1 Filter product by location
This is a function to filter posts by a location close to the user.
- When the user first logs into the account and accesses the system. The system will
display 3 locations (Hanoi Capital, Da Nang City, and Ho Chi Minh City) for users to
choose the nearest location. Then the diplomas posted near that location will be
prioritized to be displayed to that user.
145 | P a g e
3.1.6.2 Filter product by category
- Step 1: At the home screen, the user can filter by the desired category. By entering
select a "Thể loại".
146 | P a g e
Figure 115: Step 1 in the Filter product by category 2
- Step 2: After clicking select 1 "Thể loại". Users can see products by that category.
147 | P a g e
- Step 3: At the screen, the list of posts has been filtered by category. Users can further
filter posts by subcategory. By clicking on any subcategory.
148 | P a g e
- Step 4: After the user has filtered product posts by subcategory. Users can still filter in
more detail such as filtering by “Trạng thái”, “Giá” and “Thành phố”.
149 | P a g e
Filter by product price
150 | P a g e
Filter by city
- Step 5: If the user wants to filter by product status "Sản phẩm cũ". All product posts
that are in the old state of that category are displayed.
151 | P a g e
3.1.7 Manage product to sell
3.1.7.1 Manage post
- Step 1: Click on “Quản Lý Tin” on header
Figure 122: Step 1 in the Post management of Product management for sale
152 | P a g e
- Step 2: Posted posts are displayed below
Figure 123: Step 2 in the Post management of Product management for sale
153 | P a g e
- Step 3: Users can use the functions of editing posts, hiding posts, and deleting posts.
From the results when clicking on the post. Click "Sửa" to use the post editing function
Figure 124: Step 3 in the Post management of Product management for sale
154 | P a g e
Users can edit the information in the post.
Figure 125: Step 3 in the Manage Post of Product management for sale 1
155 | P a g e
+ This is the function to hide the post. Users can hide their posts so others can't see
their posts. Click "Ẩn" to use the post hiding function
Figure 126: Step 3 in the Manage Post of Product management for sale 2
156 | P a g e
That post will go to the hidden post list item
Figure 127: Step 3 in the Manage Post of Product management for sale 3
157 | P a g e
+ This is the post delete function. Click "Xóa" to use the post deleting function
Figure 128: Step 3 in the Manage Post of Product management for sale 4
158 | P a g e
Click on “có” to yes,click on “Không” to reject
Figure 129: Step 3 in the Manage Post of Product management for sale 5
159 | P a g e
3.1.7.2 Manage auction
- Step 1: Click on “Quản Lý Tin” on header
Figure 130: Step 1 in the Manage auction of Product management for sale
- Step 2: Screen results when switching to posting management. Click "Đấu giá" to
view and manage auction posts.
Figure 131: Step 2 in the Manage auction of Product management for sale
160 | P a g e
- Step 3: At the auction management screen, users can perform the functions of product
management for sale such as editing posts, hiding posts, and deleting posts.
+ This is the auction post editing function. Click "Sửa" to use the post editing
function
Figure 132: Step 3 in the Manage auction of Product management for sale 1
161 | P a g e
Enter the edit information to update the auction post.
Figure 133: Step 3 in the Manage auction of Product management for sale 2
162 | P a g e
+ This is an arbitrary auction post-hiding function. Users can click the "Ẩn" button at
the auction post management screen. And can unhide to show the auction post again
when clicking the "Hiển thị" button on the hidden post management screen.
Figure 134: Step 3 in the Manage auction of Product management for sale 3
163 | P a g e
+ This is the function to delete the auction post. Click "Xóa" to use the post deleting
function
Figure 135: Step 3 in the Manage auction of Product management for sale 4
164 | P a g e
Click on “có” to yes,click on “Không” to reject
Figure 136: Step 3 in the Manage auction of Product management for sale 5
165 | P a g e
3.1.7.2 Manage hide post
- Step 1: Click on “Quản Lý Tin” on header
Figure 137: Step 1 in the Manage hide post of Product management for sale
Figure 138: Step 2 in the Manage hide post of Product management for sale
166 | P a g e
3.1.8 Post product to sell
- Step 2: Enter all product post information including category, subcategory, product
name, product status, warranty, origin, product description, price, and address.
Note: You can click on "Sản phẩm dùng để cho tặng" if you want to post products
priced at 0 VND. You can click on "Đấu giá" if you want to post products to create an
auction. Do not select any if you want to post the product as a regular post.
167 | P a g e
- Step 3: Enter complete product information and click "Thêm Hình Ảnh"
168 | P a g e
- Step 4: Click on “Tạo Bài Viết”
169 | P a g e
After successful creation will go to the product detail screen
170 | P a g e
- Step 1: Click "Đăng tin"
- Step 2: Enter all product post information including category, subcategory, product
name, product status, warranty, origin, product description, price, and address.
Note: You can click on "Sản phẩm dùng để cho tặng" if you want to post products
priced at 0 VND. You can click on "Đấu giá" if you want to post products to create an
auction. Do not select any if you want to post the product as a regular post.
171 | P a g e
Enter complete product information (tick on “Đấu Giá”) and click "Thêm Hình
Ảnh"
172 | P a g e
- Step 3: More detailed pictures
173 | P a g e
After uploading the image will appear as follows
174 | P a g e
- Step 4:Click on “Tạo Bài Viết”
175 | P a g e
After successful creation will go to the product detail screen
176 | P a g e
3.1.10 Manage auction product
− Step 1: Click on “Quản Lý Tin” on header
177 | P a g e
- Step 2: Screen results when switching to posting management. Click "Đấu giá" to
view and manage auction posts.
178 | P a g e
- Step 3: At the auction management screen, users can perform the functions of product
management for sale such as editing posts, hiding posts, and deleting posts.
+ This is the auction post editing function. Click "Sửa" to use the post editing
function
179 | P a g e
Enter the edit information to update the auction post.
180 | P a g e
+ This is an arbitrary auction post-hiding function. Users can click the "Ẩn" button
at the auction post management screen. And can unhide to show the auction post again
when clicking the "Hiển thị" button on the hidden post management screen.
181 | P a g e
Figure 155: Step 3 in the Manage auction product 4
182 | P a g e
+ This is the function to delete the auction post. Click "Xóa" to use the post deleting
function .
183 | P a g e
Click on “có” to yes. Click on “Không” to reject
184 | P a g e
3.1.11 Schedule product auction
- Step 1: Click on a product that says “đang đấu giá”
185 | P a g e
- Step 2: After clicking on the auction will appear as below
186 | P a g e
- Step 3: Enter the amount in the "Tôi trả" textfield
187 | P a g e
After entering, the amount of bidders will be displayed
188 | P a g e
When you bid the highest, you will become the winner and will show the popup like
below
189 | P a g e
Click on ”đi đến giỏ hàng” to pay product
190 | P a g e
Figure 164: View other user's account
191 | P a g e
3.1.13 Manage order
- Step 1: Click on “Đơn hàng” on header
- Step 2: After clicking on " Đơn" will display dropdown as below. Click on "Đơn
Mua"
192 | P a g e
− Step 3: After clicking on "Đơn mua" you can see the pending application for
confirmation
− Step 4: Click on "Đang xử lý" to view pending orders from the seller
193 | P a g e
3.1.15 Buy product
− Step 1: On the main page, click on any product
− Step 2: When you click on any product, you will go to the product detail screen, click
on“Mua”
194 | P a g e
- Step 3: Click on“Mua” to add product to cart
- Step 4: After clicking "buy" the product will be added to the cart as shown below
195 | P a g e
Figure 171: Step 4 in the Buy product
3.1.16 Payment
- Step 1: From the shopping cart screen, click on "Purchase" to pay
196 | P a g e
Figure 173: Step 2 in the Payment
197 | P a g e
Figure 174: Step 5 in the Payment
198 | P a g e
Figure 175: Step 6 in the Payment
199 | P a g e
Figure 176: Step 2 in the Add favourite product
200 | P a g e
Figure 177: Step 1 in the Manage favorite product list
- Step 3: After clicking on "Yêu thích" your favorite product will appear as below
201 | P a g e
Figure 179: Step 3 in the Manage favourite product list
- Step 1: When logged in with the admin account. select "Quản lý người dùng" item
will display as below
- Step 2: You can manage users by clicking on the icon as shown below
202 | P a g e
- Step 3: You can edit or delete an account from the system
+ Choose edit to edit user
+ Choose delete to remove the user from the system
IX. Conclusion
1.Summary of the results of the project have been achieved
Small-scale, short-term software development projects and groups, or from written
management, using tools such as tools and excel to software, find that:
Easier to interact with members
User-friendly interface, easy to use, necessary functions are distributed very logically
and logically, thus reducing the time of create product to sell, User management,
Auction forms, ...
Customers appreciate the professionalism and thoroughness at in buying and selling.
203 | P a g e
X. Appendix References
[1] Advantages and disadvantages and popular working models [online] at <
https://www.chotot.com/ > < https://chodocu.com/ >[Access September 2022].
[2] The Ultimate List of Remote Work Statistics for 2022 [online] at <
https://findstack.com/remote-work-statistics> [Access September 2022].
[3] pros and cons of buying second hand [online] at < https://environmental-
conscience.com/buying-secondhand-products-pros-cons/ > [Access September 2022].
[4] What is Project Manager? Project Manager's job [online] at <
https://topdev.vn/blog/project-managerla-gi> [Access September 2022].
[5] The Benefits of Shoping online [online] at < https://toughnickel.com/frugal-
living/Online-shopping-sites-benefits > [Access September 2022].
[6] The people who hate Shoping online [online] at < https://www.quora.com/Why-do-
people-hate-doing-online-shopping > [Access September 2022].
[7] How to bring people closer to online shopping [online] at <
https://www.shopify.com/blog/15460013-how-to-drive-targeted-traffic-to-your-online-
store-video > [Access October 2022].
[8] What problems can online shopping solve? [online] at <
https://www.prefixbox.com/blog/online-shopping-problems/ > [Access October 2022].
[9] Trello [online] at < https://trello.com/ > [Access October 2022].
[10] ClickUp [online] at < https://clickup.com/ > [Access October 2022].
[11] Jira [online] at < https://www.atlassian.com/software/jira> [Access October 2022].
[12] Socket.IO [online] at < https://socket.io/ > [Access November 2022].
[13] WebRTC [online] at < https://webrtc.org/> [Access November 2022].
[14] Jenkins [online] at < https://www.jenkins.io/ > [Access November 2022].
[15] React [online] at < https://reactjs.org/ > [Access November 2022].
[16] Axios [online] at < https://axios-http.com/ > [Access November 2022].
[17] NGINX [online] at < https://docs.nginx.com/nginx/admin-guide/installing-
nginx/installing-nginxdocker/ > [Access November 2022].
[18] Nodejs [online] at < https://nodejs.org/en/ > [Access November 2022].
[19] Github [online] at < https://github.com/> [Access November 2022].
204 | P a g e