Skip to content

Plant Leaf Disease Identifying application. Tech Stack : Flutter, Dart, Tflite model. Built with Love.

Notifications You must be signed in to change notification settings

shiva396/Farm-Shield

Repository files navigation

Farm-Shield

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.


Features

  • 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.

Quick Start

1. Prerequisites

2. Clone the Repository

git clone https://github.com/shiva396/Farm-Shield.git
cd Farm-Shield

3. Install Dependencies

flutter pub get

4. Configure Firebase

  1. Create a Firebase project in the Firebase Console.
  2. Register your app (Android, iOS, web, desktop as needed).
  3. 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.html or use flutterfire configure.
  4. The project uses firebase_options.dart (auto-generated by flutterfire CLI). If you change Firebase settings, regenerate with:
    flutterfire configure
  5. Enable Authentication, Firestore, and Storage in your Firebase project.

5. Run the App

  • Android/iOS
    flutter run
  • Web
    flutter run -d chrome
  • Desktop
    flutter run -d windows
    # or
    flutter run -d linux
    # or
    flutter run -d macos

🛠 Project Structure

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

Usage Guidelines

  • 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.

Localization

Farm-Shield supports multiple languages out of the box. To add or update languages, edit the files in lib/language/lang.dart.


🤝 Contributing

  1. Fork the repo and create your branch (git checkout -b feature/your-feature)
  2. Commit your changes (git commit -am 'Add new feature')
  3. Push to the branch (git push origin feature/your-feature)
  4. Open a Pull Request

📄 License

This project is licensed under the MIT License.


📚 Further Reading


For questions or support, please open an issue or contact the maintainer.

About

Plant Leaf Disease Identifying application. Tech Stack : Flutter, Dart, Tflite model. Built with Love.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •