Panduan Admin — Kantong Nona TCG

Panduan Admin Kantong Nona

Panduan lengkap penggunaan panel admin: mengelola produk, banner, media, booster pack, pesanan, ongkir, pembayaran, pengguna, dan pengaturan website.

1. Login Admin

  1. Buka halaman http://localhost:3000/backend/login (atau domain toko Anda + /backend/login).
  2. Masukkan username dan password akun admin.
  3. Klik Masuk. Anda akan diarahkan ke panel admin (/backend/dashboard).
Akun admin awal (hasil seed): username mraqrev, password Bahasa1234@. Segera ganti password via tab Pengguna → Edit, atau minta admin lain menambahkannya.
Hanya user dengan role Admin yang bisa mengakses panel. Role User dan Moderator tidak bisa login ke panel admin.

2. Dashboard

Setelah login, Anda melihat Ringkasan Sistem: total produk, banner, dan booster pack yang tersimpan.

Menu di sisi kiri panel:

MenuFungsi
DashboardRingkasan jumlah produk, banner, pack
PesananKelola semua pesanan (status, resi, detail)
PenggunaTambah/edit/hapus user, moderator, admin
ProdukKelola produk marketplace (multi-foto, stok, harga)
BannersBanner carousel beranda (desktop & mobile)
Booster PacksKelola pack gacha Pokémon
OngkirUbah tarif & label zona pengiriman
PembayaranKonfigurasi & uji koneksi Midtrans
Poin GachaAtur nilai poin belanja & penukaran kartu
Pengaturan WebNama toko, logo, favicon, slogan, deskripsi

Untuk keluar, klik Keluar di pojok kanan atas panel.

3. Manajemen Produk

Tambah / Edit produk

  1. Buka menu Produk → klik + Tambah Produk (atau klik Edit pada produk yang ada).
  2. Isi form:
    • Nama Produk — wajib.
    • Deskripsi — penjelasan produk.
    • Harga dan Stok — angka.
    • Berat (gram) — dipakai menghitung ongkir. Contoh: 1.000 = 1 kg.
    • Gambar Utama (URL) — URL gambar atau klik Pilih dari Galeri.
    • Foto Tambahan — lebih dari 1 foto: klik + Pilih dari Galeri atau + Tambah URL. Foto muncul sebagai strip thumbnail di detail produk publik.
    • Kategori — mis. "Sealed Box", "Aksesoris", "Sleeve".
  3. Klik Simpan. Produk langsung tampil di beranda & halaman /produk.
Stok 0 (Sold Out): produk dengan stok 0 tidak ditampilkan di beranda, tetapi tetap tampil di /produk dengan tampilan redup + label "Stok Habis".

Menghapus produk

Klik Hapus pada baris produk. Produk yang dihapus tidak bisa dikembalikan (tidak ada trash untuk produk).

Banner tampil sebagai carousel di bagian atas beranda. Mendukung gambar dan video.

Tambah / edit banner

  1. Buka menu Banners+ Tambah Banner.
  2. Isi:
    • Judul & Deskripsi — opsional. Jika media terisi, judul & deskripsi tidak ditampilkan (hanya media yang tampil).
    • Media Type — Image atau Video.
    • Urutan — nomor urut tampil.
    • Media URL — URL gambar/video, atau Pilih dari Galeri.
    • Media URL Mobile (Opsional) — versi khusus tampilan HP. Disarankan rasio 16:9 (mis. 1080×608) agar tidak terpotong. Jika dikosongkan, versi desktop dipakai sebagai cadangan.
    • Banner Aktif — centang untuk menampilkan.
  3. Klik Simpan.
Durasi carousel: gambar 5 detik, video diputar sampai selesai (embed YouTube/Vimeo 15 detik).

5. Galeri Media & Trash (28 Hari)

Galeri media adalah penyimpanan gambar & video untuk banner, logo, favicon, dan foto produk.

Upload media

  1. Buka Galeri Media (menu di sidebar, di bawah menu utama).
  2. Pilih file dari komputer → isi Nama media (opsional) → klik Upload.
  3. Gambar otomatis dikompresi ke WebP 75%. Video diunggah tanpa kompresi.

Menghapus media (trash)

  • Klik Hapus pada media → media dipindah ke Trash, disimpan 28 hari. File tidak hilang, sehingga gambar yang sedang dipakai produk/banner tetap tampil.
  • Buka tab Trash (28 hari): setiap item menampilkan "Sisa X hari, lalu hapus permanen".
  • Di trash Anda bisa Restore (kembalikan) atau Hapus Permanen (file & data dihapus, tidak bisa dibatalkan).
Setelah 28 hari di trash, media otomatis dihapus permanen — tidak ada opsi restore lagi.

6. Booster Pack (Gacha)

Booster pack adalah paket gacha Pokémon. Pembeli membuka pack menggunakan poin mereka.

Tambah / edit pack

  1. Buka menu Booster Packs+ Tambah Pack.
  2. Isi:
    • Nama Pack — mis. "Sword & Shield Booster".
    • Icon — emoji untuk tampilan pack.
    • Harga (String) — harga dalam poin untuk membuka pack (mis. "500").
    • Bahasa — EN / JA / ID (bahasa kartu dari tcgdex).
    • Kategori & Tipe — mis. "pokemon", "booster".
    • Pokemon IDs — daftar ID kartu (dari tcgdex.dev), dipisah koma. Contoh: 1, 4, 7, 25. Saat gacha, sistem memilih acak dari daftar ini.
  3. Klik Simpan.
Pastikan poin pembeli cukup. Bila poin kurang, gacha ditolak dengan pesan "poin tidak mencukupi".

7. Manajemen Pesanan

Daftar pesanan menampilkan kolom ringkas: ID, Tanggal, User, Status, Resi (Kurir), dan Aksi. Klik baris mana pun untuk melihat detail lengkap (nama lengkap, alamat, metode pembayaran, nomor invoice, item, total).

Mencari pesanan

  • Gunakan kotak pencarian di atas tabel: cari berdasarkan ID, nomor invoice, username, nama, no. HP, kota, alamat, atau nomor resi.
  • Tekan Enter atau klik Cari. Pagination otomatis mengikuti hasil pencarian (5 pesanan per halaman).

Alur status

StatusArtiAksi admin
MenungguPesanan dibuat, pembeli sedang bayarBisa Diproses atau Batalkan
DiprosesSudah dibayar / sedang disiapkanBisa Diantar (wajib isi Nomor Resi) atau batalkan
DiantarBarang dikirimMenunggu pembeli menekan Pesanan Diterima (aktif 2 jam setelah diantar), atau admin tandai Selesai
SelesaiPesanan selesaiTerkunci — tidak bisa diubah
DibatalkanPesanan batal (stok otomatis dikembalikan)Terkunci — tidak bisa diubah
  1. Klik baris pesanan → modal Detail Pesanan terbuka.
  2. Pilih status baru di dropdown (opsional) dan isi Nomor Resi + Kurir bila mengirim.
  3. Klik Simpan. Pembeli mendapat notifikasi otomatis.
Wajib resi: status hanya bisa berubah dari DiprosesDiantar jika nomor resi diisi. Pesanan Dibatalkan/Selesai terkunci permanen.

8. Ongkir

Sistem ongkir memakai 3 zona. Tarif bisa diubah kapan saja; perubahan langsung berlaku di checkout.

ZonaCakupanKomponen tarif
JabodetabekDKI Jakarta, Bogor, Depok, Tangerang, BekasiTarif dasar + tambahan per kg
Pulau JawaJawa lainnya (di luar Jabodetabek)Tarif dasar + tambahan per kg
Luar Pulau JawaProvinsi di luar JawaTarif dasar + tambahan per kg

Mengubah tarif

  1. Buka menu Ongkir.
  2. Ubah Nama Zona, Tarif Dasar, dan Tarif per Kg.
  3. Klik Simpan Tarif.
Deteksi otomatis: di checkout, zona ditentukan otomatis dari provinsi & kota alamat pembeli (termasuk nama wilayah bahasa Inggris seperti "East Java"). Admin cukup memastikan tarif zona benar.

9. Pembayaran Midtrans

Konfigurasi

  1. Buka menu Pembayaran.
  2. Daftar/login di dashboard.sandbox.midtrans.com (mode percobaan/sandbox).
  3. Buka Settings → Access Keys, salin Server Key & Client Key.
  4. Tempel ke form, centang Production hanya jika memakai akun asli.
  5. Klik Simpan Konfigurasi. Kunci tersimpan aman (Server Key tidak pernah ditampilkan ulang).
  6. Klik Uji Koneksi untuk memastikan kunci valid.

Cara pembeli membayar

Di checkout, setelah pesanan dibuat, popup Midtrans Snap terbuka otomatis menampilkan pilihan metode (Kartu Kredit, QRIS, VA, e-Wallet, Alfamart/Indomaret, dll). Pembeli memilih & menyelesaikan pembayaran. Untuk uji coba sandbox, gunakan kartu uji 4811 1111 1111 1114 (expired bulan depan, CVV apa saja).

  • Lunas → status pesanan otomatis menjadi Diproses.
  • Menutup popup → pesanan dibatalkan & item kembali ke keranjang pembeli (stok dilepas).
  • Kedaluwarsa (24 jam) → pesanan dibatalkan otomatis, stok kembali.

10. Manajemen Pengguna

Menu Pengguna untuk menambah anggota tim atau akun admin lain.

Tambah user / moderator / admin

  1. Buka menu Pengguna+ Tambah User.
  2. Isi Username (min. 3 karakter, unik) dan Password (min. 8 karakter).
  3. Pilih Role:
    • User — pembeli biasa.
    • Moderator — role menengah (saat ini tanpa akses panel admin).
    • Admin — akses penuh ke panel ini.
  4. Lengkapi Nama Lengkap, No. HP, Alamat (opsional) → Simpan.

Edit / hapus

  • Edit — ubah role, nama, no. HP, alamat, atau ganti password (kosongkan password untuk mempertahankan yang lama). Username tidak bisa diubah.
  • Hapus — hapus akun. Anda tidak bisa menghapus akun sendiri atau menurunkan role akun sendiri.
  • Gunakan pencarian untuk mencari user berdasarkan username, nama, no. HP, atau role.

11. Poin Gacha

Pembeli mendapat poin dari setiap pembelian yang sudah lunas. Poin dipakai untuk membuka booster pack.

Aturan yang bisa diatur

PengaturanArti
Poin per Rp 1.000Berapa poin yang didapat setiap kelipatan Rp 1.000 belanja. Contoh: nilai 1 → belanja Rp 10.000 dapat 10 poin.
Poin tukar kartu rareBerapa poin didapat saat pembeli menukarkan 1 kartu rare di inventory (mis. 10 poin/kartu).
  1. Buka menu Poin Gacha.
  2. Ubah nilai → klik Simpan Aturan Poin.
Poin dikembalikan otomatis jika pesanan yang sudah lunas dibatalkan.

12. Pengaturan Web

Menu Pengaturan Web mengontrol tampilan identitas toko di seluruh halaman:

FieldFungsi
Nama WebsiteNama toko (judul tab & header)
LogoGambar logo (tampil di header & layar loading) — bisa Pilih dari Galeri
FaviconIkon tab browser — bisa Pilih dari Galeri
SloganTagline singkat
DeskripsiDeskripsi toko (meta SEO)
Setelah menyimpan logo/favicon, muat ulang halaman untuk melihat perubahannya (browser kadang menyimpan cache lama).

13. Backup & Restore

Menu Backup melindungi seluruh data toko: database (produk, pesanan, user, poin, dll.) dan file media (gambar/video) dalam satu file ZIP.

Membuat backup

  1. Buka menu Backup.
  2. Klik Buat Backup Sekarang. File ZIP dibuat di server dengan nama berisi tanggal & jam (mis. backup-2026-08-14_092603.zip).
  3. File muncul di tabel Riwayat Backup dengan ukuran & tanggal.

Mengunduh backup

Klik Unduh pada baris backup untuk menyimpan salinannya ke komputer. Disarankan mengunduh secara rutin dan menyimpannya di tempat aman (mis. Google Drive / flashdisk).

Restore

  1. Klik Restore pada backup yang diinginkan.
  2. Konfirmasi, lalu ketik RESTORE (huruf besar) untuk memastikan Anda sadar bahwa seluruh data saat ini akan ditimpa.
  3. Sebelum menimpa, sistem otomatis membuat backup keselamatan (berawalan pre-restore-) — jadi Anda bisa kembali ke kondisi sebelumnya bila perlu.

Menghapus backup

Klik tombol sampah pada baris backup untuk menghapus file backup dari server.

Perhatian: restore menimpa database & media saat ini dengan isi backup. Pastikan Anda memilih file backup yang benar, dan selalu unduh backup penting ke luar server.

14. Alur Lengkap dari Toko

Urutan kegiatan yang umum dilakukan admin dan pembeli:

Siklus penjualan

  1. Persiapan: upload media ke Galeri → atur logo/favicon di Pengaturan Web → konfigurasi Midtrans → atur tarif ongkir.
  2. Katalog: tambah produk (multi-foto) & banner (desktop + mobile).
  3. Pembeli: login → tambah ke keranjang → checkout → bayar via Midtrans.
  4. Pesanan masuk: di tab Pesanan, ubah status Menunggu → Diproses.
  5. Kirim: isi nomor resi & kurir, ubah status Diproses → Diantar.
  6. Selesai: pembeli menekan Pesanan Diterima (2 jam setelah diantar) → status Selesai.
  7. Poin: pembeli mendapat poin dari pembelian; mereka bisa gacha booster pack & menukar kartu rare.

15. FAQ & Troubleshooting

Pertanyaan / MasalahJawaban / Solusi
Bagaimana menguji pembayaran tanpa uang asli?Gunakan mode Sandbox Midtrans dan kartu uji 4811 1111 1111 1114. Jangan centang Production.
Uji Koneksi gagal / 502 saat bayarServer Key salah atau tidak aktif. Cek di dashboard Midtrans → Access Keys, lalu simpan ulang.
Banner terpotong di HPIsi Media URL Mobile di banner dengan gambar rasio 16:9 (mis. 1080×608).
Favicon/logo tidak berubahMuat ulang halaman / bersihkan cache browser. Pastikan sudah klik Simpan di Pengaturan Web.
Produk tidak muncul di berandaStok mungkin 0 (sold out disembunyikan di beranda) atau belum disimpan. Cek tab Produk.
Stok berkurang padahal belum bayarNormal — stok di-reserve saat pesanan dibuat. Stok kembali otomatis jika pesanan dibatalkan/di-expired.
Pesanan tidak bisa diubah statusPesanan Dibatalkan/Selesai terkunci. Untuk Diantar wajib isi nomor resi.
Media terhapus padahal tidak sengajaMasih bisa di-restore dalam 28 hari melalui tab Trash di Galeri Media.
Butuh bantuan teknis lebih lanjut? Lihat Dokumentasi Developer.