✅ PROMPT ANDALAN (COPAS)

Buatkan desain database Supabase (PostgreSQL) yang PRODUCTION-READY untuk aplikasi berikut:

[ JELASKAN APLIKASI DI SINI ]
(contoh: aplikasi keuangan kas, akuntansi pesantren, inventory, akademik, dll)

KETENTUAN WAJIB:
1. Gunakan Supabase PostgreSQL
2. Tidak menggunakan tabel admin khusus
   → langsung gunakan auth.users / auth.email() untuk RLS
3. Sertakan secara LENGKAP dan TERURUT:
   - create extension (jika perlu)
   - ERD (penjelasan relasi antar tabel)
   - create table (UUID, FK, constraint)
   - index yang relevan
   - views laporan (rekap, saldo, dsb jika relevan)
   - function & trigger (audit log, validasi, lock data, dll)
   - Row Level Security (RLS):
     • public read (jika ada)
     • admin write berbasis auth.email()
   - grant (anon & authenticated)
4. Pastikan:
   - Data public dan admin KONSISTEN (tidak beda hasil)
   - Audit log tidak bisa diedit / dihapus
   - Delete data utama tidak gagal karena FK audit
   - Trigger aman terhadap RLS Supabase
5. Gunakan BEST PRACTICE:
   - UUID (gen_random_uuid)
   - on delete set null / cascade sesuai kebutuhan
   - constraint & check
   - view read-only
6. Output HARUS:
   - SQL FINAL
   - Sudah diurutkan dari atas ke bawah
   - Siap COPAS tanpa error
   - Diberi komentar per section

ROLE:
- Admin tunggal via email: [ISI EMAIL ADMIN]
- Public hanya read-only

Jika ada keputusan desain penting (misal saldo awal, carry over, lock periode, soft delete),
tolong jelaskan singkat alasannya di akhir.


🔥 CONTOH PAKAI (REAL CASE KAMU)

Buatkan desain database Supabase (PostgreSQL) untuk aplikasi keuangan kas pesantren.

Fitur:
- Multi periode (tahun)
- Saldo awal carry over otomatis
- Transaksi pemasukan & pengeluaran
- Kategori transaksi
- Rekap bulanan
- Running balance
- Audit log transaksi
- Periode bisa dikunci

Admin tunggal via email: [email protected]

Ikuti semua ketentuan best practice Supabase.


🧠 TIPS AGAR HASIL SELALU “LEVEL PRODUKSI”

Gunakan kata-kata ini di prompt:


🏆 HASILNYA?

Dengan prompt ini, kamu akan dapat: