Menyiapkan Basis Data Supabase
Membuat proyek Supabase dan menjalankan satu berkas SQL yang menyiapkan seluruh tabelnya.
Isi halaman ini
Supabase menangani akun pengguna, pengaturan yang dapat diubah tanpa memasang ulang, serta data kegiatan sosialisasi. Seluruhnya disiapkan oleh satu berkas SQL.
Langkah 1 — Buat proyek
- Buka https://supabase.com, daftar (gratis, dapat memakai akun GitHub).
- Tekan New Project.
- Beri nama, misalnya
dimetil-<nama-daerah>. - Buat kata sandi basis data dan simpan baik-baik — sulit dipulihkan.
- Pilih wilayah server terdekat, misalnya Singapura.
- Tunggu beberapa menit sampai proyeknya siap.
Langkah 2 — Catat tiga kunci
Buka Project Settings → API, lalu catat:
| Yang dicatat | Nanti disimpan sebagai |
|---|---|
| Project URL | NEXT_PUBLIC_SUPABASE_URL |
anon public key | NEXT_PUBLIC_SUPABASE_ANON_KEY |
service_role key | SUPABASE_SERVICE_ROLE_KEY |
Langkah 3 — Aktifkan masuk dengan e-mail
Buka Authentication → Providers, pastikan Email aktif.
Bila Anda juga ingin menyediakan tombol Masuk dengan Google, aktifkan penyedia Google pada halaman yang sama dan ikuti petunjuk Supabase untuk mengisi Client ID dan Client Secret dari Google Cloud Console. Ini opsional — DIMETIL tetap berjalan tanpanya.
Langkah 4 — Jalankan berkas SQL
Inilah langkah intinya.
- Buka berkas
docs/sql/00_pasang_lengkap.sqldari kode program yang sudah Anda salin. - Salin seluruh isinya.
- Di Supabase, buka SQL Editor → New query.
- Tempel, lalu tekan Run.
Berkas itu menyiapkan sekaligus:
| Tabel | Isi |
|---|---|
profiles | Akun & perannya, beserta pengerasan keamanannya |
app_settings | Pengaturan yang dapat diubah tanpa memasang ulang |
spm_responden | Jawaban kuis & pre/post-test |
peserta_kegiatan | Daftar hadir & dasar e-piagam |
kegiatan | Identitas & kendali tiap kegiatan |
dok_halaman, dok_revisi | Naskah panduan yang sedang Anda baca |
Langkah 5 — Pastikan berhasil
Tempel dan jalankan pemeriksaan ini pada SQL Editor:
select table_name from information_schema.tables
where table_schema = 'public'
and table_name in ('profiles','app_settings','spm_responden',
'peserta_kegiatan','kegiatan','dok_halaman','dok_revisi')
order by table_name;Seharusnya muncul tujuh baris. Bila kurang, jalankan ulang berkas SQL-nya dan perhatikan pesan galat yang muncul.
Langkah 6 — Jadikan akun Anda admin
Peran tidak dapat dipilih sendiri saat mendaftar — itu disengaja, agar tak seorang pun dapat mengangkat dirinya menjadi admin lewat aplikasi.
Karena itu akun admin pertama dinaikkan dari Supabase:
- Jalankan aplikasinya, buka halaman
/register, daftarkan akun Anda. - Buka e-mail, klik tautan verifikasinya.
- Di Supabase, buka Table Editor → profiles.
- Temukan baris berisi e-mail Anda.
- Ubah kolom
roledaripemilikUTTPmenjadiadminInstansi. - Keluar dari aplikasi, lalu masuk kembali.
Menu petugas akan muncul.
Bila terjadi galat
| Pesan | Sebab & tindakan |
|---|---|
permission denied | Anda tidak memakai SQL Editor pemilik proyek |
relation already exists | Aman — tabelnya memang sudah ada, abaikan |
syntax error | Salinan berkasnya tidak utuh; salin ulang seluruhnya |
Bila aplikasi sudah berjalan, gunakan halaman Diagnostik Sistem — ia memeriksa setiap tabel dan menyebutkan mana yang belum ada.
Selanjutnya
Isi identitas instansi Anda pada berkas pengaturan.
