Dashboard & Analytics
Halaman pertama yang dilihat oleh Super Admin dan jajaran manajemen ketika masuk ke Backoffice adalah layar Dashboard. Halaman ini harus menampilkan visualisasi grafik (seperti Bar Chart atau Line Chart) serta metrik kunci perusahaan (Key Performance Indicators).
Semua data statistik ini dipasok oleh endpoint agregasi di bawah naungan /api/backoffice/dashboard.
1. Wawasan Pelanggan (Customer Insight)
Memberikan pandangan tingkat tinggi terkait jumlah pengguna dan aktivitas mereka. Cocok ditampilkan sebagai Widget/Card statistik di bagian teratas layar.
GET /api/backoffice/dashboard/customer/insight
Respons (200 OK):
Akan mengembalikan agregasi data seperti:
- Total pelanggan terdaftar.
- Total saldo aktif dari seluruh dompet pelanggan.
- Jumlah VM yang saat ini sedang menyala (Active VMs).
- Jumlah Customer yang melakukan deposit di bulan ini.
2. Analitik Finansial (Revenue & Deposit)
Data ini paling cocok dirender menggunakan Grafik Garis (Line Chart) 12 Bulan Terakhir untuk melihat tren keuangan perusahaan.
Tren Pendapatan (Revenue)
Mengukur total Invoice terbayar (uang yang dihabiskan pelanggan untuk membayar tagihan VM/Storage).
GET /api/backoffice/dashboard/billing/revenue
Tren Pengisian Saldo (Deposit)
Mengukur berapa banyak uang fresh yang masuk (uang yang diisi ke dompet saldo, belum tentu dibelanjakan).
GET /api/backoffice/dashboard/billing/deposit
3. Utilisasi Infrastruktur (HV / Hypervisor Insights)
Dikhususkan untuk tim Jaringan (Network) dan Infrastruktur untuk memantau kapasitas Data Center. Sangat cocok dirender menggunakan Grafik Donat (Donut/Pie Chart) atau Progress Bar.
Distribusi Spesifikasi VM
Melihat tren paket VM apa yang paling banyak dibeli oleh pengguna (bisa di-filter berdasarkan lokasi, atau dikelompokkan berdasarkan RAM, CPU, atau OS).
GET /api/backoffice/dashboard/hv/total-vm
(Tambahkan ?location_id=1 pada URL jika Anda hanya ingin melihat grafik untuk datacenter Jakarta).
Okupansi IP Publik (IP Occupation)
Alokasi alamat IPv4 Publik sangat mahal dan terbatas. Endpoint ini memberikan statistik seberapa banyak IP yang sudah disewa pelanggan vs sisa ketersediaan di pool.
GET /api/backoffice/dashboard/hv/ip-occupation
Diagram Arsitektur Pemanggilan Data Dashboard
Karena halaman Dashboard memanggil 5 API berbeda, Frontend sangat disarankan menggunakan eksekusi asinkron paralel (Promise.all di JavaScript) untuk mempercepat waktu muat halaman.