ekyc

Electronic KYC process with uploading ID document using OAuth 2.1 (experimental)
Log | Files | Refs | README | LICENSE

DomainModel.svg (15876B)


      1 <?xml version="1.0" encoding="utf-8"?>
      2 <!-- Generated by Mocodo 4.2.4 -->
      3 <svg width="727" height="276" viewBox="0 0 727 276" xmlns="http://www.w3.org/2000/svg">
      4 <rect x="0" y="0" width="727" height="276" fill="#f5f5f5" stroke="none" stroke-width="0"/>
      5 
      6 <!-- Association CONSENT -->
      7 <g>
      8 	<line x1="208" y1="44" x2="69" y2="44" stroke="#bf812d" stroke-width="1"/>
      9 	<line x1="69" y1="147" x2="69" y2="44" stroke="#bf812d" stroke-width="1"/>
     10 	<g>
     11 		<path d="M92 9 a14 14 90 0 1 14 14 V35 h-74 V23 a14 14 90 0 1 14 -14" fill="#dfc27d" stroke="#dfc27d" stroke-width="0"/>
     12 		<path d="M106 35 v30 a14 14 90 0 1 -14 14 H46 a14 14 90 0 1 -14 -14 V35 H74" fill="#f6e8c3" stroke="#f6e8c3" stroke-width="0"/>
     13 		<rect x="32" y="9" width="74" height="70" fill="none" rx="14" stroke="#bf812d" stroke-width="1.5"/>
     14 		<line x1="32" y1="35" x2="106" y2="35" stroke="#bf812d" stroke-width="1"/>
     15 		<text x="39" y="27.6" fill="#000000" font-family="Courier New" font-size="14">CONSENT</text>
     16 		<text x="39" y="53.6" fill="#000000" font-family="Courier New" font-size="14">date</text>
     17 		<text x="39" y="71.6" fill="#000000" font-family="Courier New" font-size="14">agent</text>
     18 	</g>
     19 	<text x="111" y="60" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
     20 	<text x="74" y="95" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
     21 </g>
     22 
     23 <!-- Association OAUTH -->
     24 <g>
     25 	<line x1="208" y1="44" x2="339" y2="44" stroke="#bf812d" stroke-width="1"/>
     26 	<line x1="457" y1="44" x2="339" y2="44" stroke="#bf812d" stroke-width="1"/>
     27 	<g>
     28 		<path d="M354 18 a14 14 90 0 1 14 14 V44 h-58 V32 a14 14 90 0 1 14 -14" fill="#dfc27d" stroke="#dfc27d" stroke-width="0"/>
     29 		<path d="M368 44 v12 a14 14 90 0 1 -14 14 H324 a14 14 90 0 1 -14 -14 V44 H58" fill="#f6e8c3" stroke="#f6e8c3" stroke-width="0"/>
     30 		<rect x="310" y="18" width="58" height="52" fill="none" rx="14" stroke="#bf812d" stroke-width="1.5"/>
     31 		<line x1="310" y1="44" x2="368" y2="44" stroke="#bf812d" stroke-width="1"/>
     32 		<text x="318" y="36.6" fill="#000000" font-family="Courier New" font-size="14">OAUTH</text>
     33 	</g>
     34 	<text x="282" y="60" fill="#01665e" font-family="Courier New" font-size="12">1,1</text>
     35 	<text x="373" y="60" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
     36 </g>
     37 
     38 <!-- Association ISSUE -->
     39 <g>
     40 	<line x1="457" y1="44" x2="579" y2="44" stroke="#bf812d" stroke-width="1"/>
     41 	<line x1="689" y1="44" x2="579" y2="44" stroke="#bf812d" stroke-width="1"/>
     42 	<g>
     43 		<path d="M598 9 a14 14 90 0 1 14 14 V35 h-66 V23 a14 14 90 0 1 14 -14" fill="#dfc27d" stroke="#dfc27d" stroke-width="0"/>
     44 		<path d="M612 35 v30 a14 14 90 0 1 -14 14 H560 a14 14 90 0 1 -14 -14 V35 H66" fill="#f6e8c3" stroke="#f6e8c3" stroke-width="0"/>
     45 		<rect x="546" y="9" width="66" height="70" fill="none" rx="14" stroke="#bf812d" stroke-width="1.5"/>
     46 		<line x1="546" y1="35" x2="612" y2="35" stroke="#bf812d" stroke-width="1"/>
     47 		<text x="558" y="27.6" fill="#000000" font-family="Courier New" font-size="14">ISSUE</text>
     48 		<text x="553" y="53.6" fill="#000000" font-family="Courier New" font-size="14">bearer</text>
     49 		<text x="553" y="71.6" fill="#000000" font-family="Courier New" font-size="14">expire</text>
     50 	</g>
     51 	<text x="518" y="60" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
     52 	<text x="634" y="60" fill="#01665e" font-family="Courier New" font-size="12">1,1</text>
     53 </g>
     54 
     55 <!-- Association CLAIM -->
     56 <g>
     57 	<line x1="208" y1="44" x2="208" y2="147" stroke="#bf812d" stroke-width="1"/>
     58 	<line x1="339" y1="147" x2="208" y2="147" stroke="#bf812d" stroke-width="1"/>
     59 	<g>
     60 		<path d="M235 103 a14 14 90 0 1 14 14 V129 h-82 V117 a14 14 90 0 1 14 -14" fill="#dfc27d" stroke="#dfc27d" stroke-width="0"/>
     61 		<path d="M249 129 v48 a14 14 90 0 1 -14 14 H181 a14 14 90 0 1 -14 -14 V129 H82" fill="#f6e8c3" stroke="#f6e8c3" stroke-width="0"/>
     62 		<rect x="167" y="103" width="82" height="88" fill="none" rx="14" stroke="#bf812d" stroke-width="1.5"/>
     63 		<line x1="167" y1="129" x2="249" y2="129" stroke="#bf812d" stroke-width="1"/>
     64 		<text x="187" y="121.6" fill="#000000" font-family="Courier New" font-size="14">CLAIM</text>
     65 		<text x="174" y="147.6" fill="#000000" font-family="Courier New" font-size="14">claim</text>
     66 		<text x="174" y="165.6" fill="#000000" font-family="Courier New" font-size="14">verified</text>
     67 		<text x="174" y="183.6" fill="#000000" font-family="Courier New" font-size="14">code</text>
     68 	</g>
     69 	<text x="213" y="95" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
     70 	<text x="267" y="163" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
     71 </g>
     72 
     73 <!-- Association IS_IN -->
     74 <g>
     75 	<line x1="457" y1="44" x2="457" y2="147" stroke="#bf812d" stroke-width="1"/>
     76 	<line x1="457" y1="241" x2="457" y2="147" stroke="#bf812d" stroke-width="1"/>
     77 	<g>
     78 		<path d="M472 121 a14 14 90 0 1 14 14 V147 h-58 V135 a14 14 90 0 1 14 -14" fill="#dfc27d" stroke="#dfc27d" stroke-width="0"/>
     79 		<path d="M486 147 v12 a14 14 90 0 1 -14 14 H442 a14 14 90 0 1 -14 -14 V147 H58" fill="#f6e8c3" stroke="#f6e8c3" stroke-width="0"/>
     80 		<rect x="428" y="121" width="58" height="52" fill="none" rx="14" stroke="#bf812d" stroke-width="1.5"/>
     81 		<line x1="428" y1="147" x2="486" y2="147" stroke="#bf812d" stroke-width="1"/>
     82 		<text x="436" y="139.6" fill="#000000" font-family="Courier New" font-size="14">IS IN</text>
     83 	</g>
     84 	<text x="462" y="86" fill="#01665e" font-family="Courier New" font-size="12">1,1</text>
     85 	<text x="462" y="207" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
     86 </g>
     87 
     88 <!-- Association GRANT -->
     89 <g>
     90 	<line x1="689" y1="44" x2="689" y2="147" stroke="#bf812d" stroke-width="1"/>
     91 	<line x1="579" y1="147" x2="689" y2="147" stroke="#bf812d" stroke-width="1"/>
     92 	<g>
     93 		<path d="M704 121 a14 14 90 0 1 14 14 V147 h-58 V135 a14 14 90 0 1 14 -14" fill="#dfc27d" stroke="#dfc27d" stroke-width="0"/>
     94 		<path d="M718 147 v12 a14 14 90 0 1 -14 14 H674 a14 14 90 0 1 -14 -14 V147 H58" fill="#f6e8c3" stroke="#f6e8c3" stroke-width="0"/>
     95 		<rect x="660" y="121" width="58" height="52" fill="none" rx="14" stroke="#bf812d" stroke-width="1.5"/>
     96 		<line x1="660" y1="147" x2="718" y2="147" stroke="#bf812d" stroke-width="1"/>
     97 		<text x="668" y="139.6" fill="#000000" font-family="Courier New" font-size="14">GRANT</text>
     98 	</g>
     99 	<text x="694" y="86" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
    100 	<text x="632" y="163" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
    101 </g>
    102 
    103 <!-- Association PRE_RECORD -->
    104 <g>
    105 	<line x1="69" y1="147" x2="69" y2="241" stroke="#bf812d" stroke-width="1"/>
    106 	<line x1="208" y1="241" x2="69" y2="241" stroke="#bf812d" stroke-width="1"/>
    107 	<g>
    108 		<path d="M113 215 a14 14 90 0 1 14 14 V241 h-116 V229 a14 14 90 0 1 14 -14" fill="#dfc27d" stroke="#dfc27d" stroke-width="0"/>
    109 		<path d="M127 241 v12 a14 14 90 0 1 -14 14 H25 a14 14 90 0 1 -14 -14 V241 H116" fill="#f6e8c3" stroke="#f6e8c3" stroke-width="0"/>
    110 		<rect x="11" y="215" width="116" height="52" fill="none" rx="14" stroke="#bf812d" stroke-width="1.5"/>
    111 		<line x1="11" y1="241" x2="127" y2="241" stroke="#bf812d" stroke-width="1"/>
    112 		<text x="27" y="233.6" fill="#000000" font-family="Courier New" font-size="14">PRE&#45;RECORD</text>
    113 		<text x="18" y="259.6" fill="#000000" font-family="Courier New" font-size="14">redirect_uri</text>
    114 	</g>
    115 	<text x="74" y="207" fill="#01665e" font-family="Courier New" font-size="12">1,N</text>
    116 	<text x="153" y="257" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
    117 </g>
    118 
    119 <!-- Association REQUIRE -->
    120 <g>
    121 	<line x1="208" y1="241" x2="339" y2="241" stroke="#bf812d" stroke-width="1"/>
    122 	<line x1="339" y1="147" x2="339" y2="241" stroke="#bf812d" stroke-width="1"/>
    123 	<g>
    124 		<path d="M366 215 a14 14 90 0 1 14 14 V241 h-82 V229 a14 14 90 0 1 14 -14" fill="#dfc27d" stroke="#dfc27d" stroke-width="0"/>
    125 		<path d="M380 241 v12 a14 14 90 0 1 -14 14 H312 a14 14 90 0 1 -14 -14 V241 H82" fill="#f6e8c3" stroke="#f6e8c3" stroke-width="0"/>
    126 		<rect x="298" y="215" width="82" height="52" fill="none" rx="14" stroke="#bf812d" stroke-width="1.5"/>
    127 		<line x1="298" y1="241" x2="380" y2="241" stroke="#bf812d" stroke-width="1"/>
    128 		<text x="309" y="233.6" fill="#000000" font-family="Courier New" font-size="14">REQUIRE</text>
    129 		<text x="305" y="259.6" fill="#000000" font-family="Courier New" font-size="14">verified</text>
    130 	</g>
    131 	<text x="240" y="257" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
    132 	<text x="344" y="189" fill="#01665e" font-family="Courier New" font-size="12">1,N</text>
    133 </g>
    134 
    135 <!-- Association TRANSIT -->
    136 <g>
    137 	<path d="M457 241 C474.33 209 515 209 579 241" fill="none" stroke="#bf812d" stroke-width="1"/>
    138 	<polygon points="484.0 219.1 493.94 210.08 491.7 216.94 497.17 221.64" fill="#bf812d" stroke-width="0"/>
    139 	<path d="M457 241 C474.33 273 515 273 579 241" fill="none" stroke="#bf812d" stroke-width="1"/>
    140 	<polygon points="542.0 256.85 532.6 266.42 534.44 259.45 528.7 255.07" fill="#bf812d" stroke-width="0"/>
    141 	<line x1="579" y1="147" x2="579" y2="241" stroke="#bf812d" stroke-width="1"/>
    142 	<g>
    143 		<path d="M602 215 a14 14 90 0 1 14 14 V241 h-74 V229 a14 14 90 0 1 14 -14" fill="#dfc27d" stroke="#dfc27d" stroke-width="0"/>
    144 		<path d="M616 241 v12 a14 14 90 0 1 -14 14 H556 a14 14 90 0 1 -14 -14 V241 H74" fill="#f6e8c3" stroke="#f6e8c3" stroke-width="0"/>
    145 		<rect x="542" y="215" width="74" height="52" fill="none" rx="14" stroke="#bf812d" stroke-width="1.5"/>
    146 		<line x1="542" y1="241" x2="616" y2="241" stroke="#bf812d" stroke-width="1"/>
    147 		<text x="549" y="233.6" fill="#000000" font-family="Courier New" font-size="14">TRANSIT</text>
    148 	</g>
    149 	<text x="489" y="235" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
    150 	<text x="489" y="255" fill="#01665e" font-family="Courier New" font-size="12">0,N</text>
    151 	<text x="584" y="189" fill="#01665e" font-family="Courier New" font-size="12">0,1</text>
    152 </g>
    153 
    154 <!-- Entity IDENTITY -->
    155 <g>
    156 	<g>
    157 		<rect x="139" y="9" width="138" height="26" fill="#80cdc1" stroke="none" stroke-width="0" opacity="1"/>
    158 		<rect x="139" y="35" width="138" height="44" fill="#c7eae5" stroke="none" stroke-width="0" opacity="1"/>
    159 		<rect x="139" y="9" width="138" height="70" fill="none" stroke="#35978f" stroke-width="1.5" opacity="1"/>
    160 		<line x1="139" y1="35" x2="277" y2="35" stroke="#35978f" stroke-width="1"/>
    161 	</g>
    162 	<text x="174" y="27.6" fill="#000000" font-family="Courier New" font-size="14">IDENTITY</text>
    163 	<text x="144" y="53.6" fill="#000000" font-family="Courier New" font-size="14">id</text>
    164 	<line x1="144" y1="56" x2="162" y2="56" stroke="#000000" stroke-width="1"/>
    165 	<text x="144" y="71.6" fill="#000000" font-family="Courier New" font-size="14">hashed_password</text>
    166 </g>
    167 
    168 <!-- Entity PROCESS_CASE -->
    169 <g>
    170 	<g>
    171 		<rect x="401" y="18" width="112" height="26" fill="#80cdc1" stroke="none" stroke-width="0" opacity="1"/>
    172 		<rect x="401" y="44" width="112" height="26" fill="#c7eae5" stroke="none" stroke-width="0" opacity="1"/>
    173 		<rect x="401" y="18" width="112" height="52" fill="none" stroke="#35978f" stroke-width="1.5" opacity="1"/>
    174 		<line x1="401" y1="44" x2="513" y2="44" stroke="#35978f" stroke-width="1"/>
    175 	</g>
    176 	<text x="406" y="36.6" fill="#000000" font-family="Courier New" font-size="14">PROCESS CASE</text>
    177 	<text x="406" y="62.6" fill="#000000" font-family="Courier New" font-size="14">process case</text>
    178 	<line x1="406" y1="65" x2="508" y2="65" stroke="#000000" stroke-width="1"/>
    179 </g>
    180 
    181 <!-- Entity TOKEN -->
    182 <g>
    183 	<g>
    184 		<rect x="662" y="18" width="54" height="26" fill="#80cdc1" stroke="none" stroke-width="0" opacity="1"/>
    185 		<rect x="662" y="44" width="54" height="26" fill="#c7eae5" stroke="none" stroke-width="0" opacity="1"/>
    186 		<rect x="662" y="18" width="54" height="52" fill="none" stroke="#35978f" stroke-width="1.5" opacity="1"/>
    187 		<line x1="662" y1="44" x2="716" y2="44" stroke="#35978f" stroke-width="1"/>
    188 	</g>
    189 	<text x="668" y="36.6" fill="#000000" font-family="Courier New" font-size="14">TOKEN</text>
    190 	<text x="667" y="62.6" fill="#000000" font-family="Courier New" font-size="14">token</text>
    191 	<line x1="667" y1="65" x2="710" y2="65" stroke="#000000" stroke-width="1"/>
    192 </g>
    193 
    194 <!-- Entity CLIENT_APP -->
    195 <g>
    196 	<g>
    197 		<rect x="9" y="103" width="120" height="26" fill="#80cdc1" stroke="none" stroke-width="0" opacity="1"/>
    198 		<rect x="9" y="129" width="120" height="62" fill="#c7eae5" stroke="none" stroke-width="0" opacity="1"/>
    199 		<rect x="9" y="103" width="120" height="88" fill="none" stroke="#35978f" stroke-width="1.5" opacity="1"/>
    200 		<line x1="9" y1="129" x2="129" y2="129" stroke="#35978f" stroke-width="1"/>
    201 	</g>
    202 	<text x="27" y="121.6" fill="#000000" font-family="Courier New" font-size="14">CLIENT APP</text>
    203 	<text x="14" y="147.6" fill="#000000" font-family="Courier New" font-size="14">client_id</text>
    204 	<line x1="14" y1="150" x2="91" y2="150" stroke="#000000" stroke-width="1"/>
    205 	<text x="14" y="165.6" fill="#000000" font-family="Courier New" font-size="14">description</text>
    206 	<text x="14" y="183.6" fill="#000000" font-family="Courier New" font-size="14">client_secret</text>
    207 </g>
    208 
    209 <!-- Entity ATTRIBUTE -->
    210 <g>
    211 	<g>
    212 		<rect x="295" y="121" width="88" height="26" fill="#80cdc1" stroke="none" stroke-width="0" opacity="1"/>
    213 		<rect x="295" y="147" width="88" height="26" fill="#c7eae5" stroke="none" stroke-width="0" opacity="1"/>
    214 		<rect x="295" y="121" width="88" height="52" fill="none" stroke="#35978f" stroke-width="1.5" opacity="1"/>
    215 		<line x1="295" y1="147" x2="383" y2="147" stroke="#35978f" stroke-width="1"/>
    216 	</g>
    217 	<text x="301" y="139.6" fill="#000000" font-family="Courier New" font-size="14">ATTRIBUTE</text>
    218 	<text x="300" y="165.6" fill="#000000" font-family="Courier New" font-size="14">attribute</text>
    219 	<line x1="300" y1="168" x2="377" y2="168" stroke="#000000" stroke-width="1"/>
    220 </g>
    221 
    222 <!-- Entity PERMISSION -->
    223 <g>
    224 	<g>
    225 		<rect x="531" y="121" width="96" height="26" fill="#80cdc1" stroke="none" stroke-width="0" opacity="1"/>
    226 		<rect x="531" y="147" width="96" height="26" fill="#c7eae5" stroke="none" stroke-width="0" opacity="1"/>
    227 		<rect x="531" y="121" width="96" height="52" fill="none" stroke="#35978f" stroke-width="1.5" opacity="1"/>
    228 		<line x1="531" y1="147" x2="627" y2="147" stroke="#35978f" stroke-width="1"/>
    229 	</g>
    230 	<text x="537" y="139.6" fill="#000000" font-family="Courier New" font-size="14">PERMISSION</text>
    231 	<text x="536" y="165.6" fill="#000000" font-family="Courier New" font-size="14">permission</text>
    232 	<line x1="536" y1="168" x2="621" y2="168" stroke="#000000" stroke-width="1"/>
    233 </g>
    234 
    235 <!-- Entity SCOPE -->
    236 <g>
    237 	<g>
    238 		<rect x="181" y="215" width="54" height="26" fill="#80cdc1" stroke="none" stroke-width="0" opacity="1"/>
    239 		<rect x="181" y="241" width="54" height="26" fill="#c7eae5" stroke="none" stroke-width="0" opacity="1"/>
    240 		<rect x="181" y="215" width="54" height="52" fill="none" stroke="#35978f" stroke-width="1.5" opacity="1"/>
    241 		<line x1="181" y1="241" x2="235" y2="241" stroke="#35978f" stroke-width="1"/>
    242 	</g>
    243 	<text x="187" y="233.6" fill="#000000" font-family="Courier New" font-size="14">SCOPE</text>
    244 	<text x="186" y="259.6" fill="#000000" font-family="Courier New" font-size="14">scope</text>
    245 	<line x1="186" y1="262" x2="229" y2="262" stroke="#000000" stroke-width="1"/>
    246 </g>
    247 
    248 <!-- Entity STATE -->
    249 <g>
    250 	<g>
    251 		<rect x="430" y="215" width="54" height="26" fill="#80cdc1" stroke="none" stroke-width="0" opacity="1"/>
    252 		<rect x="430" y="241" width="54" height="26" fill="#c7eae5" stroke="none" stroke-width="0" opacity="1"/>
    253 		<rect x="430" y="215" width="54" height="52" fill="none" stroke="#35978f" stroke-width="1.5" opacity="1"/>
    254 		<line x1="430" y1="241" x2="484" y2="241" stroke="#35978f" stroke-width="1"/>
    255 	</g>
    256 	<text x="436" y="233.6" fill="#000000" font-family="Courier New" font-size="14">STATE</text>
    257 	<text x="435" y="259.6" fill="#000000" font-family="Courier New" font-size="14">state</text>
    258 	<line x1="435" y1="262" x2="478" y2="262" stroke="#000000" stroke-width="1"/>
    259 </g>
    260 </svg>