first init
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,653 @@
|
||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36" pages="5">
|
||||
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Daftar Anggota (SSO)">
|
||||
<mxGraphModel dx="1793" dy="1684" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
|
||||
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-12" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="V2Qj7LVEizu7Vrxul_WK-3">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-2" parent="WIyWlLk6GJQsqaUBKTNV-1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="START" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="170" y="-40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-3" parent="WIyWlLk6GJQsqaUBKTNV-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pengguna mohon anggota di (MyKOPKB)" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="135" y="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-4" parent="WIyWlLk6GJQsqaUBKTNV-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Permohonan akan disemak oleh pegawai" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="380" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-15" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="V2Qj7LVEizu7Vrxul_WK-4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-6" parent="WIyWlLk6GJQsqaUBKTNV-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pemohon hantar permohonan. Emel dihantar kepada pemohon mengatakan permohonan berjaya dihantar" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="230" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-9" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="V2Qj7LVEizu7Vrxul_WK-8">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-16" connectable="0" parent="V2Qj7LVEizu7Vrxul_WK-9" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Tidak" vertex="1">
|
||||
<mxGeometry relative="1" x="0.4282" y="2" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-11" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="V2Qj7LVEizu7Vrxul_WK-10">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="H8YqHDlJ2iKDPk1C1OiQ-1" connectable="0" parent="V2Qj7LVEizu7Vrxul_WK-11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Ya" vertex="1">
|
||||
<mxGeometry relative="1" x="0.38" y="-2" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-7" parent="WIyWlLk6GJQsqaUBKTNV-1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="<font style="font-size: 9px;">Adakah pemohon memenuhi syarat untuk menjadi anggota?</font>" vertex="1">
|
||||
<mxGeometry height="110" width="112.5" x="168.75" y="550" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-23" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="V2Qj7LVEizu7Vrxul_WK-3">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="-210" y="770" />
|
||||
<mxPoint x="-210" y="130" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-8" parent="WIyWlLk6GJQsqaUBKTNV-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Permohonan ditolak. Emel dihantar kepada pemohon mengatakan permohonan ditolak&nbsp;" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="-35" y="720" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-21" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="V2Qj7LVEizu7Vrxul_WK-17">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-10" parent="WIyWlLk6GJQsqaUBKTNV-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Permohonan dihantar ke ALK untuk mesyuarat" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="310" y="720" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-13" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.474;entryY=-0.02;entryDx=0;entryDy=0;entryPerimeter=0;" target="V2Qj7LVEizu7Vrxul_WK-6">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-14" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="V2Qj7LVEizu7Vrxul_WK-7">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="IRcG_c_7TgRep_G34no2-0" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="V2Qj7LVEizu7Vrxul_WK-25">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-17" parent="WIyWlLk6GJQsqaUBKTNV-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="ALK meluluskan permohonan untuk menjadi anggota" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="900" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-24" parent="WIyWlLk6GJQsqaUBKTNV-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="IT daftar akaun untuk anggota baharu di sistem SSO." vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="1200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="IRcG_c_7TgRep_G34no2-1" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="V2Qj7LVEizu7Vrxul_WK-24">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="V2Qj7LVEizu7Vrxul_WK-25" parent="WIyWlLk6GJQsqaUBKTNV-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pegawai terima kembali permohonan yang telah diluluskan oleh ALK" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="1050" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="IRcG_c_7TgRep_G34no2-3" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="V2Qj7LVEizu7Vrxul_WK-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="H8YqHDlJ2iKDPk1C1OiQ-0">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="225" y="1339.9999999999995" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="H8YqHDlJ2iKDPk1C1OiQ-3" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="H8YqHDlJ2iKDPk1C1OiQ-0" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="H8YqHDlJ2iKDPk1C1OiQ-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="H8YqHDlJ2iKDPk1C1OiQ-0" parent="WIyWlLk6GJQsqaUBKTNV-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Anggota log masuk di sistem SSO, buat pengesahan akaun." vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="1350" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="H8YqHDlJ2iKDPk1C1OiQ-2" parent="WIyWlLk6GJQsqaUBKTNV-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Anggota boleh log masuk ke sistem MyKOPKB." vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="1500" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="H8YqHDlJ2iKDPk1C1OiQ-4" parent="WIyWlLk6GJQsqaUBKTNV-1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="END" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="175" y="1650" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="H8YqHDlJ2iKDPk1C1OiQ-5" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="H8YqHDlJ2iKDPk1C1OiQ-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="H8YqHDlJ2iKDPk1C1OiQ-4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
<diagram name="Daftar Anggota" id="schmNAWtYQL67uEXRW6b">
|
||||
<mxGraphModel dx="2227" dy="1916" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-0" />
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-1" parent="T3lu4zgwp2wLYIsOpJKB-0" />
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-2" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T3lu4zgwp2wLYIsOpJKB-4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-3" parent="T3lu4zgwp2wLYIsOpJKB-1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="START" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="170" y="-40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-4" parent="T3lu4zgwp2wLYIsOpJKB-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pengguna mohon anggota di (MyKOPKB)" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="135" y="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-5" parent="T3lu4zgwp2wLYIsOpJKB-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Permohonan akan disemak oleh pegawai" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="380" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-6" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T3lu4zgwp2wLYIsOpJKB-5">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-7" parent="T3lu4zgwp2wLYIsOpJKB-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pemohon hantar permohonan. Emel dihantar kepada pemohon mengatakan permohonan berjaya dihantar" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="230" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-8" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T3lu4zgwp2wLYIsOpJKB-14">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-9" connectable="0" parent="T3lu4zgwp2wLYIsOpJKB-8" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Tidak" vertex="1">
|
||||
<mxGeometry relative="1" x="0.4282" y="2" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-10" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T3lu4zgwp2wLYIsOpJKB-16">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-11" connectable="0" parent="T3lu4zgwp2wLYIsOpJKB-10" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Ya" vertex="1">
|
||||
<mxGeometry relative="1" x="0.38" y="-2" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-12" parent="T3lu4zgwp2wLYIsOpJKB-1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="<font style="font-size: 9px;">Adakah pemohon memenuhi syarat untuk menjadi anggota?</font>" vertex="1">
|
||||
<mxGeometry height="110" width="112.5" x="168.75" y="550" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-14" parent="T3lu4zgwp2wLYIsOpJKB-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Permohonan ditolak. Emel dihantar kepada pemohon mengatakan permohonan ditolak&nbsp;" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="-35" y="720" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-15" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T3lu4zgwp2wLYIsOpJKB-20">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-16" parent="T3lu4zgwp2wLYIsOpJKB-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Permohonan dihantar ke ALK untuk mesyuarat" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="310" y="720" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-17" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.474;entryY=-0.02;entryDx=0;entryDy=0;entryPerimeter=0;" target="T3lu4zgwp2wLYIsOpJKB-7">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-18" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="T3lu4zgwp2wLYIsOpJKB-12">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-19" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T3lu4zgwp2wLYIsOpJKB-23">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-20" parent="T3lu4zgwp2wLYIsOpJKB-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="ALK meluluskan permohonan untuk menjadi anggota" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="900" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-21" parent="T3lu4zgwp2wLYIsOpJKB-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="IT daftar akaun di sistem MyKOPKB" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="1200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-22" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T3lu4zgwp2wLYIsOpJKB-21">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-23" parent="T3lu4zgwp2wLYIsOpJKB-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pegawai terima kembali permohonan yang telah diluluskan oleh ALK" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="1050" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-24" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="T3lu4zgwp2wLYIsOpJKB-26">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="225" y="1339.9999999999995" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-25" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="T3lu4zgwp2wLYIsOpJKB-28">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="225" y="1500" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-26" parent="T3lu4zgwp2wLYIsOpJKB-1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Anggota log masuk menggunakan akaun yang didaftar." vertex="1">
|
||||
<mxGeometry height="100" width="170" x="140" y="1350" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="T3lu4zgwp2wLYIsOpJKB-28" parent="T3lu4zgwp2wLYIsOpJKB-1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="END" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="175" y="1490" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NuP71oYln-jyEZmjThTU-0" edge="1" parent="T3lu4zgwp2wLYIsOpJKB-1" source="T3lu4zgwp2wLYIsOpJKB-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" target="T3lu4zgwp2wLYIsOpJKB-28">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
<diagram name="Yuran/Saham (Payment Gateway)" id="hfVOuWypD4_Mu3PDNPFS">
|
||||
<mxGraphModel dx="1333" dy="1880" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="g8Ihj_uCfqbQX_oBjDLi-0" />
|
||||
<mxCell id="g8Ihj_uCfqbQX_oBjDLi-1" parent="g8Ihj_uCfqbQX_oBjDLi-0" />
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-8" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="g8Ihj_uCfqbQX_oBjDLi-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="xYDR2InhguROl2p0QmhN-7">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="g8Ihj_uCfqbQX_oBjDLi-3" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="START" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="170" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-20" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="xYDR2InhguROl2p0QmhN-15">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="50" y="320" />
|
||||
<mxPoint x="50" y="720" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-39" connectable="0" parent="xYDR2InhguROl2p0QmhN-20" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Yuran/Tabung" vertex="1">
|
||||
<mxGeometry relative="1" x="-0.1094" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-1" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="rhombus;whiteSpace=wrap;html=1;" value="Saham/Yuran/Tabung" vertex="1">
|
||||
<mxGeometry height="120" width="120" x="160" y="260" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-13" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="xYDR2InhguROl2p0QmhN-12">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-14" connectable="0" parent="xYDR2InhguROl2p0QmhN-13" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="&gt;= RM10,000" vertex="1">
|
||||
<mxGeometry relative="1" x="0.2208" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-25" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" target="xYDR2InhguROl2p0QmhN-15">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-26" connectable="0" parent="xYDR2InhguROl2p0QmhN-25" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="&lt; RM10,000" vertex="1">
|
||||
<mxGeometry relative="1" x="-0.2253" y="2" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-2" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="SIstem semak jumlah saham." vertex="1">
|
||||
<mxGeometry height="100" width="100" x="380" y="420" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-3" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="xYDR2InhguROl2p0QmhN-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-10" connectable="0" parent="xYDR2InhguROl2p0QmhN-3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Saham" vertex="1">
|
||||
<mxGeometry relative="1" x="0.5233" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-9" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="xYDR2InhguROl2p0QmhN-1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-7" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="rounded=1;whiteSpace=wrap;html=1;" value="Pengguna pilih untuk melabur" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="160" y="130" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-12" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="rounded=1;whiteSpace=wrap;html=1;" value="Sistem tolak transaksi" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="600" y="555" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-21" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="xYDR2InhguROl2p0QmhN-18">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-15" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="rounded=1;whiteSpace=wrap;html=1;" value="Pengguna memasukkan jumlah yang ingin dilabur" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="160" y="690" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-29" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="xYDR2InhguROl2p0QmhN-28">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-18" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="rounded=1;whiteSpace=wrap;html=1;" value="Sistem mengalihkan pengguna ke payment gateway" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="160" y="830" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-31" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="xYDR2InhguROl2p0QmhN-30">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-28" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="rounded=1;whiteSpace=wrap;html=1;" value="Pengguna buat pembayaran di payment gateway&nbsp;" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="160" y="940" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-35" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="xYDR2InhguROl2p0QmhN-34">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-30" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="rounded=1;whiteSpace=wrap;html=1;" value="Payment gateway mengalih kembali pengguna ke sistem MyKOPKB, dan MyKOPKB akan mengesahkan transaksi" vertex="1">
|
||||
<mxGeometry height="70" width="260" x="90" y="1070" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-34" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="rounded=1;whiteSpace=wrap;html=1;" value="Sistem jana resit dan melampirkan sekali dengan transaksi yang berjaya&nbsp;" vertex="1">
|
||||
<mxGeometry height="60" width="160" x="140" y="1200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-36" parent="g8Ihj_uCfqbQX_oBjDLi-1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="END" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="170" y="1310" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-37" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="xYDR2InhguROl2p0QmhN-36">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xYDR2InhguROl2p0QmhN-38" edge="1" parent="g8Ihj_uCfqbQX_oBjDLi-1" source="xYDR2InhguROl2p0QmhN-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" target="xYDR2InhguROl2p0QmhN-36">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
<diagram id="WanBbk7Yxi_f0Smp2bLO" name="Yuran/Saham">
|
||||
<mxGraphModel dx="2154" dy="-20" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-1" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-14">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-2" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="START" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="240" y="1230" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-3" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-17">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="120" y="1550" />
|
||||
<mxPoint x="120" y="1950" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-4" connectable="0" parent="0KmTDptEpkwmH5gwekap-3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Yuran/Tabung" vertex="1">
|
||||
<mxGeometry relative="1" x="-0.1094" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-5" parent="1" style="rhombus;whiteSpace=wrap;html=1;" value="Saham/Yuran/Tabung" vertex="1">
|
||||
<mxGeometry height="120" width="120" x="230" y="1490" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-6" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-15">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-7" connectable="0" parent="0KmTDptEpkwmH5gwekap-6" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="&gt;= RM10,000" vertex="1">
|
||||
<mxGeometry relative="1" x="0.2208" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-8" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-17">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-9" connectable="0" parent="0KmTDptEpkwmH5gwekap-8" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="&lt; RM10,000" vertex="1">
|
||||
<mxGeometry relative="1" x="-0.2253" y="2" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-10" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="SIstem semak jumlah saham." vertex="1">
|
||||
<mxGeometry height="100" width="100" x="450" y="1650" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-11" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="0KmTDptEpkwmH5gwekap-10">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-12" connectable="0" parent="0KmTDptEpkwmH5gwekap-11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Saham" vertex="1">
|
||||
<mxGeometry relative="1" x="0.5233" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-13" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-5">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-14" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Pengguna pilih untuk melabur" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="230" y="1360" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-81" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-14">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="890" y="1815" />
|
||||
<mxPoint x="890" y="1390" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-15" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Sistem tolak transaksi" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="670" y="1785" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-16" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-19">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-17" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Pengguna memasukkan jumlah yang ingin dilabur" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="230" y="1920" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-18" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-21">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-19" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Sistem memaparkan QR atau nombor akaun" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="230" y="2040" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-20" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-23">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-21" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Pengguna buat pembayaran" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="230" y="2150" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-22" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-24">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-23" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Pengguna melampirkan resit sebagai bukti selepas selesai pembayaran dan hantar" vertex="1">
|
||||
<mxGeometry height="70" width="140" x="220" y="2280" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-58" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-56">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-24" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Pegawai menyemak transaksi yang dilakukan" vertex="1">
|
||||
<mxGeometry height="60" width="160" x="210" y="2410" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-25" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="END" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="240" y="3160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-61" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-59">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-64" connectable="0" parent="0KmTDptEpkwmH5gwekap-61" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Sah" vertex="1">
|
||||
<mxGeometry relative="1" x="0.313" y="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-63" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-62">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-65" connectable="0" parent="0KmTDptEpkwmH5gwekap-63" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Tidak Sah" vertex="1">
|
||||
<mxGeometry relative="1" x="0.3203" y="1" as="geometry">
|
||||
<mxPoint x="-1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-56" parent="1" style="rhombus;whiteSpace=wrap;html=1;" value="Sah/ Tidak Sah" vertex="1">
|
||||
<mxGeometry height="110" width="110" x="235" y="2540" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-59" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Pegawai meluluskan transaksi" vertex="1">
|
||||
<mxGeometry height="60" width="160" x="370" y="2720" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-74" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-62" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-72">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-62" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Pegawai menolak transaksi" vertex="1">
|
||||
<mxGeometry height="60" width="160" x="50" y="2720" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-78" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="0KmTDptEpkwmH5gwekap-77">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-72" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Sistem memaklumkan kepada pengguna tentang butiran transaksi melalui emel dan notification" vertex="1">
|
||||
<mxGeometry height="100" width="200" x="190" y="2850" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-73" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.004;entryY=0.577;entryDx=0;entryDy=0;entryPerimeter=0;" target="0KmTDptEpkwmH5gwekap-72">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-77" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Sistem akan kemaskini maklumat saham/yuran secara automatik&nbsp;" vertex="1">
|
||||
<mxGeometry height="60" width="120" x="230" y="3030" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-79" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-77" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="0KmTDptEpkwmH5gwekap-25">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0KmTDptEpkwmH5gwekap-80" edge="1" parent="1" source="0KmTDptEpkwmH5gwekap-62" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" target="0KmTDptEpkwmH5gwekap-25">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
<diagram id="3kFHlN-8qihDE-HidQut" name="Modul Pembiayaan">
|
||||
<mxGraphModel dx="1647" dy="2048" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="rp7A3GdPJeRZcG9-WNNH-1" edge="1" parent="1" source="rp7A3GdPJeRZcG9-WNNH-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="rp7A3GdPJeRZcG9-WNNH-3">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rp7A3GdPJeRZcG9-WNNH-2" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="START" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="255" y="-140" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-40" edge="1" parent="1" source="rp7A3GdPJeRZcG9-WNNH-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-39">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rp7A3GdPJeRZcG9-WNNH-3" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pemohon mohon dan isi borang permohonan pembiayaan di MyKOPKB" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="220" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-27" edge="1" parent="1" source="rp7A3GdPJeRZcG9-WNNH-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" target="1UVzoHoFMhhM43wGMokW-24">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rp7A3GdPJeRZcG9-WNNH-6" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pemohon perlu masukkan No. IC anggota lain untuk dijadikan penjamin sebanyak tiga orang" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="500" y="610" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-7" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-5">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-4" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pemohon hantar permohonan" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="500" y="980" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-8" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-6">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-5" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Anggota yang dipilih sebagai penjamin perlu mengesahkan permohonan tersebut. (Email &amp; in-app notification)" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="500" y="1130" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-11" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-9">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-12" connectable="0" parent="1UVzoHoFMhhM43wGMokW-11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Tidak Sah" vertex="1">
|
||||
<mxGeometry relative="1" x="-0.18" y="2" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-33" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-31">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-37" connectable="0" parent="1UVzoHoFMhhM43wGMokW-33" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Sah" vertex="1">
|
||||
<mxGeometry relative="1" x="-0.2375" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-6" parent="1" style="rhombus;whiteSpace=wrap;html=1;" value="Penjamin yang terlibat?" vertex="1">
|
||||
<mxGeometry height="80" width="80" x="545" y="1280" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-9" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Sistem tolak permohonan&nbsp; dan memaklumkan bahawa permohonan tidak berjaya. Sistem akan emel pemohon" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="670" y="1480" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-17" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Sistem akan semak dan papar jumlah pinjaman yang dibenarkan bagi setiap jenis pembiayaan" vertex="1">
|
||||
<mxGeometry height="80" width="210" x="200" y="330" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-22" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="rp7A3GdPJeRZcG9-WNNH-6">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-23" connectable="0" parent="1UVzoHoFMhhM43wGMokW-22" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Ya" vertex="1">
|
||||
<mxGeometry relative="1" x="-0.2788" y="-1" as="geometry">
|
||||
<mxPoint x="1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-29" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-28">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-11" connectable="0" parent="1UVzoHoFMhhM43wGMokW-29" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Tidak" vertex="1">
|
||||
<mxGeometry relative="1" x="0.1206" y="-1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-20" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="Perlu penjamin?" vertex="1">
|
||||
<mxGeometry height="100" width="100" x="255" y="460" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-21" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="1UVzoHoFMhhM43wGMokW-20">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-30" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-24" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pemohon memuat naik dokumen yang diperlukan" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="500" y="800" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-35" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-34">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-28" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pemohon memuat naik dokumen yang diperlukan" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="50" y="800" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-44" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="1UVzoHoFMhhM43wGMokW-45">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="350" y="1690" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-31" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Sistem terima permohonan dan memaklumkan bahawa permohonan berjaya diterima. Sistem emel pemohon dan push notification untuk pegawai terlibat" vertex="1">
|
||||
<mxGeometry height="110" width="260" x="220" y="1480" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-36" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" target="1UVzoHoFMhhM43wGMokW-31">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-34" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pemohon hantar permohonan" vertex="1">
|
||||
<mxGeometry height="100" width="170" x="50" y="980" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-41" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-17">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-39" parent="1" style="shape=parallelogram;html=1;strokeWidth=2;perimeter=parallelogramPerimeter;whiteSpace=wrap;rounded=1;arcSize=12;size=0.23;" value="Borang Permohonan Rasmi Pembiayaan" vertex="1">
|
||||
<mxGeometry height="80" width="115" x="247.5" y="170" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-42" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="END" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="970" y="1500" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-54" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-51">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-55" connectable="0" parent="1UVzoHoFMhhM43wGMokW-54" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Tolak" vertex="1">
|
||||
<mxGeometry relative="1" x="-0.2399" y="4" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-45" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="Pegawai semak permohonan" vertex="1">
|
||||
<mxGeometry height="100" width="100" x="300" y="1670" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-51" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Sistem memaklumkan kepada pemohon bahawa permohonan ditolak melalui emel" vertex="1">
|
||||
<mxGeometry height="80" width="180" x="40" y="1840" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-58" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Permohonan di peringkat akhir. Notifikasi telah dihantar kepada AJK / PB" vertex="1">
|
||||
<mxGeometry height="80" width="180" x="400" y="1840" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-59" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-58">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="540" y="1820" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-60" connectable="0" parent="1UVzoHoFMhhM43wGMokW-59" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Lulus" vertex="1">
|
||||
<mxGeometry relative="1" x="0.1469" y="-1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-67" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-62" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="1UVzoHoFMhhM43wGMokW-66">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-1" connectable="0" parent="1UVzoHoFMhhM43wGMokW-67" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Lulus" vertex="1">
|
||||
<mxGeometry relative="1" x="-0.0877" y="3" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-3" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-62" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="5xlVBRE1yvQYVuygF6sj-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-4" connectable="0" parent="5xlVBRE1yvQYVuygF6sj-3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Tolak" vertex="1">
|
||||
<mxGeometry relative="1" x="-0.1208" y="-1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-62" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="AJK/ PB semak permohonan" vertex="1">
|
||||
<mxGeometry height="100" width="100" x="440" y="2010" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-63" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="1UVzoHoFMhhM43wGMokW-62">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-8" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-66" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="5xlVBRE1yvQYVuygF6sj-7">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="1UVzoHoFMhhM43wGMokW-66" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Sistem menghantar emel kepada pemohon" vertex="1">
|
||||
<mxGeometry height="80" width="180" x="220" y="2150" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-2" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Permohonan dikembalikan&nbsp;ke peringkat sebelum ini (Semakan Pegawai). Push notifcation untuk pegawai" vertex="1">
|
||||
<mxGeometry height="80" width="180" x="600" y="2150" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-5" edge="1" parent="1" source="5xlVBRE1yvQYVuygF6sj-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="1UVzoHoFMhhM43wGMokW-45">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="870" y="2190" />
|
||||
<mxPoint x="870" y="1650" />
|
||||
<mxPoint x="350" y="1650" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-6" edge="1" parent="1" source="1UVzoHoFMhhM43wGMokW-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" target="1UVzoHoFMhhM43wGMokW-42">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-7" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Pegawai yang berkaitan akan print surat akad dan dokumen" vertex="1">
|
||||
<mxGeometry height="80" width="180" x="220" y="2290" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-9" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;" value="END" vertex="1">
|
||||
<mxGeometry height="60" width="100" x="260" y="2420" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="5xlVBRE1yvQYVuygF6sj-10" edge="1" parent="1" source="5xlVBRE1yvQYVuygF6sj-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="5xlVBRE1yvQYVuygF6sj-9">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,150 @@
|
||||
To build a solid **e-commerce backend using Spring Boot**, you need to design it around core business domains, security, scalability, and integrations.
|
||||
|
||||
Here’s a structured roadmap 👇
|
||||
|
||||
---
|
||||
|
||||
# 1️⃣ Core Functional Modules
|
||||
|
||||
## 🧑💼 1. User & Authentication Module
|
||||
|
||||
* User registration & login
|
||||
* Role-based access (ADMIN, CUSTOMER, SELLER)
|
||||
* JWT or OAuth2 authentication
|
||||
* Password encryption (BCrypt)
|
||||
* Email verification
|
||||
* Forgot/reset password
|
||||
|
||||
**Technologies**
|
||||
|
||||
* Spring Security
|
||||
* JWT
|
||||
* OAuth2 (optional)
|
||||
* BCryptPasswordEncoder
|
||||
|
||||
---
|
||||
|
||||
# 2️⃣ Recommended Architecture
|
||||
|
||||
### 🔹 Layered Architecture
|
||||
|
||||
* Controller layer (REST APIs)
|
||||
* Service layer (Business logic)
|
||||
* Repository layer (Data access)
|
||||
* DTO & Mapper layer (MapStruct recommended)
|
||||
|
||||
### 🔹 Database
|
||||
|
||||
* PostgreSQL / MySQL
|
||||
* Redis (caching, cart)
|
||||
* Elasticsearch (for search, optional)
|
||||
|
||||
---
|
||||
|
||||
# 3️⃣ Important Technical Features
|
||||
|
||||
## 🔐 Security
|
||||
|
||||
* Spring Security
|
||||
* JWT authentication
|
||||
* CSRF protection
|
||||
* CORS config
|
||||
* Rate limiting
|
||||
* Input validation
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Performance & Scalability
|
||||
|
||||
* Caching (Redis)
|
||||
* Pagination
|
||||
* Indexing DB columns
|
||||
* Async processing
|
||||
* Connection pooling (HikariCP)
|
||||
|
||||
---
|
||||
|
||||
## 📡 API Design
|
||||
|
||||
* RESTful endpoints
|
||||
* Proper HTTP status codes
|
||||
* Exception handling (GlobalExceptionHandler)
|
||||
* Swagger / OpenAPI documentation
|
||||
|
||||
---
|
||||
|
||||
## 🧾 Logging & Monitoring
|
||||
|
||||
* Logback
|
||||
* ELK stack
|
||||
* Actuator
|
||||
* Prometheus & Grafana
|
||||
|
||||
---
|
||||
|
||||
# 4️⃣ Advanced / Production-Level Features
|
||||
|
||||
* Microservices architecture
|
||||
* API Gateway
|
||||
* Circuit breaker (Resilience4j)
|
||||
* Kafka for order events
|
||||
* Docker + Kubernetes
|
||||
* CI/CD pipeline
|
||||
* Cloud deployment (AWS/GCP/Azure)
|
||||
|
||||
---
|
||||
|
||||
# 5️⃣ Suggested Database Entities
|
||||
|
||||
Basic Entities:
|
||||
|
||||
* User
|
||||
* Role
|
||||
|
||||
---
|
||||
|
||||
# 6️⃣ Tools & Dependencies
|
||||
|
||||
Spring Boot Starters:
|
||||
|
||||
* spring-boot-starter-web
|
||||
* spring-boot-starter-data-jpa
|
||||
* spring-boot-starter-security
|
||||
* spring-boot-starter-validation
|
||||
* spring-boot-starter-actuator
|
||||
|
||||
Other:
|
||||
|
||||
* Lombok
|
||||
* MapStruct
|
||||
* Flyway or Liquibase
|
||||
* Redis
|
||||
* Docker
|
||||
|
||||
---
|
||||
|
||||
# 7️⃣ Typical Development Roadmap
|
||||
|
||||
1. Setup project
|
||||
2. Configure DB
|
||||
3. Implement User & Security
|
||||
8. Add caching
|
||||
9. Add logging & monitoring
|
||||
10. Deploy
|
||||
|
||||
|
||||
┌───────────────┐
|
||||
│ Keycloak │
|
||||
└──┬─────────┬──┘
|
||||
PKCE ──┘ └── OIDC code flow
|
||||
(mobile) (BFF callback)
|
||||
│ │
|
||||
┌────▼───┐ ┌───▼────┐
|
||||
│ Mobile │ │ BFF │ ← Spring app, holds session
|
||||
└────┬───┘ └───┬────┘
|
||||
│ Bearer │ Bearer (server-attached)
|
||||
└──────┬──────┘
|
||||
▼
|
||||
┌─────────────┐
|
||||
│ Resource API│ ← validates JWT via JWKS
|
||||
└─────────────┘
|
||||
@@ -0,0 +1,248 @@
|
||||
# 🧾 3. Table Design (Detailed)
|
||||
|
||||
---
|
||||
|
||||
## `loan_applications` (MAIN TABLE)
|
||||
This is the core record.
|
||||
|
||||
```sql
|
||||
id (PK)
|
||||
loan_type_id (FK)
|
||||
amount_requested
|
||||
deduction_period
|
||||
purpose
|
||||
|
||||
status (SUBMITTED, UNDER_REVIEW, APPROVED, REJECTED)
|
||||
created_at
|
||||
updated_at
|
||||
```
|
||||
|
||||
## `applicants`
|
||||
One-to-one with loan application.
|
||||
|
||||
```sql
|
||||
id (PK)
|
||||
loan_application_id (FK)
|
||||
|
||||
name
|
||||
ic_num
|
||||
phone_num
|
||||
member_id_num
|
||||
birth_date
|
||||
email
|
||||
|
||||
employer_name
|
||||
current_position
|
||||
position_status
|
||||
|
||||
address
|
||||
|
||||
bank_account_number
|
||||
bank_name
|
||||
|
||||
basic_salary
|
||||
total_income
|
||||
deduction
|
||||
|
||||
service_date
|
||||
service_period
|
||||
```
|
||||
|
||||
## `guarantors`
|
||||
👉 One loan → **3 guarantors** (One-to-Many)
|
||||
|
||||
```sql
|
||||
id (PK)
|
||||
loan_application_id (FK)
|
||||
|
||||
name
|
||||
ic_num
|
||||
unit
|
||||
address
|
||||
phone_num
|
||||
member_id_number
|
||||
|
||||
basic_salary
|
||||
allowance
|
||||
total_income
|
||||
```
|
||||
|
||||
## `loan_approvals`
|
||||
One-to-one with loan application.
|
||||
|
||||
```sql
|
||||
id (PK)
|
||||
loan_application_id (FK)
|
||||
|
||||
level
|
||||
role
|
||||
approver_id
|
||||
|
||||
decision (PENDING, APPROVED, REJECTED)
|
||||
remarks
|
||||
|
||||
approved_at
|
||||
```
|
||||
|
||||
## `loan_evaluations`
|
||||
```sql
|
||||
id (PK)
|
||||
loan_application_id (FK)
|
||||
|
||||
calculated_by (FK users)
|
||||
|
||||
total_loan
|
||||
total_payment
|
||||
period
|
||||
|
||||
insurance_per_month
|
||||
|
||||
deduction_start_date
|
||||
deduction_end_date
|
||||
|
||||
number_of_shares
|
||||
total_fees
|
||||
debt_balance
|
||||
|
||||
payment_date
|
||||
|
||||
created_at
|
||||
```
|
||||
|
||||
## `documents`
|
||||
```sql
|
||||
id
|
||||
loan_application_id (FK)
|
||||
|
||||
file_name
|
||||
file_url
|
||||
file_type
|
||||
|
||||
uploaded_by
|
||||
uploaded_at
|
||||
```
|
||||
|
||||
## `loan_status_history`
|
||||
```sql
|
||||
id (PK)
|
||||
loan_application_id (FK)
|
||||
|
||||
status (DRAFT, SUBMITTED, UNDER_REVIEW, APPROVED, REJECTED)
|
||||
|
||||
changed_by (FK users)
|
||||
changed_at (timestamp)
|
||||
|
||||
remarks (optional)
|
||||
```
|
||||
|
||||
## `repayments`
|
||||
```sql
|
||||
id (PK)
|
||||
loan_application_id (FK)
|
||||
|
||||
installment_number (1, 2, 3...)
|
||||
|
||||
due_date
|
||||
amount_due
|
||||
|
||||
amount_paid
|
||||
payment_date
|
||||
|
||||
status (PENDING, PAID, LATE)
|
||||
|
||||
created_at
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🔗 4. Relationships Diagram (Simple)
|
||||
|
||||
```id="c2x7qp"
|
||||
loan_applications
|
||||
│
|
||||
├── applicants (1:1)
|
||||
├── guarantors (1:N)
|
||||
└── loan_reviews (1:1)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
# 🧩 6. JPA Entity Mapping (Example)
|
||||
|
||||
### LoanApplication
|
||||
|
||||
```java
|
||||
@Entity
|
||||
public class LoanApplication {
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
|
||||
private BigDecimal amountRequested;
|
||||
private Integer deductionPeriod;
|
||||
private String purpose;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
private LoanStatus status;
|
||||
|
||||
@OneToOne(mappedBy = "loanApplication", cascade = CascadeType.ALL)
|
||||
private Applicant applicant;
|
||||
|
||||
@OneToMany(mappedBy = "loanApplication", cascade = CascadeType.ALL)
|
||||
private List<Guarantor> guarantors;
|
||||
|
||||
@OneToOne(mappedBy = "loanApplication", cascade = CascadeType.ALL)
|
||||
private LoanReview review;
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# ⚠️ 7. Important Constraints
|
||||
|
||||
## 🔹 Enforce in Backend (NOT DB)
|
||||
|
||||
* Exactly **3 guarantors**
|
||||
* Valid IC format
|
||||
* Salary > 0
|
||||
* Loan amount limits
|
||||
|
||||
---
|
||||
|
||||
# 🔐 8. Audit & Compliance (Very Important)
|
||||
|
||||
Add these fields to key tables:
|
||||
|
||||
```sql
|
||||
created_by
|
||||
created_at
|
||||
updated_by
|
||||
updated_at
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🚀 9. Future Enhancements
|
||||
|
||||
You can easily extend this design with:
|
||||
|
||||
* 📎 `documents` table (for uploads)
|
||||
* 📊 `repayments` table
|
||||
* 🧾 `audit_logs`
|
||||
* 🔄 `loan_status_history`
|
||||
|
||||
---
|
||||
|
||||
# 🏁 Final Architecture Mapping
|
||||
|
||||
Your DB aligns perfectly with your system:
|
||||
|
||||
```id="z7wq3f"
|
||||
Frontend Form → LoanApplication → Applicant + Guarantors
|
||||
↓
|
||||
Officer Review
|
||||
↓
|
||||
Decision
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user