# 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
