Farm-Shield is a modern, cross-platform smart agriculture assistant built with Flutter and Firebase. Its goal is to empower farmers, gardeners, and agricultural enthusiasts by providing them with actionable crop advice, weather intelligence, personalized plant management, and digital record keeping, all in a beautifully designed, multilingual app.
- Crop & Plant Management: Catalog, track, and manage a wide variety of plants (apples, mango, potato, tomato, corn, soybean, grapes, oranges, strawberries, guava, pomegranate, and more).
- Intelligent Weather Insights: Real-time weather info and forecasts tailored to your local crops.
- Fertilizer Calculators: Built-in calculators to determine optimal fertilizer mixes and schedules.
- Multilingual Support: Full support for multiple languages (including English, Hindi, Marathi, and more).
- User Accounts & Profiles: Secure authentication, easy sign-up/login, and profile management.
- Theming: Light and dark theme support, with user customization.
- Cloud Sync & Offline Support: Powered by Firebase, your data is synced and available everywhere.
- Smart Search & Recommendations: Find crop info, best practices, and personalized suggestions.
- Beautiful UI/UX: Responsive design for mobile and desktop, onboarding screens, and accessibility features.
- Flutter SDK (v3.0+ recommended)
- Dart SDK
- Firebase Project
- A device or emulator (Android, iOS, Web, Windows, Linux, or macOS)
git clone https://github.com/shiva396/Farm-Shield.git
cd Farm-Shieldflutter pub get- Create a Firebase project in the Firebase Console.
- Register your app (Android, iOS, web, desktop as needed).
- Download the required files:
google-services.json(Android) →android/app/GoogleService-Info.plist(iOS) →ios/Runner/- For web, update the Firebase config in
web/index.htmlor useflutterfire configure.
- The project uses
firebase_options.dart(auto-generated byflutterfireCLI). If you change Firebase settings, regenerate with:flutterfire configure
- Enable Authentication, Firestore, and Storage in your Firebase project.
- Android/iOS
flutter run
- Web
flutter run -d chrome
- Desktop
flutter run -d windows # or flutter run -d linux # or flutter run -d macos
ShopOn/
│
├── calc/ # Calculation utilities or logic
├── language/ # Language/localization files
├── models/ # Data models
├── pages/ # Main app pages/screens
├── provider/ # State management providers
├── screens/ # UI screens (may overlap with pages, clarify usage)
├── services/ # Service classes (e.g., API, Firebase)
├── settings/ # App settings/configuration screens
├── theme/ # Theme and styling resources
├── utils/ # Utility/helper functions
├── welcome/ # Welcome/onboarding screens
├── widgets/ # Reusable widgets/components
│
├── constants.dart # App-wide constants (colors, strings, etc.)
├── firebase_options.dart # Firebase initialization/config (auto-generated)
├── main.dart # App entry point
├── responsive.dart # Responsive layout helpers
- Onboarding: First-time users are greeted with a responsive, multi-device onboarding flow.
- Authentication: Secure sign-up/login with Firebase Auth.
- Plant Dashboard: Browse, add, and manage your plants or crops. Get details, care tips, and status.
- Weather & Advice: Check location-based weather and get farming tips.
- Calculators: Access fertilizer and growth calculators for smarter farming.
- Account Settings: Manage your profile, switch themes, and select your preferred language.
Farm-Shield supports multiple languages out of the box. To add or update languages, edit the files in lib/language/lang.dart.
- Fork the repo and create your branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
This project is licensed under the MIT License.
For questions or support, please open an issue or contact the maintainer.