-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSadinDEV.drawio
More file actions
330 lines (330 loc) · 32.8 KB
/
Copy pathSadinDEV.drawio
File metadata and controls
330 lines (330 loc) · 32.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
<mxfile host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.2.8 Chrome/140.0.7339.240 Electron/38.4.0 Safari/537.36" version="28.2.8" pages="5">
<diagram id="77fdOQhJf-JvaFsN2vVB" name="Components">
<mxGraphModel dx="2017" dy="1207" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<object label="Base Layer" id="1">
<mxCell parent="0" />
</object>
<mxCell id="d8yr3fQonUBrG0vSqjif-1" value="Auth/OTP" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="70" y="1100" width="330" height="180" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-2" value="OTP Login and Registration" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-1" vertex="1">
<mxGeometry y="30" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-3" value="Regular Registration" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-1" vertex="1">
<mxGeometry y="60" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-4" value="Username/Password Login" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-1" vertex="1">
<mxGeometry y="90" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-6" value="Forget Password" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-1" vertex="1">
<mxGeometry y="120" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-7" value="External Login" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-1" vertex="1">
<mxGeometry y="150" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-8" value="User Profile" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="70" y="1320" width="330" height="300" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-9" value="Profile Completion" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-8" vertex="1">
<mxGeometry y="30" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-10" value="Profile View / Edit" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-8" vertex="1">
<mxGeometry y="60" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-11" value="Change Password" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-8" vertex="1">
<mxGeometry y="90" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-12" value="Revoke Tokens" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-8" vertex="1">
<mxGeometry y="120" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-14" value="Change Username" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-8" vertex="1">
<mxGeometry y="150" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-15" value="Change PhoneNumber/Confirmation" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-8" vertex="1">
<mxGeometry y="180" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-16" value="Change Email/Confirmation" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-8" vertex="1">
<mxGeometry y="210" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-17" value="Newsletter Subscription Settings" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-8" vertex="1">
<mxGeometry y="240" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="d8yr3fQonUBrG0vSqjif-19" value="User Subscription (Level)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="d8yr3fQonUBrG0vSqjif-8" vertex="1">
<mxGeometry y="270" width="330" height="30" as="geometry" />
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-13" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="60" y="60" width="150" height="180" as="geometry" />
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-1" value="" style="swimlane;strokeColor=#999999;swimlaneFillColor=#FFFFFF;fillColor=#ffffff;fontColor=#666666;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;whiteSpace=wrap;html=1;" parent="ng8t_VF1TtvwlwnHok6t-13" vertex="1">
<mxGeometry y="30" width="150" height="150" as="geometry" />
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-2" value="Option 1" style="text;strokeColor=none;align=left;verticalAlign=middle;spacingLeft=27;spacingRight=10;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fillColor=none;fontColor=inherit;fontSize=17;" parent="ng8t_VF1TtvwlwnHok6t-1" vertex="1">
<mxGeometry width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-3" value="" style="resizable=0;fillColor=#EEEEEE;strokeColor=#999999;gradientColor=#cccccc;html=1;" parent="ng8t_VF1TtvwlwnHok6t-2" vertex="1">
<mxGeometry y="0.5" width="15" height="15" relative="1" as="geometry">
<mxPoint x="8" y="-7.5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-4" value="Option 2" style="text;strokeColor=none;align=left;verticalAlign=middle;spacingLeft=27;spacingRight=10;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;rSize=5;fillColor=none;fontColor=inherit;fontSize=17;" parent="ng8t_VF1TtvwlwnHok6t-1" vertex="1">
<mxGeometry y="30" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-5" value="" style="resizable=0;fillColor=#EEEEEE;strokeColor=#999999;gradientColor=#cccccc;html=1;" parent="ng8t_VF1TtvwlwnHok6t-4" vertex="1">
<mxGeometry y="0.5" width="15" height="15" relative="1" as="geometry">
<mxPoint x="8" y="-7.5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-6" value="Option 3" style="text;strokeColor=none;align=left;verticalAlign=middle;spacingLeft=27;spacingRight=10;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;rSize=5;fillColor=none;fontColor=#008CFF;fontSize=17;" parent="ng8t_VF1TtvwlwnHok6t-1" vertex="1">
<mxGeometry y="60" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-7" value="" style="shape=mxgraph.mockup.forms.checkbox;resizable=0;fillColor=#AAAAAA;gradientColor=#666666;strokeColor=#444444;html=1;" parent="ng8t_VF1TtvwlwnHok6t-6" vertex="1">
<mxGeometry y="0.5" width="15" height="15" relative="1" as="geometry">
<mxPoint x="8" y="-7.5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-8" value="Option 4" style="text;strokeColor=none;align=left;verticalAlign=middle;spacingLeft=27;spacingRight=10;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fillColor=none;fontColor=inherit;fontSize=17;" parent="ng8t_VF1TtvwlwnHok6t-1" vertex="1">
<mxGeometry y="90" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-9" value="" style="resizable=0;fillColor=#EEEEEE;strokeColor=#999999;gradientColor=#cccccc;html=1;" parent="ng8t_VF1TtvwlwnHok6t-8" vertex="1">
<mxGeometry y="0.5" width="15" height="15" relative="1" as="geometry">
<mxPoint x="8" y="-7.5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-10" value="Option 4" style="text;strokeColor=none;align=left;verticalAlign=middle;spacingLeft=27;spacingRight=10;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fillColor=none;fontColor=inherit;fontSize=17;" parent="ng8t_VF1TtvwlwnHok6t-1" vertex="1">
<mxGeometry y="120" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-11" value="" style="resizable=0;fillColor=#EEEEEE;strokeColor=#999999;gradientColor=#cccccc;html=1;" parent="ng8t_VF1TtvwlwnHok6t-10" vertex="1">
<mxGeometry y="0.5" width="15" height="15" relative="1" as="geometry">
<mxPoint x="8" y="-7.5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ng8t_VF1TtvwlwnHok6t-12" value="Basic Features" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="ng8t_VF1TtvwlwnHok6t-13" vertex="1">
<mxGeometry x="22.5" width="105" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="8T-njheiflGoO_boFJ6B" name="OTP">
<mxGraphModel dx="1666" dy="1358" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="4681" pageHeight="3300" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="wrN3qmoWlWqyxuUobfAf-1" value="OTP Login" style="swimlane;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="40" y="30" width="630" height="260" as="geometry" />
</mxCell>
<mxCell id="z871sHAd9aS-14EOS8yi-8" value="" style="shape=ext;double=1;rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="wrN3qmoWlWqyxuUobfAf-1" vertex="1">
<mxGeometry x="100" y="39" width="460" height="200" as="geometry" />
</mxCell>
<mxCell id="z871sHAd9aS-14EOS8yi-12" value="Mobile/Email" style="fillColor=none;strokeColor=none;align=left;fontSize=14;" parent="wrN3qmoWlWqyxuUobfAf-1" vertex="1">
<mxGeometry width="230" height="40" relative="1" as="geometry">
<mxPoint x="200" y="39" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="z871sHAd9aS-14EOS8yi-15" value="Send OTP Code" style="html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rrect;rSize=5;fillColor=#0085FC;strokeColor=none;align=center;fontSize=14;fontColor=#FFFFFF;" parent="wrN3qmoWlWqyxuUobfAf-1" vertex="1">
<mxGeometry width="260" height="40" relative="1" as="geometry">
<mxPoint x="200" y="119" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-9" value="<font style="font-size: 11px;">Checks if the Phone Number has not an OTP assigned and if it does, it is expired.</font><div><font style="font-size: 11px;">If it is not expired then send back an error to wait for expiration</font></div>" style="whiteSpace=wrap;html=1;fontStyle=1;startSize=23;align=left;" vertex="1" parent="wrN3qmoWlWqyxuUobfAf-1">
<mxGeometry x="140" y="170" width="350" height="60" as="geometry" />
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="wrN3qmoWlWqyxuUobfAf-1" source="wrN3qmoWlWqyxuUobfAf-1" target="584DbvpkV8Z4F45KtQSq-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-16" value="" style="html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;shadow=0;dashed=0;strokeWidth=2;shape=mxgraph.ios7.misc.down;strokeColor=#0080f0;" vertex="1" parent="wrN3qmoWlWqyxuUobfAf-1">
<mxGeometry x="302" y="87" width="12" height="6" as="geometry" />
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-11" value="Phone/Email" style="html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rrect;rSize=5;strokeColor=#CED4DA;html=1;whiteSpace=wrap;fillColor=#FFFFFF;fontColor=#7D868C;align=left;spacingLeft=80;spacing=15;fontSize=14;" vertex="1" parent="wrN3qmoWlWqyxuUobfAf-1">
<mxGeometry x="200" y="70" width="260" height="40" as="geometry" />
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-14" value="&nbsp; +98" style="html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.leftButton;strokeColor=#CED4DA;gradientColor=inherit;fontColor=inherit;fillColor=#E9ECEF;rSize=5;perimeter=none;whiteSpace=wrap;resizeHeight=1;fontSize=14;align=left;spacing=15;" vertex="1" parent="584DbvpkV8Z4F45KtQSq-11">
<mxGeometry width="60" height="40" relative="1" as="geometry" />
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-1" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" edge="1" source="wrN3qmoWlWqyxuUobfAf-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1070" y="170" as="sourcePoint" />
<mxPoint x="1310" y="160" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-3" value="User Exist" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="aE4Rpfh079ZTrktna6jI-1" vertex="1" connectable="0">
<mxGeometry x="-0.216" y="-1" relative="1" as="geometry">
<mxPoint x="-146" y="-5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-2" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="354.5" y="290" as="sourcePoint" />
<mxPoint x="1310" y="410" as="targetPoint" />
<Array as="points">
<mxPoint x="355" y="410" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-4" value="Creates a new user with the following information:<div>Username: auto-generated</div><div>Password: auto-generated</div><div>Email: input (if it is Email)</div><div>Phone Number: input (if it is a Phone Number)</div><div>Generate OTP</div><div>Send OTP to Email/Phone Number</div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="aE4Rpfh079ZTrktna6jI-2" vertex="1" connectable="0">
<mxGeometry x="-0.1704" y="-2" relative="1" as="geometry">
<mxPoint x="89" y="-2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-1" value="User does Not Exist" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="aE4Rpfh079ZTrktna6jI-2">
<mxGeometry x="-0.7689" y="-3" relative="1" as="geometry">
<mxPoint x="8" y="-29" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-5" value="OTP Verification" style="swimlane;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="1320" y="40" width="630" height="410" as="geometry" />
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-6" value="" style="shape=ext;double=1;rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="aE4Rpfh079ZTrktna6jI-5" vertex="1">
<mxGeometry x="100" y="39" width="460" height="351" as="geometry" />
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-9" value="Verify" style="html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rrect;rSize=5;fillColor=#0085FC;strokeColor=none;align=center;fontSize=14;fontColor=#FFFFFF;" parent="aE4Rpfh079ZTrktna6jI-5" vertex="1">
<mxGeometry width="260" height="40" relative="1" as="geometry">
<mxPoint x="185" y="292" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-11" value="" style="points=[[0.145,0.145,0],[0.5,0,0],[0.855,0.145,0],[1,0.5,0],[0.855,0.855,0],[0.5,1,0],[0.145,0.855,0],[0,0.5,0]];shape=mxgraph.bpmn.event;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;align=center;perimeter=ellipsePerimeter;outlineConnect=0;aspect=fixed;outline=standard;symbol=timer;" parent="aE4Rpfh079ZTrktna6jI-5" vertex="1">
<mxGeometry x="275" y="70" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-52" value="+989123456789" style="html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rrect;rSize=5;strokeColor=light-dark(#d1d1d1, #959595);html=1;whiteSpace=wrap;fillColor=#f5f5f5;align=left;spacing=15;fontSize=14;textShadow=0;fontColor=light-dark(#B9B9B9,#C1C1C1);" parent="aE4Rpfh079ZTrktna6jI-5" vertex="1">
<mxGeometry x="185" y="196" width="260" height="40" as="geometry" />
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-53" value="" style="html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rightButton;strokeColor=#CED4DA;gradientColor=inherit;fontColor=inherit;fillColor=#E9ECEF;rSize=5;perimeter=none;whiteSpace=wrap;resizeHeight=1;fontSize=14;align=left;spacing=15;" parent="aE4Rpfh079ZTrktna6jI-52" vertex="1">
<mxGeometry x="1" width="39" height="40" relative="1" as="geometry">
<mxPoint x="-39" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-55" value="" style="html=1;dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.edit;strokeColor=none;fillColor=#737373;shadow=0;sketch=0;" parent="aE4Rpfh079ZTrktna6jI-52" vertex="1">
<mxGeometry x="232.2330097087379" y="9.84" width="18.96004480955937" height="18.96004480955937" as="geometry" />
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-56" value="OTP Code" style="html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rrect;rSize=5;strokeColor=#CED4DA;html=1;fillColor=#FFFFFF;fontColor=light-dark(#737373, #ededed);align=left;spacing=15;fontSize=14;" parent="aE4Rpfh079ZTrktna6jI-5" vertex="1">
<mxGeometry x="185" y="242" width="260" height="40" as="geometry" />
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-57" value="" style="html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rightButton;strokeColor=#CED4DA;gradientColor=inherit;fontColor=inherit;fillColor=#E9ECEF;rSize=5;perimeter=none;whiteSpace=wrap;resizeHeight=1;fontSize=14;align=left;spacing=15;" parent="aE4Rpfh079ZTrktna6jI-56" vertex="1">
<mxGeometry x="1" width="39" height="40" relative="1" as="geometry">
<mxPoint x="-39" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-62" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=light-dark(#737373, #3f85db);verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;shape=mxgraph.gcp2.arrows_system;gradientColor=none;" parent="aE4Rpfh079ZTrktna6jI-56" vertex="1">
<mxGeometry x="226.8800000000001" y="7.5" width="26.31" height="25" as="geometry" />
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-2" value="05:00" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="aE4Rpfh079ZTrktna6jI-5">
<mxGeometry x="285" y="150" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-34" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1950" y="170" as="sourcePoint" />
<mxPoint x="2210" y="170" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-35" value="Correct OTP Code and Profile is completed" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="aE4Rpfh079ZTrktna6jI-34" vertex="1" connectable="0">
<mxGeometry x="-0.0595" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-36" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1400" y="450" as="sourcePoint" />
<mxPoint x="1400" y="690" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-37" value="Resend Code" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="aE4Rpfh079ZTrktna6jI-36" vertex="1" connectable="0">
<mxGeometry x="-0.1417" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-38" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1890" y="450" as="sourcePoint" />
<mxPoint x="1890" y="690" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-39" value="Change Phone Number" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="aE4Rpfh079ZTrktna6jI-38" vertex="1" connectable="0">
<mxGeometry x="-0.1417" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-63" value="<font style="font-size: 27px;">This button will show a popup or redirect to OTP login page but calls another endpoint to expire the current OTP code</font>" style="rounded=1;whiteSpace=wrap;html=1;spacingRight=30;spacingLeft=30;align=left;" parent="1" vertex="1">
<mxGeometry x="1800" y="690" width="690" height="280" as="geometry" />
</mxCell>
<mxCell id="aE4Rpfh079ZTrktna6jI-64" value="Call the Resent OTP Code endpoint:
1. Expire the current OTP code
2. Generate New OTP code
3. Send new OTP code" style="rounded=1;whiteSpace=wrap;html=1;spacingRight=30;spacingLeft=30;align=left;fontSize=27;" parent="1" vertex="1">
<mxGeometry x="1060" y="690" width="690" height="280" as="geometry" />
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-18" value="" style="shape=triangle;direction=south;fillColor=#343A40;strokeColor=none;perimeter=none;" vertex="1" parent="1">
<mxGeometry x="249" y="118" width="11" height="7" as="geometry" />
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-19" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1950" y="250" as="sourcePoint" />
<mxPoint x="2320" y="250" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-20" value="Correct OTP but, profile is not completed" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="584DbvpkV8Z4F45KtQSq-19">
<mxGeometry x="-0.3416" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-21" value="Return Tokens" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="2210" y="140" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="584DbvpkV8Z4F45KtQSq-22" value="Redirect to Complete Profile Page" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="2320" y="220" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="VWLFnT9uYPGCKBT0OLFZ-1" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.07;exitY=0.929;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="z871sHAd9aS-14EOS8yi-15" target="VWLFnT9uYPGCKBT0OLFZ-2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="390" as="sourcePoint" />
<mxPoint x="258" y="600" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VWLFnT9uYPGCKBT0OLFZ-2" value="Steps" style="swimlane;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="158" y="499.9999999999998" width="200" height="200" as="geometry" />
</mxCell>
<mxCell id="VWLFnT9uYPGCKBT0OLFZ-3" value="- Validate Input<div>- Check User Existence</div><div>-&nbsp;</div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="165" y="563" width="150" height="60" as="geometry" />
</mxCell>
<mxCell id="VWLFnT9uYPGCKBT0OLFZ-6" value="<h1 style="margin-top: 0px;">OTP Login Flow</h1><p><span style="white-space: pre;">	</span>- User see the OTP Login page</p><p><span style="white-space: pre;">	</span>- User input phone number<br></p>" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" vertex="1" parent="1">
<mxGeometry x="180" y="1140" width="1400" height="620" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram name="Registration" id="NZiIO9bsHwu5rtwFtZxN">
<mxGraphModel dx="1083" dy="883" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="4681" pageHeight="3300" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="Y-DYA-yz4WeIKSNN-290-1" value="Full Registration" style="swimlane;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="140" y="50" width="350" height="460" as="geometry" />
</mxCell>
<mxCell id="GSts77-dJwC3o23LA0Aj-1" value="<b>Username</b><div><b><br></b><div><b>Password</b></div><div><b><br>Email</b></div><div><b><br></b></div><div><b>Mobile</b></div><div><b><br></b></div><div><b>Active</b></div><div><b><br></b></div><div><b>SuperAdmin</b></div></div>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="Y-DYA-yz4WeIKSNN-290-1" vertex="1">
<mxGeometry x="15" y="32" width="90" height="170" as="geometry" />
</mxCell>
<mxCell id="GSts77-dJwC3o23LA0Aj-2" value="<b>Username</b><div><b><br></b><div><b>Password</b></div><div><b><br>Email</b></div><div><b><br></b></div><div><b>Mobile</b></div><div><b><br></b></div><div><b>Active</b></div><div><b><br></b></div><div><b>SuperAdmin</b></div></div>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="Y-DYA-yz4WeIKSNN-290-1" vertex="1">
<mxGeometry x="160" y="32" width="90" height="170" as="geometry" />
</mxCell>
<mxCell id="GSts77-dJwC3o23LA0Aj-3" value="The only data that we need is Mobile or Email, then we can create a user with the following flow:<div>We generate an OTP code and a Random Password and then send the OTP code to the email and Phone Number and the Password to the user's Email</div><div>The email can be optional, but if the email is sent, then we can send the password to the email.</div><div>But if the email is null, then the user can log in on their next visit, but without a password, and only using the phone number and the OTP Code</div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="60" y="545" width="830" height="70" as="geometry" />
</mxCell>
<mxCell id="GAPt8LcdhsMQqiCVqHDI-1" value="<h1 style="margin-top: 0px;">Details</h1><p><span style="white-space: pre;">	</span>- URL: /auth/register<br></p><p><span style="white-space: pre;">	</span><span style="white-space: pre;">	</span>[POST]<br></p><p><span style="white-space: pre;">	</span>- Input: RegisterationRequest<br></p><p><span style="white-space: pre;">	</span>- Response: Status Code, GUID<br></p><p><span style="white-space: pre;">	</span>- Needs to verify email/phone<br></p>" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
<mxGeometry x="510" y="50" width="470" height="210" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="xTn0TPYUu7bsI4yLHhDY" name="OTP Login">
<mxGraphModel dx="1234" dy="883" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="4681" pageHeight="3300" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
</root>
</mxGraphModel>
</diagram>
<diagram id="Kvu5p_dLXOHI-M7ET5-n" name="Page-5">
<mxGraphModel dx="4400" dy="4760" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="4681" pageHeight="3300" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
</root>
</mxGraphModel>
</diagram>
</mxfile>