# Struktur Firebase Realtime Database # Smart Donation Box ``` smart_donation_box/ │ ├── summary/ │ ├── total_donasi : number → Total semua donasi masuk (Rp) │ ├── donasi_hari_ini : number → Donasi hari ini (reset tiap hari) │ ├── total_pengeluaran : number → Total pengeluaran dana │ └── saldo : number → total_donasi - total_pengeluaran │ ├── donasi_log/ │ └── {push_id}/ │ ├── nominal : number → Nominal uang terdeteksi (misal: 2000) │ ├── confidence : number → Nilai confidence YOLO (0.0 - 1.0) │ └── timestamp : number → Unix timestamp ms (Date.now()) │ └── pengeluaran_log/ └── {push_id}/ ├── nominal : number → Nominal pengeluaran (Rp) ├── keterangan : string → Keterangan pengeluaran └── timestamp : number → Unix timestamp ms (Date.now()) ``` ## Contoh Data Nyata di Firebase ```json { "smart_donation_box": { "summary": { "total_donasi": 75000, "donasi_hari_ini": 25000, "total_pengeluaran": 20000, "saldo": 55000 }, "donasi_log": { "-OAbc123xyz": { "nominal": 2000, "confidence": 0.95, "timestamp": 1744905600000 }, "-OAbc456abc": { "nominal": 5000, "confidence": 0.88, "timestamp": 1744906200000 } }, "pengeluaran_log": { "-OAxyz789": { "nominal": 20000, "keterangan": "Pembelian alat kebersihan", "timestamp": 1744820000000 } } } } ``` ## Rules Firebase (Pasang di Rules tab) ```json { "rules": { "smart_donation_box": { ".read": true, ".write": true } } } ```