Agriculture GIS for Land Measurement & Farmer Profiling

2 min read
Android Kotlin Java Clean Arch' Koin MVVM ionic
Table of Contents

Project Overview

Developed a Mobile GIS application to manage farmer profiles and accurately calculate agricultural land area using Google Maps SDK and polygon mapping via GPS coordinate tracking. Integrated the mapping application within a broader Agri-Tech ecosystem, establishing data traceability to connect land owners directly with a separate commodity marketplace platform.

  • Role :Android Developer
  • Duration : Apr 2022 - Jul 2022
  • Tech Stack :Android , Kotlin, Java, MVVM , Clean Arch, Koin, Kotlin Flow, ionic

User Interface Application

To see the UI, go directly to the application’s features section.

My Contribution

  • Ionic Legacy Code Adjustments: Updated the Gradle configuration for legacy Ionic-based code to ensure smooth application performance. This was done to analyze the old JavaScript code and use it as a functional reference.

  • Android Native Rewrite (Fresh Start): Redeveloped the application from scratch using Android Native, transitioning all critical functionality from Ionic to achieve maximum performance and stability.

  • API Integration: Connected all backend endpoints, including integrating farmer and land data forms and their state management.

  • Land Measurement Features: Implemented geotagging and land area calculation features using the Google Maps SDK, with precise coordinates from Google Play Services.

Technical Implementation

  • Core: 100% Kotlin-based with Clean Architecture and MVVM design patterns.

  • UI/UX: Uses XML (ConstraintLayout for complex layouts and LinearLayout for simple ones), and RecyclerView optimizations to prevent performance issues.

  • Network & Asynchronous: Relies on Retrofit2 for REST API integration and Kotlin Flow for asynchronous task handling.

  • Dependency Injection: Uses Koin for its lightweight, efficient, and robust nature for application scalability.

  • Geolocation & Mapping: Calculates land polygon area using the Google Maps SDK, and records precise coordinate movements using the Fused Location Provider.

Feature Application

Disclaimer All product names, logos, and brands are anonymized due to NDA.

Auth System:

Login/Register via standard email

View Screenshots
12

Farmer Data Collection

View Screenshots
123
123

Farmer’s Land Calculation

View Screenshots
123
12

Conclusion

This project successfully redeveloped (fresh start) to Android Native, utilizing improved legacy Ionic code as the primary reference. The result is a much more stable, comprehensive, and high-performance land surveying and data collection application.


Other Projects

Multi-Platform Native SDK Project (Android, iOS, Flutter, React Native)

2 min read

End-to-end development of a secure, multi-platform SDK focused on file processing and manipulation, tailored for private B2B enterprise integration.

Android Kotlin iOS Swift +7