Skip to content

TerraTrac App is a mobile application powered by TechnoServe Labs, for EUDR compliance. It allows the users to record plot geolocations (point when the plot is less than 4 hectares, and polygon when the plot is bigger). TerraTrac works offline and allows the user to download the list of plots in csv and geojson formats.

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.md
Notifications You must be signed in to change notification settings

agstack/TerraTrac-field-app

Repository files navigation

TerraTrac Mobile Application

Overview

TerraTrac is an open-source Android mobile application available on the Google Play Store built using Kotlin, designed to assist buyers in complying with the European Union Deforestation Regulation (EUDR). The app enables users such as buying agents, employees, and factory managers to register and manage farms from which they source commodities.

Key Features

  • Site Management: Create, edit, and manage collection sites
  • Farm Management: Create, edit, and manage Farm data with precise GPS coordinates and polygons with area measurements
  • Offline Capability: Full functionality in areas with limited or no connectivity
  • Data Export/Share: Export collected data in various (CSV/GeoJson) and share with other users
  • Location Services: Integrated GPS functionality for precise location tracking
  • Synchronization: Seamless data sync with remote servers when online
  • Data Restore: Restore the Data stored on the server

Getting Started

Prerequisites

  • Android Studio Arctic Fox or later
  • JDK 11 or higher
  • Android SDK API Level 21+ (Android 5.0 or higher)
  • Google Play Services for location features
  • Android device or emulator running Android 5.0+

Installation

  1. Clone the repository:
git https://github.com/agstack/TerraTrac-field-app.git
cd TerraTrac-field-app
  1. Open the project in Android Studio
  2. Sync Gradle files
  3. Configure your local.properties file with required API keys
  4. Build and run the application

Environment Setup

Configure development environment:

Set up Android Studio Install required SDK tools Configure Android Virtual Device (AVD)

Add required environment variables:

GOOGLE_MAPS_API_KEY=your_google_maps_api_key
BASE_URL=your_server_url

Architecture

The application follows Clean Architecture pattern with the following key components::

Presentation Layer (UI)

  • User Interface components
  • Key Screens:
    • Site Management
    • Farm Management
    • Export/Share Module

Business Layer

  • Core Business Logic:
    • Site Handler
    • Farm Handler
    • Polygon Calculator
    • Import/Export Logic
    • Share Logic
  • Validation Layer:
    • Size Validator
    • Data Validator
    • Duplicate Checker

Data Layer

  • Local Storage:
    • ROOM Database
    • Data Entities (Farms, Collection Sites)
  • Core Services:
    • Location Service
    • Sync Service

Contributing

We welcome contributions to TerraTrac! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature' )
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please read our CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments

  • Google Maps Platform for location services
  • Room Persistence Library
  • Kotlin Coroutines for asynchronous programming
  • Android Architecture Components
  • All contributors who have helped shape TerraTrac

Support

For support, please:

  • Open an issue in the GitHub repository
  • Contact our support team at [email protected]
  • Check our documentation

Project Status

Current Version on Production : 2.36 (2024-10-16)

The project is under active development.


TerraTrac is committed to improving agricultural management through technology.

About

TerraTrac App is a mobile application powered by TechnoServe Labs, for EUDR compliance. It allows the users to record plot geolocations (point when the plot is less than 4 hectares, and polygon when the plot is bigger). TerraTrac works offline and allows the user to download the list of plots in csv and geojson formats.

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages