An Android application for Coffee Development Trust, Koraput to track and manage Coffee Plantations.
Features • Installation • Environment Setup • Usage • Contributing • License • Download
🗺️ Interactive Mapping
- Plot coffee plantation areas using GPS coordinates
- Real-time area and perimeter calculations
- Satellite view integration with Google Maps
- Support for multiple image captures with location tagging
📱 User-Friendly Interface
- Clean and modern Material Design
- Intuitive navigation
- Responsive layout
- Offline capability with data sync
🔐 Secure Authentication
- Firebase Authentication integration
- Role-based access control
- Admin dashboard for user management
📊 Plantation Management
- Detailed plantation information recording
- Image capture and storage
- Historical data tracking
- Area-wise categorization
🕒 Attendance & Tracking
- Geofenced check-in and check-out
- Real-time location validation against assigned regions
- Secure timestamping with NTP integration
- Background overnight session management
🔄 Sync & Backup
- Automatic data synchronization
- Offline data persistence
- Secure cloud storage for images
- Real-time updates
- Flutter SDK (^3.5.4)
- Android Studio
- Java Development Kit (JDK)
- Firebase Account
- Google Maps API Key
-
Clone the repository:
git clone https://github.com/yourusername/coffee_mapper.git cd coffee_mapper -
Install dependencies:
flutter pub get
-
Follow the Environment Setup instructions below.
This project uses separate environments for development and production. Each environment has its own:
- Firebase project
- Google Maps API key
- Package name
When setting up the project for the first time:
-
Create necessary directories and copy template files:
# Create directories mkdir -p android/app/src/debug/res/values/ mkdir -p android/app/src/main/res/values/ # Copy API Key templates cp templates/strings.xml.template android/app/src/main/res/values/strings.xml cp templates/strings.debug.xml.template android/app/src/debug/res/values/strings.xml # Copy keystore configuration template cp templates/key.properties.template android/key.properties
-
Update the copied files with your actual values:
- Add your Maps API keys to both
strings.xmlfiles - Update
key.propertieswith your keystore details
- Add your Maps API keys to both
-
Place your Firebase configuration files:
- Development:
android/app/google-services-dev.json - Production:
android/app/google-services-prod.json
- Development:
-
Enable required Firebase services:
- Authentication
- Cloud Firestore
- Cloud Storage
- Crashlytics
- App Check
Configure Google Maps API keys in:
- Native Android configuration:
- Debug:
android/app/src/debug/res/values/strings.xml - Release:
android/app/src/main/res/values/strings.xml
- Debug:
- Dart configuration in
lib/config/app_config.dart
Use the provided build scripts:
# Development build
./scripts/build.sh dev 1.0.0
# Production build
./scripts/build.sh prod 1.0.0Use the run script for development:
# Run development version
./scripts/run.sh dev
# Production version
./scripts/run.sh prodThe following files contain sensitive information and should not be committed to version control:
google-services-dev.jsongoogle-services-prod.jsonkey.properties*.jks(keystore files)android/app/src/*/res/values/strings.xml
You can download the latest APK builds from the following links:
- Development Build - For testing and development purposes
- Production Build - For end users
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature - Make your changes
- Test thoroughly
- Create a pull request
Please read our Contributing Guidelines for more details.
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter Team for the amazing framework
- Firebase for the robust backend services
- Google Maps Platform for mapping services
- Coffee Development Trust, Koraput for their support
Amrit Dash
- Website: about.me/amritdash
- Twitter: @amritdash
- Email: amrit.dash60@gmail.com
If you need help or have any questions, please email us at geospatialtech.production@gmail.com
Made with ❤️ for Coffee Development Trust, Koraput
If you found this project helpful, please consider giving it a ⭐️

