https://github.com/amrit-dash/coffee-mapper-android
An Android application for Coffee Development Trust, Koraput to track and manage Coffee Plantations.
https://github.com/amrit-dash/coffee-mapper-android
firebase firebase-auth firebase-firestore flutter flutter-android flutter-apps
Last synced: 4 months ago
JSON representation
An Android application for Coffee Development Trust, Koraput to track and manage Coffee Plantations.
- Host: GitHub
- URL: https://github.com/amrit-dash/coffee-mapper-android
- Owner: amrit-dash
- License: mit
- Created: 2025-02-14T23:43:06.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-14T23:58:31.000Z (4 months ago)
- Last Synced: 2025-02-15T00:27:59.142Z (4 months ago)
- Topics: firebase, firebase-auth, firebase-firestore, flutter, flutter-android, flutter-apps
- Language: Dart
- Homepage: https://coffeemapper.web.app
- Size: 0 Bytes
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Coffee Mapper

[](https://flutter.dev/)
[](https://dart.dev)
[](https://firebase.google.com/)
[](LICENSE)
[](CONTRIBUTING.md)
[](https://github.com/yourusername/coffee_mapper/graphs/commit-activity)
[](https://about.me/amritdash)An Android application for Coffee Development Trust, Koraput to track and manage Coffee Plantations.
[Features](#features) • [Installation](#installation) • [Environment Setup](#environment-setup) • [Usage](#usage) • [Contributing](#contributing) • [License](#license) • [Download](#download)
---
### 🚀 Quick Links
[](https://drive.google.com/drive/folders/1C8NwMaO70dq4D4__WbDC1XxzWfgl8KTY?usp=drive_link)
[](https://drive.google.com/drive/folders/1Dkw3vWBz7sl_wriKBSacS3obYar-UhYu?usp=drive_link)
## ✨ Features
🗺️ **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🔄 **Sync & Backup**
- Automatic data synchronization
- Offline data persistence
- Secure cloud storage for images
- Real-time updates## 📥 Installation
### Prerequisites
1. Flutter SDK (^3.5.4)
2. Android Studio
3. Java Development Kit (JDK)
4. Firebase Account
5. Google Maps API Key### Getting Started
1. Clone the repository:
```bash
git clone https://github.com/yourusername/coffee_mapper.git
cd coffee_mapper
```2. Install dependencies:
```bash
flutter pub get
```3. Follow the [Environment Setup](#environment-setup) instructions below.
## ⚙️ Environment Setup
This project uses separate environments for development and production. Each environment has its own:
- Firebase project
- Google Maps API key
- Package name### Initial Setup
When setting up the project for the first time:
1. Create necessary directories and copy template files:
```bash
# 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
```2. Update the copied files with your actual values:
- Add your Maps API keys to both `strings.xml` files
- Update `key.properties` with your keystore details### Firebase Configuration
1. Place your Firebase configuration files:
- Development: `android/app/google-services-dev.json`
- Production: `android/app/google-services-prod.json`2. Enable required Firebase services:
- Authentication
- Cloud Firestore
- Cloud Storage
- Crashlytics
- App Check### Google Maps Configuration
Configure Google Maps API keys in:
1. Native Android configuration:
- Debug: `android/app/src/debug/res/values/strings.xml`
- Release: `android/app/src/main/res/values/strings.xml`
2. Dart configuration in `lib/config/app_config.dart`## 🚀 Usage
### Building the App
Use the provided build scripts:
```bash
# Development build
./scripts/build.sh dev 1.0.0# Production build
./scripts/build.sh prod 1.0.0
```### Running the App
Use the run script for development:
```bash
# Run development version
./scripts/run.sh dev# Production version
./scripts/run.sh prod
```### Security Notes
The following files contain sensitive information and should not be committed to version control:
- `google-services-dev.json`
- `google-services-prod.json`
- `key.properties`
- `*.jks` (keystore files)
- `android/app/src/*/res/values/strings.xml`## 📱 Download
You can download the latest APK builds from the following links:
- [Development Build](https://drive.google.com/drive/folders/1C8NwMaO70dq4D4__WbDC1XxzWfgl8KTY?usp=drive_link) - For testing and development purposes
- [Production Build](https://drive.google.com/drive/folders/1Dkw3vWBz7sl_wriKBSacS3obYar-UhYu?usp=drive_link) - For end users## 🤝 Contributing
We welcome contributions! Please follow these steps:
1. Fork the repository
2. Create a new branch: `git checkout -b feature/your-feature`
3. Make your changes
4. Test thoroughly
5. Create a pull requestPlease read our [Contributing Guidelines](CONTRIBUTING.md) for more details.
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🙏 Acknowledgments
- 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## 👨💻 Author
**Amrit Dash**
- Website: [about.me/amritdash](https://about.me/amritdash)
- Twitter: [@amritdash](https://twitter.com/amritdash)
- Email: [[email protected]](mailto:[email protected])## 📞 Support
If you need help or have any questions, please email us at [[email protected]](mailto:[email protected])
---
Made with ❤️ for Coffee Development Trust, Koraput
If you found this project helpful, please consider giving it a ⭐️