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.
- 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
- 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+
- Clone the repository:
git https://github.com/agstack/TerraTrac-field-app.git
cd TerraTrac-field-app
- Open the project in Android Studio
- Sync Gradle files
- Configure your local.properties file with required API keys
- Build and run the application
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
The application follows Clean Architecture pattern with the following key components::
- User Interface components
- Key Screens:
- Site Management
- Farm Management
- Export/Share Module
- Core Business Logic:
- Site Handler
- Farm Handler
- Polygon Calculator
- Import/Export Logic
- Share Logic
- Validation Layer:
- Size Validator
- Data Validator
- Duplicate Checker
- Local Storage:
- ROOM Database
- Data Entities (Farms, Collection Sites)
- Core Services:
- Location Service
- Sync Service
We welcome contributions to TerraTrac! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please read our CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Google Maps Platform for location services
- Room Persistence Library
- Kotlin Coroutines for asynchronous programming
- Android Architecture Components
- All contributors who have helped shape TerraTrac
For support, please:
- Open an issue in the GitHub repository
- Contact our support team at [email protected]
- Check our documentation
Current Version on Production : 2.36 (2024-10-16)
The project is under active development.
TerraTrac is committed to improving agricultural management through technology.