Internak App — Platform Monitoring Peternakan

Aplikasi mobile berbasis Flutter untuk monitoring peternakan. Peternak dapat mencatat data ternak, kandang, pakan, dan aktivitas harian. Pendamping memantau perkembangan dan memberikan rekomendasi melalui fitur komunitas dan konsultasi.

Role
Flutter Developer
Ownership
Solo builder: arsitektur Flutter, state management BLoC, integrasi REST API, fitur input data peternakan, sistem autentikasi SSO, dan deployment workflow
Team
Solo
Period
2024 - 2025
Focus
Android, Flutter, iOS, Flutter Developer, Mobile Developer

Overview

Internak App adalah platform mobile yang menghubungkan peternak dengan pendamping peternakan. Peternak dapat mencatat data lengkap mulai dari profil peternakan, data keluarga, data ternak, hingga aktivitas harian. Pendamping (mentor/petugas) dapat memantau perkembangan dari dashboard dan memberikan rekomendasi melalui fitur komunitas dan konsultasi.

Aplikasi ini dibangun menggunakan Flutter dengan arsitektur BLoC untuk state management, REST API untuk komunikasi backend, dan SSO untuk autentikasi multi-role. Tersedia dalam tiga flavor: dev, staging, dan production untuk mendukung siklus pengembangan yang terstruktur.

Tech & Libraries

Teknologi dan library yang dipakai atau disentuh di project ini:

FlutterDartFlutter BLoCGo RouterGet It (DI)REST APISSO (Google Sign-In + Firebase Auth)OpenStreetMap (flutter_map)Google MapsGeolocatorFirebase AuthShared PreferencesCached Network Imagefl_chartLottieShimmerflutter_svgCarousel SliderWebViewConnectivity PlusPermission HandlerChucker (Debugging)Multi-flavor Build (dev/staging/production)

Problem

Peternak di Indonesia kesulitan memantau perkembangan ternak secara terstruktur. Data ternak, pakan, kesehatan, dan aktivitas harian masih dicatat manual atau tidak terdokumentasi dengan baik.

Pendamping peternakan tidak memiliki visibilitas real-time terhadap kondisi peternak binaan mereka, sehingga sulit memberikan intervensi tepat waktu. Belum ada platform terpadu yang menghubungkan peternak dengan pendamping dalam satu ekosistem digital.

My Role & Ownership

Solo builder: arsitektur Flutter, state management BLoC, integrasi REST API, fitur input data peternakan, sistem autentikasi SSO, dan deployment workflow

Technical Approach

Internak dibangun sebagai Flutter mobile app untuk membantu peternak mencatat data ternak, kandang, pakan, aktivitas harian, dan interaksi dengan pendamping. Implementasi memakai BLoC agar flow input bertahap tetap bisa dipisahkan antara UI, event, state, dan business logic.

Aplikasi juga menggabungkan integrasi yang penting untuk domain peternakan: maps/location untuk profil peternakan, REST API untuk sinkronisasi data, SSO untuk login multi-role, dan multi-flavor build agar dev/staging/production bisa dipisahkan tanpa mengubah kode fitur.

Architecture Notes

Struktur aplikasi mengikuti feature-based Flutter architecture dengan BLoC sebagai state management utama.

  1. Setiap fitur dipisah ke layer view, bloc/event/state, model, dan repository agar perubahan UI tidak langsung merusak data flow.
  2. Repository menjadi boundary ke REST API, sehingga screen tidak memanggil endpoint secara langsung.
  3. Get It dipakai untuk dependency injection supaya service/repository bisa dipakai lintas fitur tanpa tight coupling.
  4. Go Router mengatur navigasi antar role dan flow onboarding/input data.
  5. Multi-flavor configuration memisahkan environment dev, staging, dan production untuk build Android.

Trade-offs

Keputusan teknis Internak dibuat untuk menjaga flow mobile yang kompleks tetap mudah ditelusuri.

  1. BLoC dipilih dibanding state management yang lebih ringan karena event-state trace lebih jelas untuk form bertahap dan multi-role flow.
  2. REST API dipakai karena backend sudah menyediakan endpoint terstruktur dan lebih familiar untuk tim, walaupun GraphQL bisa lebih fleksibel untuk query komposit.
  3. SSO mempercepat login user, tapi cache harus ditangani hati-hati saat berganti role atau akun.
  4. Multi-flavor build membantu QA antar environment, dengan konsekuensi konfigurasi build Android menjadi lebih kompleks.
  5. Banyak library UI dipakai untuk mempercepat delivery, tetapi daftar dependency perlu dijaga agar tidak membengkak tanpa kebutuhan nyata.

Implementation Highlights

  • Arsitektur BLoC dengan event-state stream untuk setiap fitur
  • Multi-flavor configuration (dev, staging, production) dengan build terpisah
  • Integrasi OpenStreetMap untuk pemilihan lokasi peternakan
  • Flow input data bertahap multi-step (peternakan → keluarga → ternak → aktivitas)
  • Sistem autentikasi SSO dengan penanganan cache multi-role
  • Fitur komunitas dengan real-time messaging
  • Fitur konsultasi satu-satu antara peternak dan pendamping
  • Penggunaan Chucker untuk debugging network di development

Results

  • Aplikasi berhasil dikembangkan dan siap digunakan oleh peternak dan pendamping di Indonesia
  • Mendukung tiga role pengguna: peternak, pendamping, dan masyarakat
  • Menyediakan 8+ modul fitur: auth, farm input, data ternak, aktivitas, komunitas, konsultasi, keluarga, top-up
  • Multi-flavor deployment memungkinkan pengujian terisolasi sebelum rilis production
  • 3 flavor environment: dev, staging, production
  • 8+ modul fitur utama
  • 3 role pengguna: peternak, pendamping, masyarakat
  • Integrasi dengan OpenStreetMap untuk geolokasi
  • Autentikasi SSO multi-role

Links