47 lines
5.6 KiB
Plaintext
47 lines
5.6 KiB
Plaintext
<mxfile host="Electron" modified="2024" agent="Mozilla/5.0" version="22.1.2" type="device">
|
|
<diagram id="diag1" name="Page-1">
|
|
<mxGraphModel dx="1000" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
|
|
<mxCell id="p1_title" value="Arsitektur Sistem WebGIS GeoPoverty v2.0" style="text;html=1;align=center;fontStyle=1;fontSize=18;fontColor=#1e3a5f;" vertex="1" parent="1"><mxGeometry x="80" y="20" width="800" height="40" as="geometry"/></mxCell>
|
|
|
|
<!-- Users -->
|
|
<mxCell id="p1_user1" value="👤 PUBLIK / WARGA
(Akses tanpa login)" style="ellipse;fillColor=#f5f5f5;strokeColor=#666666;fontStyle=1;fontSize=12;" vertex="1" parent="1"><mxGeometry x="120" y="80" width="200" height="70" as="geometry"/></mxCell>
|
|
<mxCell id="p1_user2" value="👑 PENGURUS / PIMPINAN
(Akses dengan login)" style="ellipse;fillColor=#fff2cc;strokeColor=#d6b656;fontStyle=1;fontSize=12;" vertex="1" parent="1"><mxGeometry x="580" y="80" width="200" height="70" as="geometry"/></mxCell>
|
|
|
|
<!-- PRESENTATION LAYER -->
|
|
<mxCell id="p1_pres" value="🖥️ PRESENTATION LAYER (Client Browser)" style="swimlane;fillColor=#dae8fc;strokeColor=#6c8ebf;fontStyle=1;fontSize=13;startSize=35;" vertex="1" parent="1"><mxGeometry x="80" y="200" width="800" height="150" as="geometry"/></mxCell>
|
|
<mxCell id="p1_html" value="UI & Layout
(index.html, lumina.css)" style="rounded=1;fillColor=#fff;strokeColor=#6c8ebf;fontSize=11;" vertex="1" parent="p1_pres"><mxGeometry x="40" y="55" width="140" height="60" as="geometry"/></mxCell>
|
|
<mxCell id="p1_mapjs" value="Peta Interaktif
(map.js, Leaflet, OSM)" style="rounded=1;fillColor=#fff;strokeColor=#6c8ebf;fontSize=11;" vertex="1" parent="p1_pres"><mxGeometry x="210" y="55" width="140" height="60" as="geometry"/></mxCell>
|
|
<mxCell id="p1_loadjs" value="Logika Aplikasi & Fetch
(loadData.js, auth.js)" style="rounded=1;fillColor=#fff;strokeColor=#6c8ebf;fontSize=11;" vertex="1" parent="p1_pres"><mxGeometry x="380" y="55" width="140" height="60" as="geometry"/></mxCell>
|
|
<mxCell id="p1_moduljs" value="Modul Fitur
(pesan.js, laporan.js, dll)" style="rounded=1;fillColor=#fff;strokeColor=#6c8ebf;fontSize=11;" vertex="1" parent="p1_pres"><mxGeometry x="550" y="55" width="140" height="60" as="geometry"/></mxCell>
|
|
|
|
<!-- Arrow User to Pres -->
|
|
<mxCell id="e1" edge="1" source="p1_user1" target="p1_pres" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
|
|
<mxCell id="e2" edge="1" source="p1_user2" target="p1_pres" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
|
|
|
|
<!-- BUSINESS LOGIC LAYER -->
|
|
<mxCell id="p1_biz" value="⚙️ BUSINESS LOGIC LAYER (Server — PHP)" style="swimlane;fillColor=#d5e8d4;strokeColor=#82b366;fontStyle=1;fontSize=13;startSize=35;" vertex="1" parent="1"><mxGeometry x="80" y="420" width="800" height="150" as="geometry"/></mxCell>
|
|
<mxCell id="p1_auth" value="Autentikasi & Sesi
(login.php, check_auth.php)" style="rounded=1;fillColor=#fff;strokeColor=#82b366;fontSize=11;" vertex="1" parent="p1_biz"><mxGeometry x="40" y="55" width="160" height="60" as="geometry"/></mxCell>
|
|
<mxCell id="p1_crud1" value="CRUD Utama
(kemiskinan, masjid)" style="rounded=1;fillColor=#fff;strokeColor=#82b366;fontSize=11;" vertex="1" parent="p1_biz"><mxGeometry x="230" y="55" width="160" height="60" as="geometry"/></mxCell>
|
|
<mxCell id="p1_crud2" value="Modul Tambahan
(anggota, bantuan, pesan)" style="rounded=1;fillColor=#fff;strokeColor=#82b366;fontSize=11;" vertex="1" parent="p1_biz"><mxGeometry x="420" y="55" width="160" height="60" as="geometry"/></mxCell>
|
|
<mxCell id="p1_export" value="Utilitas
(export_csv.php, koneksi.php)" style="rounded=1;fillColor=#fff;strokeColor=#82b366;fontSize=11;" vertex="1" parent="p1_biz"><mxGeometry x="610" y="55" width="160" height="60" as="geometry"/></mxCell>
|
|
|
|
<!-- Arrow Pres to Biz -->
|
|
<mxCell id="e3" value="REST API (Fetch POST/GET JSON)" style="edgeStyle=orthogonalEdgeStyle;fontSize=11;fontStyle=1;" edge="1" source="p1_pres" target="p1_biz" parent="1"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="480" y="380"/></Array></mxGeometry></mxCell>
|
|
|
|
<!-- DATA LAYER -->
|
|
<mxCell id="p1_data" value="🗄️ DATA LAYER (MySQL — webgis_kemiskinan)" style="swimlane;fillColor=#ffe6cc;strokeColor=#d79b00;fontStyle=1;fontSize=13;startSize=35;" vertex="1" parent="1"><mxGeometry x="80" y="640" width="800" height="140" as="geometry"/></mxCell>
|
|
<mxCell id="p1_db1" value="Data Spasial
(kemiskinan, masjid)" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#fff;strokeColor=#d79b00;fontSize=11;" vertex="1" parent="p1_data"><mxGeometry x="150" y="50" width="120" height="70" as="geometry"/></mxCell>
|
|
<mxCell id="p1_db2" value="Data Relasional
(anggota, bantuan, dll)" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#fff;strokeColor=#d79b00;fontSize=11;" vertex="1" parent="p1_data"><mxGeometry x="340" y="50" width="120" height="70" as="geometry"/></mxCell>
|
|
<mxCell id="p1_db3" value="Data Pengguna
(pengguna)" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#fff;strokeColor=#d79b00;fontSize=11;" vertex="1" parent="p1_data"><mxGeometry x="530" y="50" width="120" height="70" as="geometry"/></mxCell>
|
|
|
|
<!-- Arrow Biz to Data -->
|
|
<mxCell id="e4" value="MySQLi Prepared Statements" style="edgeStyle=orthogonalEdgeStyle;fontSize=11;fontStyle=1;" edge="1" source="p1_biz" target="p1_data" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|