53 lines
2.0 KiB
Markdown
53 lines
2.0 KiB
Markdown
# 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
|