TKK_E32230947/FIREBASE_STRUCTURE.md

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
}
}
}
```