> ## Documentation Index
> Fetch the complete documentation index at: https://belajarkoding.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Admin dashboard

> Dokumentasi lengkap untuk admin dashboard KilatKoding, termasuk role management, visibility operasional, dan dependensi akses admin.

<Info>
  Admin dashboard adalah permukaan operasional internal. Fitur ini dipakai untuk melihat revenue, event webhook, audit trail, dan beberapa aksi administrasi seperti update role.
</Info>

## Apa yang termasuk di fitur ini

* `/admin`
* `POST /api/admin/users/role`
* visibility ke payment, webhook event, dan audit trail

## Route dan endpoint terkait

| Route atau endpoint          | Jenis             | Fungsi                                 |
| ---------------------------- | ----------------- | -------------------------------------- |
| `/admin`                     | Halaman dashboard | Panel operasional internal untuk admin |
| `POST /api/admin/users/role` | API mutation      | Mengubah role user dari area admin     |

<Note>
  Data yang terlihat di area admin biasanya juga berasal dari flow payment, webhook, audit trail, dan subscription. Jadi halaman ini sering dipakai bersama [Billing dan payments](/kilatkoding/features/billing-and-payments) dan [Testing dan readiness](/kilatkoding/features/testing-and-readiness).
</Note>

## Siapa yang memakainya

* founder yang juga mengoperasikan produk,
* operator internal,
* tim support atau finance,
* developer saat melakukan verifikasi akses admin.

## Dependensi utama

| Item                            | Wajib?            | Catatan                                 |
| ------------------------------- | ----------------- | --------------------------------------- |
| `NEXT_PUBLIC_ENABLE_ADMIN=true` | Ya                | Menyalakan area admin                   |
| Auth aktif                      | Ya                | Admin tetap butuh login                 |
| Role `admin` di `user_roles`    | Ya                | Penentu akses akhir                     |
| `ADMIN_EMAILS`                  | Opsional          | Membantu bootstrap awal                 |
| `SUPABASE_SERVICE_ROLE_KEY`     | Sangat disarankan | Dipakai oleh banyak operasi operasional |

## Yang biasanya dikustomisasi

* metrik yang ingin dilihat operator,
* siapa yang boleh jadi admin,
* tindakan admin yang perlu tersedia,
* istilah operasional,
* visibilitas event dan audit.

## Kapan fitur ini dimatikan

Admin biasanya dimatikan kalau:

* tim masih sangat kecil dan belum butuh panel internal,
* produk belum butuh operasional formal,
* project client tidak membeli area admin.

Kalau dimatikan, kamu tetap perlu memastikan ada proses alternatif untuk:

* cek payment,
* cek webhook,
* cek audit,
* cek role user kalau diperlukan.

## Checklist verifikasi

1. User admin bisa membuka `/admin`.
2. User non-admin tidak bisa mengakses area admin.
3. Role update berjalan kalau fitur itu dipakai.
4. Revenue, payment, webhook, dan audit visibility sesuai ekspektasi.
5. Tidak ada data placeholder yang menyesatkan operator.

<Tip>
  Kalau produkmu aktif memakai payments atau AI, admin dashboard biasanya lebih penting. Lanjutkan ke [Operational runbook](/kilatkoding/operational-runbook) untuk sisi operasionalnya.
</Tip>
