Yagasu

Yagasu is an App made for Agroforestry & Mangrove Restoration projects To collect data from registration & monitoring of agroforestry and mangrove restoration project activities.

The task I'm working on

  • Development of over 10 reporting forms for the application, implementing Object-Oriented Programming (OOP) principles to ensure scalability and maintainability.

  • Integration of location tracking functionality, including the ability to draw polylines on maps when users consent to location recording.

  • Implementation of continuous location tracking, functioning seamlessly in both foreground and background modes. Even if the user locks or kills the app from the recent apps menu, location tracking persists, ensuring uninterrupted recording. Upon returning to the app, the polyline remains intact without truncation.

Achievements

  • Successful creation of the application for Android using Kotlin and iOS using Swift, ensuring cross-platform accessibility.

  • Development of reusable view components, streamlining the UI design process and enhancing code maintainability.

  • Seamless deployment of the application to both the Play Store and App Store platforms.

  • Implementation of modularization techniques, enhancing code organization and facilitating future scalability and maintenance efforts.

Challenges

  • Create a form view with a high degree of reusability, enabling seamless deployment across various contexts with just one instance.

  • Implement robust validation protocols for the reusable form to ensure data integrity and user input accuracy.

  • Engineer smooth path polylines on maps to provide a fluid user experience during location tracking, and enable exporting of the generated polyline path into KML format for further analysis and integration.

Tech Stack

  • Kotlin

  • Swift

  • Kotlin Flow

  • Coroutine

  • Alamofire

  • Retrofit

  • Room Database

  • Realm Database

  • Firebase

  • Koin Dependency Injection

  • MVVM pattern for Android

  • MVC pattern for iOS

Android

iOS

Last updated