fu marketplace capstone project
TRANSCRIPT
![Page 1: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/1.jpg)
FU Marketplace
1
![Page 2: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/2.jpg)
Nguyen Hoang Long
Hoang Thanh SonTrieu Cong Son
Tran Duc Hieu
Do Hai Dong
SupervisorMr. Nguyen Tat Trung
2
![Page 3: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/3.jpg)
1 Introduction
2 Project Management Plan
3 Software Requirement Specification
4 Software Architectural Design
5 Testing
6 Deployment
7 Lesson Learned
Content
8 Demo – Q&A
3
![Page 4: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/4.jpg)
Introduction
4
![Page 5: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/5.jpg)
Background
5
![Page 6: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/6.jpg)
Background
8001200
Number of lunch servings per day -‐ 9 May 2016
Group FU -‐ Hoà Lạc Cơm Canteen
6
![Page 7: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/7.jpg)
Background
Search system
Order system
Report system
Review system
Shop management
Order management
7
![Page 8: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/8.jpg)
Background
Can not filter shop:• By Dorm (e.g. Dom A, Dom B, Dom C)• By Product Category
Can not search with keyword:• Shop’s name• Seller’s name• Product’s Name• …
8
![Page 9: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/9.jpg)
Background
Comment to buy
Like to confirm
9
![Page 10: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/10.jpg)
Background
10
![Page 11: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/11.jpg)
Background
11
![Page 12: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/12.jpg)
Background
12
![Page 13: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/13.jpg)
Background
13
![Page 14: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/14.jpg)
Background
14
![Page 15: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/15.jpg)
Our Idea
15
![Page 16: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/16.jpg)
Our Idea
16
![Page 17: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/17.jpg)
q Easy shop searching
q Intuitive order management
q Powerful notification system
q Production Ready!
Main Objectives
17
![Page 18: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/18.jpg)
Scope
In scope
q Shop searching and filteringq Shop pageq Order managementq Report bad orderq Shop reviewq Notificationq Shop managementq Shop analyticsq Admin dashboardq Multiple languages support
Out of scope
q Suggestionq Fully functional layout for mobile browserq Native mobile appq Payment systemq Chat systemq Feedback for website systemq Looking-for-shipper systemq Inventory Managementq Optimal shop ranking
18
![Page 19: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/19.jpg)
System Proposal
19
![Page 20: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/20.jpg)
Project Management Plan
20
![Page 21: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/21.jpg)
Iterative and Incremental Software Process Model
Software Process Model
21
![Page 22: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/22.jpg)
• Time: 8 hours / day, 5 days / week
• Location: Room C203, FPT University Hoa Lac
• Communication:
• Supervisor meeting: Once a week
• Teambuilding: Once a month
Teamwork
22
![Page 23: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/23.jpg)
Project Planning
23
![Page 24: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/24.jpg)
Risk ManagementName Prevention Correction Status
Internet interruptions
All developers have to set up the isolated development environment and have an offline copy of the documentation. Using various online communication tools and creating face-to-face meeting at any possible time.
Always make sure that there are alternative ways to connect to the internet, such as: using VPN or 3G.
Closed
Illness or absence of team members
Member has to notice to the team about absence period and the plan of how to keep up with the work process.
Ensure that the absence of a member won’t affect others and always have plans to deal with this problem.
Closed
Business problemAny ideas are welcome but members have to discuss with others and always focus on the reality and possibility.
Make sure the business logic of any ideas is carefully analyzed. Closed
Requirement changedTeam members should carefully analyze and define requirements. Each new requirement has to be reviewed by all team members and supervisor.
If there is a “must be changed” requirement, all team members must join the meeting to decide whether it should be implemented or not.
Closed
MiscommunicationEverything has to be documented. Any team member has to attempt to express his/her opinion clearly and carefully.
Make sure any miscommunication has to be resolved. Closed
New technologyChoosing technology based on member’s qualification. All team members must nurture by self-study.
When someone chooses a new technology, he/she has to explain to all team members about the decision.
Closed
24
![Page 25: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/25.jpg)
Project Tools
Docker Draw.io Pivotal Tracker WebStorm2016.2.2
GitLab Astah Prov7.0.0
Google Chromev52
Microsoft Office2016 Postman
Visual Studio Code v1.3.1
25
![Page 26: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/26.jpg)
Technologies
NodeJS SequelizeJS v3 PostgreSQL v9.5Elasticsearchv2.3.4
MailgunReactJS v15.1.0
Redis v2.8.9
Docker Amazon S3Redux v3.5.2
26
![Page 27: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/27.jpg)
RequirementSpecification
27
![Page 28: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/28.jpg)
Use Case Diagram
User
Seller
Administrator
28
![Page 29: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/29.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
View reject reason of an order
Review shop
29
![Page 30: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/30.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
View reject reason of an order
Review shop
30
![Page 31: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/31.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
View reject reason of an order
Review shop
31
![Page 32: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/32.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
View reject reason of an order
Review shop
32
![Page 33: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/33.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
View reject reason of an order
Review shop
33
![Page 34: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/34.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
View reject reason of an order
Review shop
34
![Page 35: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/35.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
View reject reason of an order
Review shop
35
![Page 36: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/36.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
View reject reason of an order
Review shop
36
![Page 37: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/37.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
View reject reason of an order
Review shop
37
![Page 38: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/38.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
View reject reason of an order
Review shop
38
![Page 39: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/39.jpg)
User
Sign in with Google account
View shop feed
Search shop
Filter shop
View shop
Place order
View orders
Cancel an order
Review shop
View reject reason of an order
39
![Page 40: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/40.jpg)
User
Open a new ticket
View all submitted tickets
View a ticket’s detail
Close a ticket
Reopen a ticket
Update account information
Request to become seller
Change language interface
Sign out
View notification
40
![Page 41: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/41.jpg)
User
Open a new ticket
View all submitted tickets
View a ticket’s detail
Close a ticket
Reopen a ticket
Update account information
Request to become seller
Change language interface
Sign out
View notification
41
![Page 42: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/42.jpg)
User
Open a new ticket
View all submitted tickets
View a ticket’s detail
Close a ticket
Reopen a ticket
Update account information
Request to become seller
Change language interface
Sign out
View notification
42
![Page 43: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/43.jpg)
User
Open a new ticket
View all submitted tickets
View a ticket’s detail
Close a ticket
Reopen a ticket
Update account information
Request to become seller
Change language interface
Sign out
View notification
43
![Page 44: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/44.jpg)
User
Open a new ticket
View all submitted tickets
View a ticket’s detail
Close a ticket
Reopen a ticket
Update account information
Request to become seller
Change language interface
Sign out
View notification
44
![Page 45: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/45.jpg)
User
Open a new ticket
View all submitted tickets
View a ticket’s detail
Close a ticket
Reopen a ticket
Update account information
Request to become seller
Change language interface
Sign out
View notification
45
![Page 46: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/46.jpg)
User
Open a new ticket
View all submitted tickets
View a ticket’s detail
Close a ticket
Reopen a ticket
Update account information
Request to become seller
Change language interface
Sign out
View notification
46
![Page 47: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/47.jpg)
User
Open a new ticket
View all submitted tickets
View a ticket’s detail
Close a ticket
Reopen a ticket
Update account information
Request to become seller
Change language interface
Sign out
View notification
47
![Page 48: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/48.jpg)
User
Open a new ticket
View all submitted tickets
View a ticket’s detail
Close a ticket
Reopen a ticket
Update account information
Request to become seller
Change language interface
Sign out
View notification
48
![Page 49: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/49.jpg)
Seller
View own shop dashboard
Update shop information
Update shop opening status
Update shop ship places
Change shop avatar
Change shop cover
Add item to shop
Delete an item
Update an item information
Update an item sale status
49
![Page 50: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/50.jpg)
Seller
View own shop dashboard
Update shop information
Update shop opening status
Update shop ship places
Change shop avatar
Change shop cover
Add item to shop
Delete an item
Update an item information
Update an item sale status
50
![Page 51: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/51.jpg)
Seller
View own shop dashboard
Update shop information
Update shop opening status
Update shop ship places
Change shop avatar
Change shop cover
Add item to shop
Update an item sale status
Delete an item
Update an item information
51
![Page 52: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/52.jpg)
Seller
View own shop dashboard
Update shop information
Update shop opening status
Update shop ship places
Change shop avatar
Change shop cover
Add item to shop
Update an item sale status
Delete an item
Update an item information
52
![Page 53: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/53.jpg)
Seller
View own shop dashboard
Update shop information
Update shop opening status
Update shop ship places
Change shop avatar
Change shop cover
Add item to shop
Update an item sale status
Delete an item
Update an item information
53
![Page 54: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/54.jpg)
Seller
View active orders
View all orders
Accept an order
Start shipping an order
Finish an order
View shop statistics
Reject an order
Abort an order
54
![Page 55: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/55.jpg)
Seller
View active orders
View all orders
Accept an order
Start shipping an order
Finish an order
View shop statistics
Reject an order
Abort an order
55
![Page 56: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/56.jpg)
Seller
View active orders
View all orders
Accept an order
Reject an order
Start shipping an order
Abort an order
Finish an order
View shop statistics
56
![Page 57: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/57.jpg)
Seller
View active orders
View all orders
Accept an order
Reject an order
Start shipping an order
Abort an order
Finish an order
View shop statistics
57
![Page 58: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/58.jpg)
Seller
View active orders
View all orders
Accept an order
Reject an order
Start shipping an order
Abort an order
Finish an order
View shop statistics
58
![Page 59: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/59.jpg)
Seller
View active orders
View all orders
Accept an order
Start shipping an order
Finish an order
View shop statistics
Reject an order
Abort an order
59
![Page 60: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/60.jpg)
Administrator
Sign in
Sign out
Change password
Change language interface
Update user information
Update user role
Ban a user
Remove ban from a user
View all users
60
![Page 61: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/61.jpg)
Administrator
Sign in
Sign out
Change password
Change language interface
Update user information
Update user role
Ban a user
Remove ban from a user
View all users
61
![Page 62: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/62.jpg)
Administrator
Sign in
Sign out
Change password
Change language interface
Update user information
Update user role
Ban a user
Remove ban from a user
View all users
62
![Page 63: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/63.jpg)
Administrator
Sign in
Sign out
Change password
Change language interface
Update user information
Update user role
Ban a user
Remove ban from a user
View all users
63
![Page 64: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/64.jpg)
Administrator
View all shops
Update shop contact information
Update shop opening status
Update shop public status
Create a new promotion campaign
Ban shop
Remove ban from shop
Update shop ship places
Update shop avatar
Update shop cover
64
![Page 65: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/65.jpg)
Administrator
View all shops
Update shop contact information
Update shop opening status
Update shop public status
Create a new promotion campaign
Ban shop
Remove ban from shop
Update shop ship places
Update shop avatar
Update shop cover
65
![Page 66: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/66.jpg)
Administrator
View all shops
Update shop contact information
Update shop opening status
Update shop public status
Create a new promotion campaign
Ban shop
Remove ban from shop
Update shop ship places
Update shop avatar
Update shop cover
66
![Page 67: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/67.jpg)
Administrator
View all shop promotion campaigns
Update a shop promotion campaign
View all shop opening requests
Accept shop opening request
Reject shop opening request
Close a ticket
View all tickets
Start investigating a ticket
67
![Page 68: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/68.jpg)
Administrator
View all shop promotion campaigns
Update a shop promotion campaign
View all shop opening requests
Accept shop opening request
Reject shop opening request
Close a ticket
View all tickets
Start investigating a ticket
68
![Page 69: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/69.jpg)
Administrator
View all shop promotion campaigns
Update a shop promotion campaign
View all shop opening requests
Accept shop opening request
Reject shop opening request
Close a ticket
View all tickets
Start investigating a ticket
69
![Page 70: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/70.jpg)
Administrator
View all shop promotion campaigns
Update a shop promotion campaign
View all shop opening requests
Accept shop opening request
Reject shop opening request
Close a ticket
View all tickets
Start investigating a ticket
70
![Page 71: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/71.jpg)
Administrator
View all shop promotion campaigns
Update a shop promotion campaign
View all shop opening requests
Accept shop opening request
Reject shop opening request
Close a ticket
View all tickets
Start investigating a ticket
71
![Page 72: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/72.jpg)
Administrator
View all shop promotion campaigns
Update a shop promotion campaign
View all shop opening requests
Accept shop opening request
Reject shop opening request
Close a ticket
View all tickets
Start investigating a ticket
72
![Page 73: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/73.jpg)
Usability
Performance
• Fully request restricted by token
• All requests are encrypted by HTTPS
Non-functional Requirement
Scalability
Extensibility
Security
73
![Page 74: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/74.jpg)
• Strictly follow coding principles and use ESLint to verify code convention
• Automation test including Unit Tests and Integration Tests
Non-functional RequirementSecurity
Usability
Performance
Scalability
ExtensibilityExtensibility
74
![Page 75: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/75.jpg)
• Apply Microservices architecture• Using HAProxy for load balancer and proxy server• Using ELK Stack to monitor and alert service
Non-functional RequirementSecurity
Usability
Performance
Scalability
Extensibility
Scalability
75
![Page 76: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/76.jpg)
• Implement Redis to cache frequently use requests
• Implement background job for external requests, heavy processing requests
• Create indexes for PostgreSQL
Non-functional RequirementSecurity
Usability
Performance
Scalability
Extensibility
Performance
76
![Page 77: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/77.jpg)
• Most of actions can be accomplished within 3 clicks.
• Provide notification-pushing system to help buyer/seller aware about his order’s status changes even he/she close web application
• The shops feed should always be updated by using real-time update over WebSocket
Non-functional RequirementSecurity
Usability
Performance
Scalability
Extensibility
Usability
77
![Page 78: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/78.jpg)
Architectural Design
78
![Page 79: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/79.jpg)
Overall system
FUM Web Frontend FUM Backend System
RESTApi
Socket.IO
79
![Page 80: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/80.jpg)
FUM Frontend DesignToken based authentication
POST /loginusername=…&password=…
HTTP 200Token: JWT (Bearer Token)
GET /api/v1/users/meX-Access-Token: Bearer JWT (Bearer Token)
HTTP 200{ id: 2, fullName: “Tran DucHieu” }
80
![Page 81: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/81.jpg)
FUM Frontend DesignSingle page application
A single-page application (SPA) is a web application or web site that fits on a single web page with the goal of providing a more fluid user experience similar to a desktop application.
Technical approaches
81
![Page 82: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/82.jpg)
FUM Frontend DesignRedux architecture
o Redux architecture revolves around a strict
unidirectional data flow.
o All data in an application follows the same
lifecycle pattern, making app logic more
predictable and easier to understand.
o Three fundamental principles:o Single source of trutho State is read-onlyo Changes are made with pure functions
Store
View Action
82
![Page 83: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/83.jpg)
FUM Frontend Design
Use Case
83
![Page 84: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/84.jpg)
FUM Backend Design
Use Case
Microservices architecture• Redis for caching• Background jobs service• Elasticsearch for searching, filtering• Socket.IO for real-time message
transporting• Amazon S3 for storing images• OneSignal for Website Push• Mailgun for sending email
84
![Page 85: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/85.jpg)
Use Case
Database Design – RDB Diagram
85
![Page 86: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/86.jpg)
Use Case
Database Design – Elasticsearchanalyzer:
folding:
tokenizer: "standard",
filter:["lowercase", "asciifolding"]
: Auto created field
86
![Page 87: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/87.jpg)
Database Design – Elasticsearch
Now this shop can be search by:
-‐ bún chả
-‐ bun cha
-‐ bún cha
-‐ bun chả
87
![Page 88: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/88.jpg)
Database Synchronization
88
![Page 89: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/89.jpg)
Use Case
Why two databases?
Shop Feed data modeling on SQL Database
89
![Page 90: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/90.jpg)
Use Case
Why two databases?• Join 6 tables to get summary information of a
shop.• Do full-text search across many fields of
different tables:• Shop’s name• Shop’s description• Items’ name• Items’ description• Seller’s name
• Filter shop by at least 2 fields of 2 tables: ShipPlace and Items’ Category
• Sort shops by some fields: opening status, average rating,…
è Difficult to accomplish and very low efficiency to do on Relational Database System Shop Feed data modeling on SQL Database
90
![Page 91: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/91.jpg)
Shop search query• Easily to search across multiple fields with
multi_match
• Rank the result with individual field boost
• Auto correction with fuzziness query
• Calculate aggregation (count the number of shops in each category)
name: 2name.folded: 1description: 2description.foldedseller.fullName: 2seller.fullName.folded: 1items.name: 10items.name.folded: 5items.description: 10items.description.folded: 5
91
![Page 92: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/92.jpg)
Background Job Processing
With Background JobWithout Background Job
92
![Page 93: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/93.jpg)
Class diagram
Use case User Place Order 93
![Page 94: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/94.jpg)
Sequence diagram
Use case User Place Order 94
![Page 95: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/95.jpg)
Testing
95
![Page 96: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/96.jpg)
Identify Requirements
Test Planning
Design Test Case
Test Excuting
Test Result Report
Bug Fixing
Regression Testing
Acceptance Testing
Testing Life – Cycle
96
![Page 97: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/97.jpg)
Testing Type
59Use Case API Testing
Integration Testing
Acceptance Testing
Performance Benchmark
Unit Testing
97
![Page 98: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/98.jpg)
FUM - Backend FUM-Front-end and whole project
§ Lack of UI § UI
§ Unit testing and API testing § Integration testing
§ Business logic§ Database constraint
§ User Experience§ User Interface
§ Backend Development team § Tester
§ Automation testing § Manual testing
Test Strategy
98
![Page 99: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/99.jpg)
Testing Tools
Chrome and Chrome Developer Tools: Used for testsize of web page, size of component on page andview log or inspect element
Pivotal Tracker: Manage bug and task (www.pivotaltracker.com).
Microsoft Excel: Manage test case
99
![Page 100: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/100.jpg)
Testing Environment
59Use Case
Software: Google Chrome 52.0
Hardware:
- Windows 7 Professional 32-bit, Service Pack 1
- Intel® Core™ i3
- Install memory (RAM) : 4.00GB
100
![Page 101: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/101.jpg)
Testing Tools - Backend
Mocha: JavaScript test framework running on Node.js andin the browser
Sinon.js: standalone test spies, stubs and mocks forJavaScript, to assert result at variable level.
Chaijs: Chai is a BDD / TDD assertion library for node, to help assertion result in a test
Artillery: a modern load-testing framework, support HTTPS,WebSockets, Scriptable, HTML reports.
101
![Page 102: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/102.jpg)
Testing Environment - Backend
59Use Case
Software: Chaijs v3.5.0 Mocha v2.4.5
Sinon v1.17.4 Artillery v1.5.0
Hardware:
- Ubuntu 14.04 64-bit
- Inter® Core™ i3
- Install memory (RAM) : 8.00GB
102
![Page 103: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/103.jpg)
Testing Model
59Use Case
103
![Page 104: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/104.jpg)
Testing Model – Backend
BDD: Behavior-Driven developmentTDD: Test-Driven development
104
![Page 105: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/105.jpg)
Test Case Guideline
59Use Case
105
![Page 106: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/106.jpg)
Test Case Sample
59Use Case
Normal Flow1. Login to FUM System.2. Click to “Account”.3. Change phone number4. Click to “Save” button
Alternative Flow1. Login to FUM System.2. Click to “Account”.3. Click to button
106
![Page 107: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/107.jpg)
Test Case Guideline - Backend
59Use Case
107
![Page 108: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/108.jpg)
Test Case Sample - Backend
59Use Case
108
![Page 109: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/109.jpg)
Benchmark Scenario
59Use Case
109
![Page 110: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/110.jpg)
Log bugs process
59Use Case
1. Tester or developer detects defect
à Log bug on PivotalTracker à assign to related developer.
2. Developer START fix bug
àChange status of bug to DELIVERED and assign to tester again
3. Tester check bug again
• If bug fixed, requester ACCEPT bug
• If bug didn’t fixed, REJECT bug and re-assign to developer, developer RESTART fix bug and flow
to step 2
110
![Page 111: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/111.jpg)
Log bugs process
59Use Case
111
![Page 112: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/112.jpg)
Test Report
59Use Case
Test Case Stage 1 Stage 2-1 Stage 2-2
Final Pass Fail Pass Fail Pass Fail
Client
User 70 16 158 6 164 0 164
Seller 65 7 90 21 111 0 111
Admin 140 8 149 10 159 0 159
GUI Test Case 12 2 12 0 12 0 12
Total all Test Case 287 129 409 41 446 0 446
112
![Page 113: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/113.jpg)
Test Report - Automation test
59Use Case
Test casePhase 1 Phase 2
FinalPass Fail Pass Fail
API Test - User 46 0 93 0 93API Test - Admin 52 0 67 0 67API Test - Seller 58 0 91 0 91Unit test - Library 0 0 8 0 8Unit test - Middleware 6 0 6 0 6Unit test - Model 43 0 87 0 97Total all test case 205 0 352 0 352
Coverage
Statements 85.32% 86.99% 86.99%Branches 73.12% 74.38% 74.38%Functions 96.13% 94.32% 94.32%Lines 90.34% 87.55% 87.55%
113
![Page 114: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/114.jpg)
Automation Test Coverage Report
59Use Case
114
![Page 115: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/115.jpg)
Benchmark Report
59Use Case
115
![Page 116: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/116.jpg)
Deployment
116
![Page 117: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/117.jpg)
Deployment
Use Case
Continuous Integration (CI) + Continuous Delivery (CD)
117
![Page 118: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/118.jpg)
Deployment
59Use Case
118
![Page 119: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/119.jpg)
Lesson Learned
119
![Page 120: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/120.jpg)
Teamwork Management Skill
Requirements Analysis New Technology
120
![Page 121: FU Marketplace Capstone Project](https://reader031.vdocument.in/reader031/viewer/2022030305/5873ba8a1a28abbc788b541f/html5/thumbnails/121.jpg)
DEMO & QA
121