🏛️ Arsitektur WBS Pro

Visualisasi dinamis arsitektur, model data, dan alur logika aplikasi.

1. Arsitektur Umum

🖥️

Frontend

Dibangun dengan Streamlit untuk UI interaktif.

🗄️

Backend & Database

Menggunakan Firebase Firestore untuk data real-time.

☁️

Deployment

Dihosting di Streamlit Community Cloud.

2. Model Data di Firestore

a. Koleksi `reports`

Menyimpan semua detail laporan yang masuk. Setiap dokumen adalah satu laporan.

"id": "A1B2C3D4",

"nama": "Anonim",

"jenis_pelanggaran": "Korupsi",

"status": "Baru",

"risk_score": 85,

...

b. Koleksi `chats`

Menyimpan riwayat percakapan. Terstruktur secara nested untuk setiap laporan.

chats / {report_id} / messages / {message_id}

"sender": "Pengelola",

"text": "Terima kasih atas laporannya...",

"timestamp": serverTimestamp()

3. Alur Logika Aplikasi

1

Inisialisasi

Aplikasi dimulai dan terhubung ke Firebase menggunakan kredensial dari `st.secrets`.

2

Membuat Laporan

👤 Pelapor mengisi formulir. Saat dikirim, data disimpan ke koleksi `reports` di Firestore.

3

Komunikasi Pelapor

👤 Pelapor memasukkan ID Laporan. Aplikasi memuat chat dari `chats/{ID_LAPORAN}`. Pesan baru disimpan dengan `sender: "Pelapor"`.

4

Manajemen Pengelola

🛡️ Pengelola membuka daftar laporan. Setiap laporan memiliki antarmuka chat yang terhubung. Pesan baru disimpan dengan `sender: "Pengelola"`.