A modern mobile marketplace connecting farmers directly with consumers, eliminating middlemen and ensuring fresh, organic produce at fair prices.
FarmConnect Mobile is a React Native application built with Expo that creates a seamless bridge between local farmers and consumers. The app features a clean, intuitive interface for browsing fresh produce, direct farmer communication, and secure ordering capabilities.
- Product Discovery: Browse fresh produce with high-quality images and detailed descriptions
- Smart Filtering: Filter by category, location, price range, and availability
- Search Functionality: Find specific products or farmers quickly
- Product Details: Comprehensive information including nutrition facts, farming methods, and farmer profiles
- Direct Communication: Chat with farmers for questions and custom orders
- Farmer Profiles: Detailed information about farming practices, certifications, and ratings
- Location-Based: Find local farmers in your area
- Real-time Updates: Get notified about new products and availability
- Shopping Cart: Easy-to-use cart with quantity management
- Secure Checkout: Multiple payment options with order tracking
- Order History: Track past orders and reorder favorites
- Delivery/Pickup: Choose between delivery or farm pickup
- Dark/Light Mode: Automatic theme switching based on system preferences
- Multi-language Support: Available in multiple languages
- Responsive Design: Optimized for all screen sizes
- Offline Capability: Browse previously viewed products offline
- React Native with Expo for cross-platform development
- TypeScript for type safety
- React Navigation for smooth navigation
- React Native Reanimated for fluid animations
- NativeWind for styling
- Custom Design System with consistent components
- Vector Icons from Expo
- Gesture Handler for intuitive interactions
- React Context for theme and cart management
- Async Storage for offline data persistence
- Metro Bundler for fast development
- TypeScript for type checking
- ESLint for code quality
- Node.js (v16 or higher)
- npm or yarn
- Expo CLI
-
Clone the repository
git clone https://github.com/siddharth10ss/Farm_Connect.git cd Farm_Connect -
Install dependencies
npm install # or yarn install -
Start the development server
npm start # or expo start -
Run on your device
- Scan the QR code with the Expo Go app
- Or press
afor Android emulator - Or press
ifor iOS simulator
FarmConnect-Mobile/
βββ src/
β βββ components/ # Reusable UI components
β βββ contexts/ # React Context providers
β βββ hooks/ # Custom React hooks
β βββ navigation/ # Navigation configuration
β βββ screens/ # Screen components
β βββ theme/ # Design tokens and themes
β βββ utils/ # Utility functions
βββ components/ # Additional components
βββ guidelines/ # Development guidelines
βββ styles/ # Global styles
βββ app.json # Expo configuration
βββ App.tsx # Main app component
βββ package.json # Dependencies and scripts
- Splash Screen - App loading and initialization
- Language Selection - Multi-language onboarding
- Onboarding - Feature introduction
- Authentication - Login and registration
- Home Screen - Product browsing and search
- Product Detail - Detailed product information
- Cart Screen - Shopping cart management
- Profile Screen - User account management
- Chat Screen - Farmer communication
- Order Summary - Checkout and order review
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Download the app from app stores
- Create a farmer profile with verification
- List your products with photos and descriptions
- Set prices and availability
- Connect with customers directly
- Download the app from app stores
- Browse local farmers and fresh produce
- Add items to cart and checkout securely
- Track your orders
- Rate and review farmers
npm start- Start the development servernpm run android- Run on Androidnpm run ios- Run on iOSnpm run web- Run on web browser
Create a .env file in the root directory:
EXPO_PUBLIC_API_URL=your_api_url
EXPO_PUBLIC_GOOGLE_MAPS_KEY=your_google_maps_key- Unit tests:
npm test - E2E tests:
npm run test:e2e - Linting:
npm run lint
expo publisheas buildeas submitWe welcome contributions! Please see our Contributing Guidelines for details.
- π Report bugs
- π‘ Suggest features
- π Improve documentation
- π§ Submit pull requests
- π Add translations
This project is licensed under the MIT License - see the LICENSE file for details.
- shadcn/ui for the beautiful component library
- Expo team for the amazing development platform
- React Native community for continuous support
- Farmers who inspire this project
- Open source contributors who made this possible
- Documentation: Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@farmconnect.com
- Website: https://farmconnect.com
- Privacy Policy: Privacy Policy
- Terms of Service: Terms
Made with β€οΈ for farmers and consumers
FarmConnect Mobile - Connecting farms to families