Cara Membuat Sendiri Komentar Situs Web Dengan Supabase Dan JS

Sat, 30 Nov 2024

Setelah berselancar di internet dan mencoba berbagai macam comment system, akhirnya aku menemukan cara membuatnya dengan menggunakan Supabase dan JavaScript. Terima kasih kepada MCNAVEEN untuk karya yang luar biasa. Baik tanpa berpanjang-lebar, mari kita mulai.

Membuat Database di Supabase

  1. Buatlah akun di Supabase.
  2. Setelah itu, buatlah project dan database baru.
  3. Buatlah tabel baru dengan nama comments dan tambahkan kolom seperti di bawah.
NameTypeDefault Value
idint8-
nametext-
emailtext-
postURLtext-
commenttext-
created_attimestampznow()
showbooleantrue
  1. Buat auth policies dengan isi seperti di bawah:
CREATE POLICY "Allow users to view comments" ON public.comments FOR
SELECT
  TO authenticated,
  anon USING (
    SHOW = TRUE
  );

CREATE POLICY "Allow users to add comments" ON public.comments FOR INSERT TO authenticated,
anon
WITH
  CHECK (TRUE);
  1. Database sudah siap, selanjutnya buka menu Project Settings > Configuration > API. Copy Project URL dan Project API Keys pada bagian anon public yang nanti akan kita pakai untuk comment system.

Membuat System Comment

  1. Clone supacomments dari github
git clone https://github.com/mcnaveen/SupaComments && cd supacomments
  1. Install dependencies
yarn install
  1. Buat file konfigurasi
cp .env.example .env
  1. Buka file .env dengan text editor favorit kalian lalu isikan nama domain kita (tanpa https://), Project URL dan Project API Keys dari supabase seperti di bawah:
SUPACOMMENT_HOST_URL=domainanda.site
SUPACOMMENT_SUPABASE_URL=https://xxxxxxxxxxxx.supabase.co
SUPACOMMENT_SUPABASE_ANON_KEY=falsdfadskfjaksdfj.hakdsfhlaksdjfhaklsdjhfaksdjf:jfkajdsfakjdshf
  1. Kita juga bisa mengedit layout comment system dengan mengubah semua isi file dalam directory src/components.
  2. Build comment system dengan perintah:
yarn build
  1. Perintah di atas akan membuat file comments.js dan comments.css di dalam directory pubic/build.
  2. Copy paste file tersebut ke situs anda misalnya /asset/js/comments.js. Oh iya, karena situsku menggunakan tailwind, aku tidak memerlukan comments.css. Sesuaikan saja.
  3. Tambahkan baris berikut di layout post blog anda, jangan lupa ganti yoursite.com dengan domain situs kita (tanpa https://). Sesuaikan pula src="/asset/js/comment.js" dengan path file comments.js di situs kita.
<div id="comments" data-url="yoursite.com" clickToLoad="false"></div>
<script src="/asset/js/comments.js">

Push ke github dan deploy ke situs kita. Beres...

Untuk demo, klik tombol comment pada navbar di atas ya.

Terimakasih sudah mampir