A comprehensive farming companion app built with React Native and Expo for the Mobile Application Development (MAD) end-semester project.
https://drive.google.com/file/d/1_YktUFf91kjLU2BodZJYp2_nq5OoahC4/view?usp=sharing
KrishiGuide is a bilingual (English/Hindi) mobile application designed to assist farmers with:
- Crop Recommendations: AI-powered crop suggestions based on soil NPK values, pH, temperature, and rainfall
- Weather Updates: Real-time weather information with location detection and farming advice
- Market Prices: Latest commodity prices with search and filter functionality
- Government Schemes: Information about agricultural schemes with direct application links
- Profile Management: User authentication, profile editing, and language preferences
- User login with email/password
- Profile creation and management
- Secure session handling
- Location-based weather summary
- Quick access cards to all features
- Personalized greeting with user name
- Beautiful UI with custom splash screen
- Beautiful banner image
- Input form for soil parameters (N, P, K, pH)
- Climate data (temperature, rainfall)
- Multiple crop suggestions with detailed reasoning
- Visual crop cards with emojis and explanations
- Current location detection using GPS
- Real-time weather conditions
- Temperature, humidity, wind speed, visibility
- Sunrise/sunset times
- Weather-based farming advice
- Fallback to mock data when API rate-limited
- Real-time commodity prices
- Search functionality
- Filter by crop category
- Price trend indicators (up/down)
- Market location information
- Comprehensive list of schemes
- Detailed benefits for each scheme
- "Apply Now" buttons with direct links
- Beautiful banner image
- Scrollable content
- User information display
- Profile picture upload
- Edit profile functionality
- Language toggle (English/Hindi)
- Settings and preferences
- Logout functionality
- Framework: React Native with Expo SDK 54
- Language: JavaScript (JSX)
- Navigation: React Navigation (Bottom Tabs)
- Icons: Expo Vector Icons (Ionicons)
- Location: expo-location
- Image Handling: expo-image-picker
- Styling: React Native StyleSheet
- State Management: React Context API
- APIs:
- OpenWeatherMap for weather data
- Custom services for crop, market, and scheme data
KrishiGuide/
โโโ app/
โ โโโ components/ # Reusable UI components
โ โ โโโ CommonButton.jsx
โ โ โโโ InputField.jsx
โ โ โโโ WeatherCard.jsx
โ โโโ context/ # Context providers
โ โ โโโ AuthContext.js
โ โ โโโ LanguageContext.js
โ โโโ navigation/ # Navigation setup
โ โ โโโ TabNavigator.jsx
โ โโโ screens/ # All screen components
โ โ โโโ HomeScreen.jsx
โ โ โโโ LoginScreen.jsx
โ โ โโโ CropRecommendationScreen.jsx
โ โ โโโ WeatherScreen.jsx
โ โ โโโ MarketPriceScreen.jsx
โ โ โโโ GovtSchemesScreen.jsx
โ โ โโโ ProfileScreen.jsx
โ โโโ services/ # Business logic and API calls
โ โ โโโ cropService.js
โ โ โโโ weatherService.js
โ โ โโโ marketService.js
โ โ โโโ schemeService.js
โ โโโ utils/ # Constants and utilities
โ โโโ constants.js
โ โโโ translations.js
โโโ assets/ # Images and static files
โ โโโ crop_banner.png
โ โโโ govt_banner.png
โ โโโ splash_logo.png
โ โโโ login_image.jpg
โ โโโ profile_bg.jpg
โโโ App.js # Main app entry point
โโโ app.json # Expo configuration
โโโ package.json # Dependencies
- Node.js (v14 or higher)
- npm or yarn
- Expo CLI (
npm install -g expo-cli) - Expo Go app on your mobile device
- Clone the repository:
git clone https://github.com/MOHITKOURAV01/Krishi_Guide.git
cd Krishi_Guide- Install dependencies:
npm install- Install additional required packages:
npx expo install expo-location expo-image-picker expo-linear-gradient- Start the development server:
npx expo start- Run on your device:
- Scan the QR code with Expo Go (Android) or Camera app (iOS)
- Or press
afor Android emulator,ifor iOS simulator
{
"expo": "~54.0.0",
"react": "18.3.1",
"react-native": "0.76.5",
"@react-navigation/native": "^6.1.18",
"@react-navigation/bottom-tabs": "^6.6.1",
"expo-location": "~18.0.4",
"expo-image-picker": "~16.0.3",
"expo-linear-gradient": "~14.0.1",
"expo-vector-icons": "^14.0.4",
"react-native-screens": "^4.4.0",
"react-native-safe-area-context": "^4.14.0"
}- Bilingual Support: Complete English and Hindi translations
- Custom Splash Screen: Beautiful branded splash screen
- Banner Images: Eye-catching banners for Crop and Scheme screens
- Responsive Design: Optimized for various screen sizes
- SafeAreaView: Proper handling of status bar and notches
- Smooth Scrolling: Banner images scroll with content
- Color Theme: Consistent green agricultural theme
- Icons: Intuitive Ionicons throughout the app
The app uses OpenWeatherMap API for weather data. The API key is configured in:
// app/services/weatherService.js
const API_KEYS = {
OPENWEATHER: 'your_api_key_here'
};Note: The current API key is rate-limited. For production use, obtain your own key from OpenWeatherMap.
The app supports two languages:
- English (default)
- Hindi (เคนเคฟเคเคฆเฅ)
Language can be toggled from the Profile screen. All screens and components are fully translated.
- Email/password authentication
- Beautiful login image
- User-friendly form validation
- Personalized greeting
- Current location display
- Weather summary card
- Quick action buttons
- Clean, modern design
- Banner image at top
- Soil parameter inputs (N, P, K, pH)
- Climate inputs (temperature, rainfall)
- Multiple crop suggestions
- Detailed reasoning for each crop
- Scrollable results
- Location-based weather
- Current conditions
- Temperature, humidity, wind
- Sunrise/sunset times
- Farming advice based on weather
- Mock data fallback
- Commodity price list
- Search functionality
- Category filters
- Price trends
- Market locations
- Banner image at top
- Scheme cards with details
- Benefits list with checkmarks
- "Apply Now" buttons
- Direct links to official sites
- User information
- Profile picture
- Edit profile modal
- Language toggle
- Settings options
- Logout button
- Weather API has rate limits (mock data used as fallback)
- Market prices are simulated data
- Government schemes are hardcoded
- Crop recommendation uses rule-based logic (not ML)
- No backend server (all data is local/mock)
- Backend integration with real APIs
- Machine Learning for crop prediction
- Real-time market price feeds
- Push notifications for weather alerts
- Offline mode with data caching
- More languages (Punjabi, Marathi, etc.)
- Community forum
- Crop disease detection using camera
- Fertilizer calculator
- Irrigation scheduler
This project is developed as part of the Mobile Application Development (MAD) course end-semester project. The app demonstrates:
- โ React Native component architecture
- โ Context API for state management
- โ Navigation patterns (Tab + Stack)
- โ API integration
- โ Location services
- โ Image handling
- โ Internationalization (i18n)
- โ Form handling and validation
- โ UI/UX best practices
- โ Git version control
This project is created for educational purposes as part of an academic assignment.
Mohit Kourav
- GitHub: @MOHITKOURAV01
- Project Repository: KrishiGuide
- Original web project: krishiguide
- OpenWeatherMap for weather API
- React Native and Expo communities
- Course instructors and peers
- All open-source contributors
Note: This is an academic project developed for learning purposes. For production deployment, implement proper security measures, API key management, real data sources, and backend infrastructure.
Made with โค๏ธ for farmers