Platform properti rental modern yang menghubungkan pemilik properti (landlord) dengan penyewa (tenant) dengan fitur-fitur canggih seperti chat real-time, payment gateway, dan verifikasi identitas.
RENTVERSE adalah aplikasi mobile berbasis Flutter yang menyediakan platform lengkap untuk rental properti dengan dua role utama:
- Tenant (Penyewa): Mencari dan menyewa properti
- Landlord (Pemilik): Mengelola dan menyewakan properti
- π Browse dan cari properti berdasarkan lokasi
- π Integrasi peta untuk melihat lokasi properti
- π¬ Chat real-time dengan pemilik properti
- π³ Pembayaran terintegrasi dengan Midtrans
- π Manajemen booking dan kontrak sewa
- β Review dan rating properti
- π Notifikasi real-time via Firebase
- π€ Verifikasi identitas (iKYC)
- π Dashboard analytics properti
- β Tambah dan kelola properti
- π Manajemen booking dari tenant
- π° Wallet dan sistem payout
- π Statistik performa properti
- π Verifikasi properti
Sebelum menjalankan aplikasi, pastikan Anda telah menginstal:
-
Flutter SDK (versi 3.5.1 atau lebih tinggi)
flutter --version
-
Android Studio atau VS Code dengan Flutter extension
-
Android SDK (untuk development Android)
- Android SDK Platform 21 atau lebih tinggi
- Android Build Tools
-
Xcode (untuk development iOS - hanya di macOS)
-
Git
flutter pub getAplikasi ini menggunakan code generation untuk Retrofit (API client) dan Floor (database). Jalankan perintah berikut:
flutter pub run build_runner build --delete-conflicting-outputsCatatan: Perintah ini akan generate file-file seperti
*.g.dartyang diperlukan untuk menjalankan aplikasi.
Jika Anda ingin menggunakan fitur notifikasi:
- Download file
google-services.json(Android) danGoogleService-Info.plist(iOS) dari Firebase Console - Letakkan file tersebut di:
- Android:
android/app/google-services.json - iOS:
ios/Runner/GoogleService-Info.plist
- Android:
# Cek device yang tersedia
flutter devices
# Jalankan di device yang dipilih
flutter run- Aktifkan Developer Mode dan USB Debugging di perangkat Android Anda
- Hubungkan perangkat ke komputer via USB
- Jalankan:
flutter run
# Debug mode (default)
flutter run
# Release mode (lebih cepat, untuk testing)
flutter run --release
# Profile mode (untuk performance profiling)
flutter run --profile# Debug APK
flutter build apk --debug
# Release APK
flutter build apk --release
# Split APK per ABI (ukuran lebih kecil)
flutter build apk --split-per-abiAPK akan tersimpan di: build/app/outputs/flutter-apk/
flutter build appbundle --releaseApp Bundle akan tersimpan di: build/app/outputs/bundle/release/
Proyek ini sudah dilengkapi dengan basic widget tests. Untuk menjalankan semua tests:
flutter test# Jalankan file test tertentu
flutter test test/widget_test.dart
# Jalankan test dengan nama tertentu
flutter test --plain-name "Simple text widget test"Untuk melihat coverage dari tests:
flutter test --coverageCoverage report akan tersimpan di coverage/lcov.info
Untuk development UI tanpa perlu login, gunakan main_test.dart:
flutter run lib/main_test.dartFile ini berguna untuk:
- Testing UI components tanpa autentikasi
- Rapid prototyping
- UI slicing
- Langsung menampilkan tenant navigation
Catatan:
main_test.dartmelewati proses login dan langsung menampilkan halaman tenant untuk mempercepat development.
lib/
βββ common/ # Komponen dan utilities bersama
β βββ bloc/ # Global BLoCs (Auth, Navigation)
β βββ colors/ # Custom color definitions
β βββ screen/ # Reusable screens
β βββ widget/ # Reusable widgets
βββ core/ # Core functionality
β βββ services/ # Services (DI, Notifications, etc.)
βββ features/ # Feature modules
β βββ auth/ # Authentication & Profile
β βββ bookings/ # Booking management
β βββ chat/ # Real-time chat
β βββ disputes/ # Dispute handling
β βββ map/ # Map integration
β βββ notification/ # Notifications
β βββ review/ # Reviews & ratings
β βββ wallet/ # Wallet & payments
βββ role/ # Role-specific features
βββ lanlord/ # Landlord features
βββ tenant/ # Tenant features
cd android
./gradlew clean
cd ..
flutter clean
flutter pub get
flutter runsudo gem install cocoapods
cd ios
pod install
cd ..
flutter runflutter clean
rm pubspec.lock
flutter pub getPastikan Anda sudah menjalankan flutter pub get setelah clone repository.
Aplikasi ini memerlukan backend API. Pastikan untuk mengkonfigurasi base URL API di file konfigurasi yang sesuai.
- β Android (API 21+)
- β iOS (iOS 12+)
- β Web (experimental)
β οΈ Windows, macOS, Linux (belum dioptimalkan)
Aplikasi mendukung 2 role utama:
- TENANT - Penyewa properti
- LANDLORD - Pemilik properti
Role ditentukan saat registrasi dan mempengaruhi UI/UX serta fitur yang tersedia.
Proyek ini dibuat untuk keperluan pendidikan dan development.
Untuk berkontribusi pada proyek ini:
- Fork repository
- Buat branch baru (
git checkout -b feature/AmazingFeature) - Commit perubahan (
git commit -m 'Add some AmazingFeature') - Push ke branch (
git push origin feature/AmazingFeature) - Buat Pull Request
Jika mengalami masalah atau memiliki pertanyaan, silakan buat issue di repository ini.
Versi: 1.0.0+1
Last Updated: Desember 2025