72 lines
1.8 KiB
Markdown
72 lines
1.8 KiB
Markdown
# 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
|
|
}
|
|
}
|
|
}
|
|
```
|