Project

General

Profile

Foreigner Sequence Diagram » History » Version 2

Ryan Supawarapong, 03/02/2026 01:45 AM

1 1 karnake ruengchaicharnkij
# Foreigner Sequence Diagram
2 2 Ryan Supawarapong
3
<img style="width: 797px;" src="clipboard-202603020845-awl2t.png"><br>
4
5
```
6
@startuml
7
8
title Onboarding Foreigner
9
10
actor "customer" as c
11
participant "frontend" as fe
12
participant "backend" as be
13
database "database" as db
14
participant "notification" as n
15
participant "appman" as ap
16
17
18
c -> fe: choose Foreign Investor
19
fe --> c: ok
20
21
group Fullname Page
22
23
c -> fe: fill fullname, email, mobile and passport detail
24
fe -> be: send fullname, email, mobile and passport detail
25
26
be -> db: check for existing email, mobile and passport
27
db --> be: not found
28
be -> db: create user entry in information
29
db --> be: ok
30
be --> fe: ok & redirect to appman page (init by BE)
31
fe --> c: show next page (Appman)
32
33
  group Back to Register
34
    db --> be: found
35
    be --> fe: found existing user
36
    fe --> c: this account already exist. "Enter passport no"
37
    c -> fe: enter passport no```
38
@startuml
39
40
title Onboarding Foreigner
41
42
actor "customer" as c
43
participant "frontend" as fe
44
participant "backend" as be
45
database "database" as db
46
participant "notification" as n
47
participant "appman" as ap
48
49
50
c -> fe: choose Foreign Investor
51
fe --> c: ok
52
53
group Fullname Page
54
55
c -> fe: fill fullname, email, mobile and passport detail
56
fe -> be: send fullname, email, mobile and passport detail
57
58
be -> db: check for existing email, mobile and passport
59
db --> be: not found
60
be -> db: create user entry in information
61
db --> be: ok
62
be --> fe: ok & redirect to appman page (init by BE)
63
fe --> c: show next page (Appman)
64
65
  group Back to Register
66
    db --> be: found
67
    be --> fe: found existing user
68
    fe --> c: this account already exist. "Enter passport no"
69
    c -> fe: enter passport no
70
    fe --> be: check passport no for existing user
71
  end
72
73
end
74
75
group Appman Page
76
  c -> ap: do passport
77
  ap --> fe: redirect to next page(CRS)
78
end
79
80
group CRS page
81
  fe -> be: send appman state code
82
  be -> ap: request customer data
83
  ap --> be: send customer data
84
  be --> fe: ok
85
  
86
  c -> fe: do eligibility
87
  fe --> c: ok
88
  c -> fe: TIN detail for CRS
89
  fe -> be: send Tin detail
90
  be -> db: save TIN
91
  db --> be: ok
92
  be --> fe: ok
93
  fe --> c: redirect to next page(basic info)
94
end
95
96
group Basic Info page
97
98
  c -> fe: input data
99
  fe -> be: same info (Same as regular onboarding)
100
  be -> db: save info
101
  db --> be: ok
102
  be --> fe: ok
103
  fe --> c: redirect to next page(Suite test)
104
end
105
106
group Suite test
107
  c -> fe: do suite test
108
  fe -> be: send suite test result
109
  be -> db: save suite test result
110
  db --> be: ok
111
  db --> fe: ok
112
  fe --> c: redirect to next page(verification document)
113
end
114
115
group Verification Document
116
117
  c -> fe: choose type & upload document
118
  fe -> be: document & document type
119
  be -> db: save document & document type
120
  db --> be: ok
121
  be --> fe: ok
122
  fe --> c: redirect to next page(verify email and mobile)
123
124
end
125
126
group Veirfy Email and Mobile
127
128
  c -> fe: verify mobile
129
  fe -> be: request sms otp
130
  be -> n: send sms otp
131
  n --> be: ok
132
  be --> fe: ok
133
  n -> c: sms otp
134
  c -> fe: input otp
135
  fe -> be: otp code
136
  be -> db: check otp code
137
  db --> be: ok
138
  be --> fe: ok
139
  fe --> c: ok
140
141
  c -> fe: verify email
142
  fe -> be: request verification link
143
  be -> n: send email with link
144
  n --> be: ok
145
  be --> fe: ok
146
  n -> c: email with link
147
148
  c -> fe: click link
149
  fe -> be: jwt token
150
  be -> be: check jwt token
151
  be -> db: update status
152
  db --> be: ok
153
  be --> fe: ok
154
  fe --> c: ok
155
156
end
157
158
@enduml
159
```
160
    fe --> be: check passport no for existing user
161
  end
162
163
end
164
165
group Appman Page
166
  c -> ap: do passport
167
  ap --> fe: redirect to next page(CRS)
168
end
169
170
group CRS page
171
  fe -> be: send appman state code
172
  be -> ap: request customer data
173
  ap --> be: send customer data
174
  be --> fe: ok
175
  
176
  c -> fe: do eligibility
177
  fe --> c: ok
178
  c -> fe: TIN detail for CRS
179
  fe -> be: send Tin detail
180
  be -> db: save TIN
181
  db --> be: ok
182
  be --> fe: ok
183
  fe --> c: redirect to next page(basic info)
184
end
185
186
group Basic Info page
187
188
  c -> fe: input data
189
  fe -> be: same info (Same as regular onboarding)
190
  be -> db: save info
191
  db --> be: ok
192
  be --> fe: ok
193
  fe --> c: redirect to next page(Suite test)
194
end
195
196
group Suite test
197
  c -> fe: do suite test
198
  fe -> be: send suite test result
199
  be -> db: save suite test result
200
  db --> be: ok
201
  db --> fe: ok
202
  fe --> c: redirect to next page(verification document)
203
end
204
205
group Verification Document
206
207
  c -> fe: choose type & upload document
208
  fe -> be: document & document type
209
  be -> db: save document & document type
210
  db --> be: ok
211
  be --> fe: ok
212
  fe --> c: redirect to next page(verify email and mobile)
213
214
end
215
216
group Veirfy Email and Mobile
217
218
  c -> fe: verify mobile
219
  fe -> be: request sms otp
220
  be -> n: send sms otp
221
  n --> be: ok
222
  be --> fe: ok
223
  n -> c: sms otp
224
  c -> fe: input otp
225
  fe -> be: otp code
226
  be -> db: check otp code
227
  db --> be: ok
228
  be --> fe: ok
229
  fe --> c: ok
230
231
  c -> fe: verify email
232
  fe -> be: request verification link
233
  be -> n: send email with link
234
  n --> be: ok
235
  be --> fe: ok
236
  n -> c: email with link
237
238
  c -> fe: click link
239
  fe -> be: jwt token
240
  be -> be: check jwt token
241
  be -> db: update status
242
  db --> be: ok
243
  be --> fe: ok
244
  fe --> c: ok
245
246
end
247
248
@enduml
249
```