TKK_E32230947/FIREBASE_STRUCTURE.md

1.8 KiB

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

{
  "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)

{
  "rules": {
    "smart_donation_box": {
      ".read": true,
      ".write": true
    }
  }
}