|
||
---|---|---|
.vscode | ||
android | ||
assets | ||
docs | ||
ios | ||
lib | ||
linux | ||
macos | ||
temp_scripts | ||
test | ||
web | ||
windows | ||
.gitignore | ||
.metadata | ||
README.md | ||
analysis_options.yaml | ||
clean_flutter_cache.bat | ||
debug_helper.dart | ||
devtools_options.yaml | ||
flutter_launcher_icons.yaml | ||
flutter_run_device.bat | ||
icon_config.yaml | ||
pubspec.lock | ||
pubspec.yaml | ||
rename_apk.bat |
README.md
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
- Buka halaman Komunitas dari menu utama aplikasi
- Pilih kategori diskusi yang diinginkan dari dropdown di bagian atas
- Lihat pesan-pesan yang ada atau refresh dengan menarik layar ke bawah
- 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:
- Login ke dashboard Supabase project Anda
- Buka SQL Editor
- Jalankan perintah SQL yang terdapat pada file
supabase_setup.sql
- Verifikasi bahwa tabel
community_messages
danprofiles
telah terbuat - Pastikan Row Level Security (RLS) dan kebijakan (policies) sudah diaktifkan
- 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