React Native mobile application built with Expo SDK 57 for vineyard management across Android and iOS.
- Framework: Expo 57 + React Native 0.86
- Navigation: Expo Router (file-based routing)
- Backend: Supabase
- Data Fetching: TanStack React Query
- Styling: Inline styles + theme tokens (
src/styles/theme.ts) - State Management: Zustand
- Maps: React Native Maps + Expo Location
- Node.js (Latest LTS)
- npm or yarn
- A development build / dev client on your device or emulator. Expo Go is not supported — this app uses native modules (
@expo/ui, Compose navigation) that require a custom dev client (npx expo run:android/npx expo run:ios, or an EAS build).
- Clone the repository
- Install dependencies:
npm install
- Create a
.envfile based on.env.exampleand fill in your Supabase credentials.
# Start development server
npm start
# Run on specific platform
npm run ios
npm run android
npm run webvinesight-rn/
├── app/ # Expo Router pages (Navigation)
│ ├── (auth)/ # Auth screens
│ ├── (tabs)/ # Main tab screens (Dashboard, Farms, etc.)
│ └── _layout.tsx # Root layout
├── src/
│ ├── components/ # Reusable UI components
│ ├── hooks/ # Custom React hooks
│ ├── i18n/ # Localization strings (EN, HI, MR)
│ ├── lib/ # Library configurations (Supabase client)
│ ├── stores/ # Zustand stores
│ ├── types/ # TypeScript types
│ ├── utils/ # Utility functions
│ └── styles/ # Design system tokens
├── __tests__/ # Jest unit tests (components, i18n)
├── supabase/
│ └── migrations/ # Supabase SQL migration files
├── assets/ # Static assets
└── metro.config.js # Metro bundler config
- AI Chat Assistant: Farming advice powered by OpenAI GPT-4o.
- Weather Tracking: Agricultural weather data per farm.
- Activity Logs: Comprehensive view of farming activities.
- Attendance Tracking: Worker attendance management.
- Task Management: Farm-specific tasks and scheduling.
- Monitoring: Water level monitoring and lab test tracking.
- Explore Screen: Dedicated Farms and Warehouse panes with per-tab filter chips and animated search expansion. Farm cards show a visual pruning-to-harvest timeline with milestone dots, day counter, harvest estimate, and urgency accent when water balance is low. Farms needing attention sort to the top.
- Seasonal Water Use: Farm detail screen shows running water total vs. season budget for the active season.
- Farm Ordering: Farms can be manually reordered and the order persists across sessions.
- Linting:
npm run lint - Type Checking:
npm run typecheck - Testing:
npm run test - Version: Current version is tracked in
VERSION(semver formatX.Y.Z.W).
- CONTEXT.md — Core concepts (Activity stack, rollback semantics)
- TODOS.md — Open work items and backlog
- docs/product-roadmap.md — Product phases and epics
- CHANGELOG.md — Release history
- Source of truth is now Supabase tables (
chemical_mixes,chemical_mix_components,chemical_phi_rules,chemical_products). - Local JSON master files and seed/validation scripts were removed from this repo.
- For fresh local/CI/staging environments, load a catalog snapshot into Supabase before running the app.
- If you do not have a snapshot, request one from the team owning the production catalog data.