Skip to main content

title: “Admin Dashboard” description: “Pusat monitoring sistem, manajemen user, audit log, dan health check teknis untuk administrator SNISHOP ERP.”

Admin Dashboard

Admin Dashboard Admin Dashboard adalah pusat kendali teknis untuk administrator sistem SNISHOP ERP. Berbeda dengan Dashboard utama yang berfokus pada metrik bisnis, Admin Dashboard dirancang khusus untuk monitoring kesehatan sistem, keamanan, dan performa teknis — memberikan visibility penuh terhadap apa yang terjadi di balik layar. Halaman ini hanya bisa diakses oleh user dengan role Admin atau Owner dan merupakan tempat pertama yang harus diperiksa ketika ada indikasi masalah teknis.

Arsitektur Monitoring

Komponen Utama

1. System Health Monitor

Indikator real-time kesehatan seluruh komponen sistem: Status Indicators:
  • 🟢 Hijau — Semua normal, tidak ada masalah
  • 🟡 Kuning — Warning, perlu perhatian dalam 24 jam
  • 🔴 Merah — Critical, perlu tindakan segera
  • ⚫ Gray — Maintenance mode atau tidak aktif

2. User Activity Monitor

Monitoring aktivitas user secara real-time: Tabel Sesi Aktif:

3. Grafik Penggunaan Sistem

Visualisasi pola penggunaan untuk capacity planning:

4. Audit Log

Catatan lengkap setiap perubahan penting di sistem: Filter Audit Log:

5. Alert & Peringatan

Sistem alert otomatis untuk masalah teknis:

6. Error & Warning Log

Log teknis untuk debugging:

Cara Akses

Flow Penggunaan Harian

Metrik Performa

Custom Dashboard & Widget System

Admin Dashboard mendukung sistem Custom Dashboard yang memungkinkan setiap administrator atau pengguna membuat konfigurasi dashboard mereka sendiri. Konfigurasi ini disimpan dalam entitas CustomDashboardConfig dan dapat berisi berbagai jenis widget yang disusun dalam layout grid atau list.

Jenis Widget yang Tersedia

Setiap widget dalam dashboard dapat dikonfigurasi dengan tipe dan sumber data yang berbeda:

Konfigurasi Posisi Widget

Setiap widget memiliki properti posisi yang menentukan letaknya dalam layout grid:

Tipe Chart yang Didukung

Refresh Interval Widget

Setiap widget dapat dikonfigurasi dengan refresh_interval (dalam detik) untuk menentukan seberapa sering data diperbarui secara otomatis. Widget dengan data yang berubah cepat (seperti metrik user online) sebaiknya memiliki interval yang lebih pendek dibandingkan widget laporan bulanan.

KPI & Performance Monitoring

Admin Dashboard terintegrasi dengan sistem KPI perusahaan untuk memantau performa karyawan secara langsung. Sistem KPI terdiri dari beberapa entitas yang saling terkait:

Alur Penilaian KPI

Metrik KPI

Setiap entri KPI (CompanyKPI) berisi array metrics dengan struktur sebagai berikut:

Perhitungan Otomatis KPI

Template KPI (KPITemplate) mendukung perhitungan otomatis dengan konfigurasi berikut: Metode Perhitungan Otomatis:

Sistem Notifikasi Admin

Admin Dashboard menampilkan notifikasi real-time dari seluruh sistem. Notifikasi dikelola melalui entitas Notification dengan berbagai tipe dan prioritas.

Tipe Notifikasi

Notifikasi memiliki tipe yang menentukan cara render dan aksi yang tersedia:

Prioritas Notifikasi

Idempotency Notifikasi

Setiap notifikasi memiliki field event_id dengan format {type}:{entity}:{id} yang berfungsi sebagai idempotency key. Notifikasi duplikat dengan event_id yang sama akan diabaikan untuk menghindari spam.

Manajemen Member & Role-Based Access Control

Admin Dashboard menyediakan kontrol penuh terhadap anggota perusahaan (CompanyMember) dan hak akses mereka. Sistem RBAC di SNISHOP ERP sangat granular, mencakup akses per modul, per lokasi, dan per operasi.

Role dalam Perusahaan

Setiap CompanyMember memiliki role yang menentukan hak akses default:

Status Keanggotaan

Hak Akses Granular (Permissions)

Setiap CompanyMember memiliki objek permissions yang mendetail. Berikut adalah daftar lengkap hak akses yang tersedia: Akses Dashboard & Task: Akses Notes: Akses Modul Bisnis: Akses Manajemen: Akses Operasional Khusus:

Lokasi yang Diizinkan (Assigned Locations)

Setiap CompanyMember dapat memiliki assigned_locations berupa daftar ID lokasi gudang/outlet yang diizinkan untuk diakses. Ini merupakan mekanisme RBAC tambahan untuk membatasi akses fisik member terhadap lokasi tertentu saja.

Tipe Dashboard per Role

Melalui entitas MenuAccessProfile, setiap role dapat dikonfigurasi untuk melihat tipe dashboard yang berbeda:

Sistem Achievement & Gamifikasi

Admin Dashboard juga menampilkan metrik gamifikasi untuk memantau engagement pengguna. Data ini diambil dari entitas User (field produktivitas) dan Achievement.

Metrik Produktivitas User

Tipe Achievement

Laporan & Snapshot

Admin Dashboard terintegrasi dengan sistem laporan melalui FinancialReportSnapshot dan ReportTemplate untuk menyediakan data historis dan analisis.

Tipe Laporan Keuangan

Tipe Template Laporan

Aggregasi Data pada Kolom Laporan

Format Kolom Laporan

Tips

  • Cek Admin Dashboard setiap pagi sebagai bagian dari morning routine untuk memastikan semua sistem berjalan normal
  • Investigasi indikator kuning segera sebelum berkembang menjadi masalah yang lebih besar
  • Audit log sangat berguna untuk menelusuri siapa yang mengubah data tertentu dan kapan — gunakan filter untuk mempercepat pencarian
  • Review daftar sesi aktif secara berkala dan putuskan sesi yang mencurigakan atau sudah tidak digunakan
  • Set up alert notification ke email atau WhatsApp admin supaya langsung tahu jika ada masalah critical
  • Monitor grafik penggunaan untuk mengidentifikasi pola trafik dan merencanakan capacity scaling
  • Export audit log secara berkala sebagai backup dan untuk keperluan compliance
  • Manfaatkan Custom Dashboard untuk membuat tampilan yang sesuai dengan peran Anda — owner mungkin memerlukan overview semua modul, sementara finance_admin hanya perlu widget keuangan
  • Gunakan KPI otomatis dengan auto_from_attendance, auto_from_sales, atau auto_from_projects untuk mengurangi input manual dan meningkatkan akurasi penilaian
  • Konfigurasi assigned_locations untuk setiap member agar mereka hanya dapat mengakses outlet/gudang yang menjadi tanggung jawab mereka
  • Monitor event_id pada notifikasi untuk memastikan tidak ada notifikasi yang terlewat atau terduplikasi secara anomali

Entity Relationship Diagram


Entity Schema Tables

User

Company

CompanyMember

CustomDashboardConfig

Struktur Widget (nested object):

CompanyKPI

KPITemplate

Notification

Achievement

FinancialReportSnapshot

ReportTemplate

Workspace

WorkspaceMember


State Diagrams

Status KPI (CompanyKPI & KPI)

Status Notifikasi

Status Keanggotaan CompanyMember

Status Widget Dashboard


Sequence Diagrams

Flow Memuat Admin Dashboard

Flow Real-Time Widget Update

Flow Pembuatan Custom Dashboard

Flow Penilaian KPI Otomatis

Flow Notifikasi Real-Time


Enum Reference Tables

User.role

User.subscription_plan

User.admin_type

User.admin_tier

User.membership_duration_type

Company.industry

CompanyMember.role

CompanyMember.status

CompanyKPI.status / KPI.status

CompanyKPI.rating / KPI.rating

KPITemplate.calculation_frequency

KPITemplate.default_metrics[].calculation_method

KPITemplate.default_metrics[].auto_source.aggregation

CustomDashboardConfig.layout

CustomDashboardConfig.widgets[].widget_type

CustomDashboardConfig.widgets[].chart_type

Notification.type

Notification.priority

Notification.metadata

Achievement.achievement_type

FinancialReportSnapshot.report_type

ReportTemplate.report_type

ReportTemplate.columns[].aggregation

ReportTemplate.columns[].format

ReportTemplate.filters[].operator

ReportTemplate.date_range.period_type

WorkspaceMember.role

Company.settings.batch_allocation_strategy

Company.settings.spoilage_default_treatment

Company.settings.tax.mode

Company.settings.tax.rounding


RBAC Permission Matrix

Tabel berikut merangkum hak akses default untuk setiap role dalam perusahaan (CompanyMember):