Gajayana Kost

Gajayana Kost

Gajayana Kost

Flutter Dart Laravel MySQL

Tentang Proyek

Gajayana Kost adalah aplikasi mobile untuk platform booking kos (boarding house) yang menghubungkan pemilik kos (Owner) dengan penyewa (Society). Aplikasi ini memungkinkan Owner untuk mengelola kos mereka dan Society untuk mencari dan memesan kos dengan mudah.

Pengembang:

  • Cipto Yafig Adiwongso

Deskripsi Aplikasi

Gajayana Kost adalah platform berbasis mobile yang memudahkan proses pencarian dan pemesanan kos. Aplikasi ini memiliki dua peran utama: Owner (Pemilik Kos) dan Society (Penyewa). Owner dapat mengelola kos mereka, melihat statistik, mengelola booking, dan merespon review. Society dapat menjelajahi berbagai kos, melakukan booking, melihat detail booking, dan memberikan review.

Unduh Aplikasi

Anda dapat mengunduh dan mencoba aplikasi MediList melalui link berikut:
Unduh Gajayana-Kost.apk

Struktur Proyek

Terminal window
mobile/
├── lib/
├── main.dart
├── config.dart
├── core/
└── app_theme.dart
├── models/
├── booking.dart
├── kos.dart
└── user.dart
├── pages/
├── auth/
├── login_page.dart
├── register_page.dart
├── forgot_password_page.dart
└── change_password_page.dart
├── owner/
├── add_kos_page.dart
├── edit_kos_page.dart
├── manage_kos_page.dart
├── reviews_page.dart
├── facility_management_page.dart
├── analytics_page.dart
└── transaction_history_page.dart
├── society/
├── bookings_page.dart
├── booking_detail_page.dart
└── booking_success_page.dart
└── shared/
├── splash_page.dart
├── home_page.dart
├── dashboard_page.dart
└── profile_page.dart
├── services/
└── api_service.dart
└── widgets/
├── common/
├── kos/
└── owner/
└── assets/
└── image_documentation/

Fitur Aplikasi

Fitur Umum (Shared)

  • Autentikasi: Login dan registrasi dengan validasi
  • Home Page: Menjelajahi daftar kos dengan filter dan pencarian
  • Dashboard: Navigasi utama dengan role-based menu
  • Profile: Mengelola profil pengguna dan melihat statistik

Fitur Owner

  • Kelola Kos: Menambah, mengedit, dan menghapus kos
  • Kelola Kamar: Menambahkan dan mengelola kamar untuk setiap kos
  • Kelola Fasilitas: Menambahkan dan mengelola fasilitas kos
  • Manajemen Booking: Menerima, menolak, dan melihat detail booking
  • Review Management: Melihat dan membalas review dari penyewa
  • Analytics: Melihat statistik kos, booking, dan revenue
  • Transaction History: Riwayat transaksi booking

Fitur Society (Penyewa)

  • Pencarian Kos: Mencari kos berdasarkan filter (harga, lokasi, gender)
  • Detail Kos: Melihat detail lengkap kos termasuk kamar, fasilitas, dan review
  • Booking: Membuat booking dengan memilih tanggal sewa
  • Manajemen Booking: Melihat status booking dan detail booking
  • Review: Memberikan review dan rating untuk kos
  • Cetak Bukti Booking: Mencetak dan membagikan bukti booking

Dokumentasi Aplikasi

1. Autentikasi (klik untuk melihat)

1.1 Splash Screen

Splash Screen

Halaman splash screen yang ditampilkan saat aplikasi pertama kali dibuka.

1.2 Login

Login

Halaman login untuk masuk ke aplikasi dengan email dan password.

1.3 Validasi Login

Validasi Login

Pesan error validasi yang muncul jika email atau password tidak valid.

1.4 Registrasi

Registrasi

Form registrasi dengan validasi untuk membuat akun baru dengan role Owner atau Society.

1.5 Validasi Registrasi

Validasi Registrasi

Pesan error validasi yang muncul jika ada field yang tidak valid.

1.6 Registrasi Berhasil

Registrasi Berhasil

Dialog konfirmasi ketika registrasi berhasil.

2. Home Page (klik untuk melihat)

2.1 Home Owner

Home Owner 1

Halaman home untuk Owner menampilkan daftar kos yang dimiliki.

Home Owner 2

Tampilan alternatif home page Owner.

Home Owner 3

Carousel dan detail kos di home page Owner.

2.2 Home Penyewa

Home Penyewa 1

Halaman home untuk Penyewa menampilkan daftar kos yang tersedia untuk di-booking.

Home Penyewa 2

Detail kos dan informasi lengkap untuk Penyewa.

3. Booking (klik untuk melihat)

3.1 Daftar Booking Penyewa

Booking Penyewa

Halaman untuk melihat semua booking yang telah dibuat oleh penyewa.

3.2 Booking Berhasil

Booking Success

Konfirmasi ketika booking berhasil dibuat.

3.3 Booking Menunggu Konfirmasi (Owner)

Booking Waiting

Owner melihat booking yang menunggu konfirmasi.

3.4 Booking Ditolak dengan Alasan

Booking Cancel

Owner dapat menolak booking dengan memberikan alasan penolakan.

3.5 Booking Disetujui

Booking Approved

Booking yang telah disetujui oleh Owner.

4. Kelola Kos (Owner) (klik untuk melihat)

4.1 Form Tambah Kos - Step 1

Add Kos 1

Form pertama untuk menambahkan informasi dasar kos.

4.2 Form Tambah Kos - Step 2

Add Kos 2

Langkah kedua untuk menambahkan fasilitas dan metode pembayaran.

4.3 Form Tambah Kos - Step 3

Add Kos 3

Langkah ketiga untuk menambahkan gambar kos.

4.4 Tambah Kamar

Add Kamar

Form untuk menambahkan kamar ke kos.

4.5 Validasi Form

Validation

Pesan validasi jika ada field yang belum diisi.

4.6 Berhasil Menambah Kos

Success Add Kos

Konfirmasi ketika kos berhasil ditambahkan.

5. Review (klik untuk melihat)

5.1 Tambah Review (Penyewa)

Add Review

Form untuk menambahkan review dan rating untuk kos.

5.2 Balas Review (Owner)

Balas Review

Owner dapat membalas review yang diberikan oleh penyewa.

6. Profile (klik untuk melihat)

6.1 Profile Owner

Profile Owner

Halaman profile Owner dengan statistik dan menu kelola kos.

6.2 Profile Penyewa

Profile Penyewa

Halaman profile Penyewa dengan informasi booking.

6.3 Kelola Kos dari Profile

Kelola Kost

Menu kelola kos yang dapat diakses dari profile Owner.

Cara Menjalankan Proyek

Prasyarat

  • Flutter SDK (versi terbaru)
  • Dart SDK
  • Android Studio / VS Code dengan Flutter extension
  • Backend Laravel yang sudah berjalan (lihat dokumentasi backend)

1. Clone Repository

Terminal window
git clone <repository-url>
cd gajayana-kost/mobile

2. Install Dependencies

Terminal window
flutter pub get

3. Konfigurasi

Pastikan file lib/config.dart sudah dikonfigurasi dengan benar:

  • apiHostBase: URL backend API
  • Pastikan backend sudah berjalan dan dapat diakses

4. Menjalankan di Mode Debug

Terminal window
flutter run

5. Build Aplikasi Release

Terminal window
# Android APK
flutter build apk --release
# Android App Bundle
flutter build appbundle --release
# iOS (hanya di macOS)
flutter build ios --release

Teknologi yang Digunakan

  • Frontend:
    • Flutter
    • Dart
    • Provider (State Management)
  • Backend:
    • Laravel (PHP)
    • MySQL Database
    • Laravel Sanctum (Authentication)
  • Libraries:
    • Dio (HTTP Client)
    • SharedPreferences (Local Storage)
    • Image Picker (Image Selection)
    • Printing & PDF (Bukti Booking)

API Endpoints

Aplikasi ini menggunakan RESTful API yang dihosting di backend Laravel. Dokumentasi lengkap API dapat dilihat di API_DOCUMENTATION.md di root project.

Endpoint Utama:

  • /api/auth/login - Login pengguna
  • /api/auth/register - Registrasi pengguna
  • /api/kos - Daftar kos (Society)
  • /api/owner/kos - Kelola kos (Owner)
  • /api/bookings - Manajemen booking
  • /api/owner/bookings - Manajemen booking (Owner)
  • /api/reviews - Review dan rating

Struktur Backend

Backend menggunakan Laravel dengan struktur:

  • API routes terpisah untuk Owner dan Society
  • Middleware untuk authentication dan authorization
  • Model relationships untuk data kos, booking, dan review
  • File upload untuk gambar kos

© 2025 Cipto Yafig Adiwongso


← Back to projects