# TaniSMART Community Chat Feature ## Deskripsi Fitur Fitur Komunitas TaniSMART memungkinkan pengguna aplikasi untuk saling berkomunikasi, berbagi pengalaman, dan mendiskusikan topik-topik terkait pertanian. Fitur ini menggantikan fitur Harga Pasar yang sebelumnya ada di aplikasi. ## Fungsionalitas - Pesan realtime menggunakan Supabase - Kategorisasi pesan (Umum, Pertanian, Teknologi, Bantuan) - Tampilan pesan yang membedakan pesan pengirim dan penerima - Informasi waktu pengiriman pesan - Dukungan multi-baris untuk pesan panjang ## Cara Penggunaan 1. Buka halaman Komunitas dari menu utama aplikasi 2. Pilih kategori diskusi yang diinginkan dari dropdown di bagian atas 3. Lihat pesan-pesan yang ada atau refresh dengan menarik layar ke bawah 4. Kirim pesan baru dengan mengetik di kolom input dan menekan tombol kirim ## Setup Database Supabase Untuk mengaktifkan fitur chat komunitas, ikuti langkah-langkah berikut di Supabase: 1. Login ke dashboard Supabase project Anda 2. Buka SQL Editor 3. Jalankan perintah SQL yang terdapat pada file `supabase_setup.sql` 4. Verifikasi bahwa tabel `community_messages` dan `profiles` telah terbuat 5. Pastikan Row Level Security (RLS) dan kebijakan (policies) sudah diaktifkan 6. Verifikasi bahwa realtime replication sudah diaktifkan untuk tabel `community_messages` ## Struktur Kode Fitur ini menggunakan Supabase untuk menyimpan dan menampilkan pesan secara realtime: - `CommunityScreen` berisi implementasi UI dan logika untuk chat - Messages disimpan dalam tabel `community_messages` di Supabase - Realtime subscriptions digunakan untuk memperbarui pesan secara otomatis ## Teknologi yang Digunakan - Flutter untuk UI dan logika aplikasi - Supabase untuk autentikasi dan database - Supabase Realtime untuk fitur chat realtime - PostgreSQL untuk penyimpanan data ## Catatan Penting - Pengguna harus login terlebih dahulu untuk menggunakan fitur ini - Fitur ini menggunakan free tier Supabase, jadi tidak ada biaya tambahan - Batasan pada free tier Supabase: 500 ribu baris database, 5GB storage, dan 2GB bandwidth per bulan