Argonova

byNoor

ArgoNova — Product Requirements Document (PRD) 1. Project Overview Product Name ArgoNova Tagline Future of Smart Farming Product Type Futuristic Smart Agriculture Web Application Project Category Community Service Project (CSP) Platform Web Application Mobile Responsive Target Users Farmers Terrace Gardeners Home Growers Small-Scale Vegetable Growers Agriculture Learners --- 2. Problem Statement Many farmers and home growers lack: proper crop rotation guidance, soil health awareness, disease prevention knowledge, modern farming insights, easy access to smart agriculture tools. Traditional agriculture information is often: scattered, difficult to understand, not personalized, not visually engaging. ArgoNova aims to solve these problems through a futuristic digital smart farming platform. --- 3. Project Vision To create a visually immersive and intelligent agriculture platform that combines: smart farming assistance, modern technology, sustainable agriculture awareness, and user-friendly digital experiences. The application should feel like a modern premium agri-tech startup product instead of a basic student project. The visual identity should avoid: excessive neon glow, cyberpunk RGB effects, overly saturated green themes, childish futuristic styling. The interface should instead focus on: cinematic realism, earthy luxury aesthetics, elegant modern UI, atmospheric environmental visuals, premium presentation quality. --- 4. Core Objectives Primary Objectives Help users make smarter crop decisions. Improve soil awareness. Provide disease prevention guidance. Support home gardening and terrace farming. Deliver a modern digital agriculture experience. Secondary Objectives Promote sustainable farming. Increase farming awareness. Improve agricultural accessibility. Encourage technology adoption in farming. --- 5. Key Features 5.1 Cinematic Landing Page Features Fullscreen hero section Futuristic agri-tech design Animated gradients Floating particles Glassmorphism UI Smooth animations Language selection Technologies React Framer Motion Tailwind CSS Three.js --- 5.2 Authentication System Features User Signup User Login Session Persistence Protected Dashboard Access User Fields Full Name Email Password Village Farm Size User Type Preferred Language Soil Type Backend Supabase Authentication --- 5.3 Dashboard Dashboard Components Dashboard Personalization The dashboard should personalize content based on: user location, user type, farming interests, preferred language, soil type. Supported User Types: Farmer Home Grower Terrace Gardener Indoor Grower The onboarding system should collect: Full Name Email Address Mobile Number Village / Area Name State Farm / Growing Area Size Preferred Language Soil Type Primary Farming Interest Personalized greeting Weather widget Farm health score Crop recommendation preview Animated analytics cards Irrigation indicators Recommendation history UI Style Holographic cards Neon glow effects Animated charts Responsive design --- 5.4 Crop Rotation Planner Inputs Previous Crop Soil Type Season Supported Soil Types Black Soil Red Soil Sandy Soil Clay Soil Supported Seasons Kharif Rabi Zaid Outputs Recommended next crop Fertilizer suggestions Water requirements Sustainability insights Soil recovery guidance Logic Type Rule-based recommendation system. --- 5.5 Soil Health System Features Soil nutrient information pH indication Suitable crop suggestions Fertilizer guidance Irrigation advice Visualization Animated charts Nutrient indicators Interactive UI cards --- 5.6 Disease Guide System Inputs Crop Name Visible Symptom Outputs Disease name Causes Prevention methods Treatment suggestions Fertilizer recommendations Data Type Predefined agriculture dataset. Important Note No machine learning implementation in initial version. --- 5.7 Farm Health Score Factors Used Soil quality Crop diversity Irrigation efficiency Fertilizer balance Outputs Overall farm score Farming insights Improvement suggestions Visualization Circular animated progress indicators Analytics dashboard Futuristic graphs --- 5.8 Home Garden Mode Supported Modes Balcony Gardening Terrace Farming Indoor Gardening Features Small-space crop recommendations Water reminders Sunlight guidance Plant growth tracking Plant care support --- 5.9 Learning Center Features Farming tutorials Educational videos Seasonal farming tips Organic farming education Sustainable agriculture awareness --- 5.10 Live Features APIs Weather API Agriculture news API Crop market price API Features Live weather updates Market price analytics Agriculture news cards --- 6. Multilingual Support Supported Languages English Telugu Hindi Tamil Kannada Language System Requirements Full multilingual UI support Dynamic language switching Store preferred language in user profile Translate dashboard labels, navigation, forms, alerts, and recommendation outputs Responsive multilingual typography support Future-ready scalable translation architecture --- 7. Technical Stack Frontend React Vite Tailwind CSS Framer Motion React Router Three.js React Three Fiber Backend Supabase Database PostgreSQL (via Supabase) Deployment Vercel --- 8. Database Structure Users Table Fields: id full_name email village farm_size user_type preferred_language soil_type created_at --- Crop History Table Fields: id user_id previous_crop recommended_crop season soil_type created_at --- Disease Reports Table Fields: id user_id crop_name symptom disease_name treatment created_at --- Garden Tracker Table Fields: id user_id plant_name watering_schedule sunlight_requirement growth_status created_at --- 9. User Flow User Journey Step 1 User opens ArgoNova landing page. Step 2 User selects language. Step 3 User creates account or logs in. Step 4 User accesses personalized dashboard. Step 5 User explores: crop planner, soil health, disease guide, farm score, home gardening tools. Step 6 System stores recommendation history. --- 10. UI/UX Requirements Design Style Cinematic Premium Immersive Responsive Modern agri-tech startup aesthetic Earth-inspired luxury interface Atmospheric visual design Visual Elements Deep charcoal backgrounds Warm soil brown accents Soft moss green highlights Subtle gold details Off-white typography Glassmorphism UI Smooth transitions Atmospheric lighting Animated particles Cinematic gradients Elegant dashboard cards Accessibility Mobile responsive Easy navigation Simple interaction flow --- 11. Non-Functional Requirements Performance Fast loading pages Optimized animations Responsive UI Reliability Stable authentication Proper validation Error handling Scalability Modular architecture Reusable components Expandable database structure --- 12. Future Enhancements Planned Future Features AI chatbot integration Image-based disease detection Voice assistant support Smart irrigation recommendations IoT integration Advanced analytics --- 13. Risks and Challenges Technical Risks Heavy animations affecting performance API rate limits Large frontend complexity Mobile optimization challenges Mitigation Modular development approach Optimized assets Controlled API usage Responsive testing --- 14. Expected Outcomes ArgoNova should: provide smart farming assistance, improve agriculture awareness, support sustainable farming, deliver a premium user experience, demonstrate modern agriculture technology integration. --- 15. Conclusion ArgoNova is designed as a futuristic smart agriculture ecosystem that combines: immersive technology, sustainable farming awareness, intelligent guidance systems, and modern user experience design. The project aims to bridge the gap between agriculture and modern digital innovation while remaining visually impressive, technically believable, and practically useful.

LandingLearning CenterCrop PlannerLoginDisease GuideSignupHome Garden
Landing

Comments (0)

No comments yet. Be the first!

Project Tasks189

#1

Implement Navbar for Landing

Backlog

As a frontend developer, implement the Navbar section for the Landing page. The component uses useState for scroll detection (setScrolled), language dropdown (langOpen, activeLang), and mobile menu (mobileOpen). Includes useEffect for scroll listener (10% viewport threshold), click-outside handler via langRef, and body overflow lock when mobile drawer opens. Renders an SVG logo with animated path draw (.nb-logo-path, .nb-logo-leaf), NAV_LINKS array mapped to anchor tags, LANGUAGES dropdown (Globe icon + ChevronDown), and a hamburger (Menu/X) icon toggle for mobile drawer. Uses lucide-react icons and sticky positioning with .nb-scrolled class on scroll.

AI 85%
Human 15%
High Priority
1 day
Frontend Developer
#52

Setup Supabase Auth Integration

To Do

As a Backend Developer, configure Supabase authentication for ArgoNova. Set up email/password auth, session persistence, protected route middleware, and user profile creation on signup. Ensure JWT tokens are properly validated and refresh tokens are handled. Configure Supabase RLS (Row Level Security) policies for all tables. Note: Frontend Login and Signup section tasks depend on this backend task being completed.

AI 60%
Human 40%
High Priority
2 days
Backend Developer
#53

Setup Database Schema Migrations

To Do

As a Backend Developer, create and apply the full PostgreSQL database schema via Supabase migrations. Tables required: users (id, full_name, email, village, farm_size, user_type, preferred_language, soil_type, created_at), crop_history (id, user_id, previous_crop, recommended_crop, season, soil_type, created_at), disease_reports (id, user_id, crop_name, symptom, disease_name, treatment, created_at), garden_tracker (id, user_id, plant_name, watering_schedule, sunlight_requirement, growth_status, created_at). Apply RLS policies for all tables. Seed initial data for diseases, crop recommendations, and soil nutrient reference data.

AI 50%
Human 50%
High Priority
2 days
Backend Developer
#62

Configure Vercel Deployment Pipeline

To Do

As a DevOps Engineer, configure the Vercel deployment pipeline for ArgoNova. Set up: production and preview deployment environments, environment variables for Supabase URL and anon key, build command (vite build), output directory (dist), custom domain configuration if applicable, and deployment hooks. Ensure CORS and Supabase allowed origins are configured correctly for the Vercel domain.

AI 40%
Human 60%
Medium Priority
0.5 days
DevOps Engineer
#72

Implement Navbar for Signup

To Do

As a frontend developer, implement the Navbar section for the Signup page. This shared component may already exist from Landing, Login, Dashboard, or Learning Center pages. It uses four useState hooks: scrolled (threshold at 10% viewport height via scroll listener), langOpen (language dropdown toggle), activeLang (default 'en'), and mobileOpen (mobile drawer state with body overflow lock). Renders an SVG logo with nb-logo-path (circular) and nb-logo-leaf (sprout accent) paths, desktop NAV_LINKS list (Features→/Dashboard, Learn→/Learning Center, About→/Soil Health, Pricing→/Crop Planner), a Globe+ChevronDown language switcher dropdown with LANGUAGES array (en, hi, ta, te) and langRef click-outside detection via useEffect+useRef, and a Menu/X hamburger toggling mobile drawer. useCallback wraps handleLangSelect. CSS applies nb-scrolled class with backdrop-filter blur and hides desktop nav below breakpoint.

AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#77

Learning Center Content API

To Do

Build Supabase backend for Learning Center content: tutorials, video resources, and seasonal tips. Create `learning_resources` table (id, title, type ENUM('tutorial','video','tip'), content_body, thumbnail_url, tags TEXT[], season ENUM('spring','summer','autumn','winter','all'), language VARCHAR(5), published_at TIMESTAMPTZ, view_count INT). Seed with 20+ multilingual entries (en/hi/ta/te/kn). Expose RPC `get_learning_resources(p_language, p_season, p_type, p_limit)` returning paginated results. Apply RLS: public read, authenticated write. Create Edge Function `track-resource-view` to increment view_count atomically.

AI 50%
Human 50%
Medium Priority
1 day
Backend Developer
#78

Learning Center Frontend ↔ Content API Integration

To Do

Wire LearningCenterHero and LearningCenterSeasonalTips sections to the Learning Center Content API. In LearningCenterHero: call `get_learning_resources` on mount with current i18n language and active season, render resource cards with skeleton loaders during fetch, handle empty state with illustrated placeholder. In LearningCenterSeasonalTips: filter by current season (derive from JS Date month), display up to 6 seasonal tips with AnimatePresence card transitions. Connect `track-resource-view` Edge Function on card click/expand. Ensure language switcher re-fetches with new locale.

AI 50%
Human 50%
Medium Priority
1 day
Tech Lead
#79

Live Data Aggregator API (Weather, Agriculture News, Crop Market Prices)

To Do

Build Edge Functions to proxy and cache third-party live data feeds per SRD §5.10. (1) `fetch-weather`: calls OpenWeatherMap API with user's lat/lng from profile, caches result in `weather_cache` table (user_id, data JSONB, fetched_at) for 30 min TTL. (2) `fetch-agri-news`: calls NewsAPI with agriculture keyword, caches in `news_cache` (data JSONB, fetched_at) for 2h TTL — no auth required. (3) `fetch-market-prices`: calls data.gov.in Agmarknet API or mock fallback, caches in `market_price_cache` (commodity, data JSONB, fetched_at) for 1h TTL. Create DB tables for each cache. Expose unified RPC `get_live_dashboard_data(p_user_id)` that returns merged { weather, news, market_prices } pulling from cache first.

AI 50%
Human 50%
Medium Priority
1 day
Backend Developer
#80

Dashboard Live Data Widget Integration

To Do

Connect DashboardHero and DashboardFarmScore sections to the Live Data Aggregator API. On Dashboard mount, call `get_live_dashboard_data` with authenticated user ID. Display weather widget (temperature, condition icon, location name) in DashboardHero top-right. Render agriculture news carousel (3 cards, auto-scroll every 5s) below farm score. Show crop market price table (commodity, price/quintal, trend arrow) in a collapsible panel. All widgets show skeleton loaders during fetch and graceful 'Data unavailable' states on API failure. Implement 30-min client-side polling with useEffect cleanup.

AI 50%
Human 50%
Medium Priority
1 day
Tech Lead
#81

Signup Flow Integration — Persona Selection to Profile

To Do

Wire the SignupForm persona selection step to Supabase Auth and the `profiles` table. After Supabase `signUp()` succeeds, insert a row into `profiles` with { user_id, full_name, user_type: selectedPersona ('farmer'|'home_grower'|'researcher') } via RPC `create_user_profile`. On success, dispatch to global state (Zustand/Context) setting `user.persona`. Redirect to `/dashboard` with React Router. Handle edge cases: (1) signUp succeeds but profile insert fails → show 'Setup incomplete' toast and retry button calling only the insert; (2) email already registered → surface Supabase error as inline field error; (3) persona not selected → block form submission with validation. Ensure i18n error messages for all three locales (en/hi/ta).

AI 50%
Human 50%
Medium Priority
1 day
Tech Lead
#82

EmailJS Contact & Notification Integration

To Do

Integrate EmailJS across all contact and notification touchpoints. Configure EmailJS service with environment variables (VITE_EMAILJS_SERVICE_ID, VITE_EMAILJS_TEMPLATE_ID, VITE_EMAILJS_PUBLIC_KEY). Implement `useEmailJS` custom hook exposing `sendEmail(templateParams)` with loading/error/success state. Wire to: (1) Landing page contact/demo request form — send lead notification to admin; (2) Booking confirmation — send appointment confirmation to user email; (3) Disease Guide 'Report Sighting' form — send report to admin. All sends are fire-and-forget with optimistic UI (show success immediately, log failure silently to console). Add rate-limit guard: max 3 sends per session per form to prevent spam.

AI 50%
Human 50%
Medium Priority
1 day
Frontend Developer
#83

Performance Optimization & PWA Setup

To Do

Implement performance baseline and PWA capabilities. (1) Code splitting: add React.lazy + Suspense for each page route in App.jsx — Landing, Dashboard, CropPlanner, SoilHealth, DiseaseGuide, HomeGarden, LearningCenter load as separate chunks. (2) Image optimization: convert all static images to WebP with <picture> fallback; add `loading='lazy'` to all below-fold images. (3) PWA: add vite-plugin-pwa with manifest (name: 'ArgoNova', theme_color: '#2D6A4F', icons at 192/512px), configure Workbox for cache-first strategy on static assets and network-first for API calls. (4) Web Vitals: integrate `web-vitals` package, log CLS/LCP/FID to console in dev and to Supabase `performance_logs` table in prod. Target: LCP <2.5s, CLS <0.1 on mobile.

AI 50%
Human 50%
Medium Priority
1 day
Frontend Developer
#84

Global Error Boundary & Toast Notification System

To Do

Implement app-wide error handling infrastructure. (1) React ErrorBoundary component wrapping each page route — catches render errors, displays illustrated fallback UI ('Something went wrong') with 'Go Home' and 'Retry' buttons, logs error + componentStack to Supabase `error_logs` table. (2) Toast notification system: build `useToast` hook backed by Zustand slice with queue (max 3 visible), auto-dismiss after 4s, types: success/error/warning/info with matching icons and `.ag-toast-*` CSS classes. Animate in/out with Framer Motion (slide from bottom-right). (3) Wire existing integration tasks to use `useToast` for all API error/success feedback instead of inline state. Ensure toasts are screen-reader accessible (role='alert', aria-live='polite').

AI 50%
Human 50%
Medium Priority
1 day
Frontend Developer
#85

Implement LandingHero for Landing

To Do

As a frontend developer, implement the LandingHero section for the Landing page. This section features a full-viewport 3D galaxy star visualization using @react-three/fiber Canvas with a custom GalaxyStars component. The GalaxyStars renders 14 spherical mesh stars arranged on a spiral (angle = t * Math.PI * 4, radius = 2 + t * 8) with colors from ['#F2B134', '#FFDD57', '#D95F5F', '#4F6B73', '#ffffff']. Stars pulse via useFrame with sin-wave scale animation (1.5Hz + per-star phase offset), rotate as a group at 0.08 rad/s with scroll-boosted speed (scrollProgress * 0.12), and respond to onPointerOver with 1.6x hover scale and emissiveIntensity boosted to 2.5. BufferGeometry connection lines are drawn between adjacent stars. The 2D overlay uses framer-motion AnimatePresence for headline, subheadline, and dual CTAs. useRef + useState track hoveredIdx and scrollProgress. meshStandardMaterial with emissive color used on all star meshes. LandingHero.css handles viewport sizing. Mobile: stack layout, reduced star count or canvas size.

AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#86

Implement LandingGalaxyMap for Landing

To Do

As a frontend developer, implement the LandingGalaxyMap section for the Landing page. This 3D interactive feature map uses @react-three/fiber Canvas with OrbitControls and Line from @react-three/drei. Six FEATURES nodes (Crop Planner, Soil Health, Disease Guide, Learning Center, Home Garden, Farm Dashboard) are rendered as 3D spheres with distinct colors (#F2B134, #4F6B73, #D95F5F, #FFDD57, #6BCB77, #A78BFA). Ten CONNECTIONS pairs draw Line components between nodes. Clicking a node triggers AnimatePresence detail panel via framer-motion showing feature name, desc, and benefits array. useState tracks selectedFeature and hovered node. useFrame animates node rotation/float. THREE.js used for positioning logic. LandingGalaxyMap.css handles section layout and panel overlay. Mobile: OrbitControls touch-enabled, panel shown below canvas.

AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#87

Implement LandingValueProposition for Landing

To Do

As a frontend developer, implement the LandingValueProposition section for the Landing page. Renders four FlipCard components driven by VALUE_PROPS array (Smart Crop Recommendations, Soil Health Monitoring, Disease Prevention, Learning & Growth). Each FlipCard uses framer-motion animate rotateY between 0 and 180 degrees (0.5s ease) triggered by click/hover via useState flipped flag. Front face shows lucide-react icon (Sprout, HeartPulse, ShieldCheck, BookOpen) with title and desc. Back face shows benefits array as bullet list. cardVariants stagger with delay: i * 0.15. useInView from framer-motion gates the entrance animation. iconColor variants: teal, coral, amber, gold map to CSS classes. headerVariants animate the section headline in. LandingValueProposition.css handles perspective, card-inner transform-style: preserve-3d, and 2-column grid (mobile: 1-column).

AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#88

Implement LandingUserPersonas for Landing

To Do

As a frontend developer, implement the LandingUserPersonas section for the Landing page. Renders four persona tabs (Farmer, Home Grower, Terrace Gardener, Agriculture Learner) using useState activePersona. Each persona has a custom inline SVG icon (plant/house/terrace/book shapes with stroke-based paths), name, description, and useCase string. AnimatePresence from framer-motion handles persona panel transitions. useMemo derives the active persona object. useCallback wraps the tab selection handler. Tabs are horizontally scrollable on mobile. Active tab highlights with primary color accent. The panel shows icon, name, description, and useCase in a card layout. LandingUserPersonas.css handles tab row, active indicator underline, and panel card styling. Mobile: full-width tabs scroll horizontally.

AI 88%
Human 12%
Medium Priority
1 day
Frontend Developer
#89

Implement LandingFeatures for Landing

To Do

As a frontend developer, implement the LandingFeatures section for the Landing page. Renders six feature cards from FEATURES array (Personalized Crop Recommendations, Soil Health Tracking, Disease Detection, Watering Reminders, Small-Space Gardening, and one more). Each card has a gradient background (gradientStart + gradientEnd per card: e.g. #2A3D45→#4F6B73, #D95F5F→#E88A8A, #F2B134→#FFDD57), inline SVG icon with stroke color matched to gradient contrast, title, description, and href link. useRef + useInView from framer-motion trigger staggered card entrance animations. Cards link to respective internal routes (/Crop Planner, /Soil Health, /Disease Guide, /Home Garden). LandingFeatures.css handles 3-column grid (tablet: 2-col, mobile: 1-col) with hover lift effect. motion.div wraps each card.

AI 90%
Human 10%
High Priority
1 day
Frontend Developer
#90

Implement LandingCropPlanner for Landing

To Do

As a frontend developer, implement the LandingCropPlanner section for the Landing page. This is an interactive crop recommendation demo with three useState selectors: soilType (8 SOIL_TYPES), climate (6 CLIMATES), and previousCrop (11 PREVIOUS_CROPS). RECOMMENDATIONS_DB maps soil types to arrays of crop recommendation objects (name, emoji, score, season, desc, traits[]). REGIONS maps soil types to region names. ChevronLeft/ChevronRight from lucide-react enable paginated browsing of recommendations (3 per page). AnimatePresence handles card swap animations. useInView gates section entrance. Each recommendation card shows: emoji, name, score badge, season tag, desc, and traits[] as chips. Sprout, Leaf, Droplets, Sun, Search icons from lucide-react used in UI. ArrowRight used in CTA. LandingCropPlanner.css handles selector row, recommendation grid, score badge color (score > 90: green, > 80: amber, else red), and pagination controls. Mobile: selectors stack vertically, single recommendation column.

AI 88%
Human 12%
High Priority
1.5 days
Frontend Developer
#91

Implement LandingTestimonials for Landing

To Do

As a frontend developer, implement the LandingTestimonials section for the Landing page. Renders a 3D carousel of four testimonial cards (Ravi Krishnamurthy/Paddy Farmer, Meera Joshi/Home Grower, Anil Sharma/Terrace Gardener, Priya Nair/Agriculture Learner). useState activeIndex tracks the current card. getRelativePosition computes diff = index - activeIndex with wrap-around logic (±total/2 boundary). getCardTransform maps position (0=center, ±1=side, 2=hidden) to {x, scale, opacity, zIndex, rotateY} — center card at scale 1.05, side cards at x: ±180px scale 0.92 opacity 0.55 rotateY ±6deg. useEffect with setInterval auto-advances carousel every 4s. useCallback wraps prev/next handlers. StarIcon SVG renders 5-star ratings. Each card shows: initials avatar (avatarClass per persona), name, role, text, star rating. AnimatePresence handles card enter/exit. LandingTestimonials.css handles perspective container, card absolute positioning, and mobile offset reduction (x: ±90px).

AI 88%
Human 12%
Medium Priority
1 day
Frontend Developer
#92

Implement LandingCTA for Landing

To Do

As a frontend developer, implement the LandingCTA section for the Landing page. Features a magnetic CTA button with useRef btnRef and useState magnetOffset ({x, y}) + isMagnetic. onMouseMove handler computes distance from button center; if dist < 80px, applies dx*0.4/dy*0.4 translate offset via framer-motion animate prop. onMouseLeave resets offset. handlePrimaryClick triggers a particle burst: generateParticles(24) creates 24 particles with random angle, distance 60–160px, size 4–10px, colors from ['#F2B134','#FFDD57','#D95F5F','#4F6B73','#2A3D45'], cleared after 900ms via setTimeout. useState particles array drives AnimatePresence particle elements. useInView with margin '-80px' gates contentVariants entrance (opacity 0→1, y 40→0, staggerChildren 0.12). childVariants applied to headline, subheadline, and button children. lc-gradient-bg div provides animated gradient background. lc-deco-bg with CSS var(--scroll) parallax at -0.2x. lc-orb decorative elements. LandingCTA.css handles orb blur effects, particle absolute positioning, and responsive centering.

AI 88%
Human 12%
High Priority
1.5 days
Frontend Developer
#93

Implement Footer for Landing

To Do

As a frontend developer, implement the Footer shared component for the Landing page (to be reused across all pages). Renders four linkColumns (Product, Company, Resources, Legal) each with title and links[] array using motion.div with columnVariants (staggered delay i*0.12, y: 30→0). socialIcons array renders four SVG icons (LinkedIn, Twitter, Facebook, Instagram) as stroke-based inline SVGs with hover color transitions. useInView from framer-motion triggers columnVariants and bottomVariants (y: 20→0). Bottom bar shows copyright and brand name. Footer.css handles 4-column grid layout (tablet: 2-col, mobile: 1-col), social icon row with gap, divider border, and link hover states using secondary color (#33A1FF). Note: this shared component will be imported by all subsequent pages — generate as sections/Footer.jsx.

AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#106

Optimize Three.js Mobile Performance

To Do

As a Frontend Developer, audit and optimize all Three.js / React Three Fiber Canvas components across ArgoNova for mobile performance. Tasks: (1) Clamp `dpr` to `[1, 1.5]` on all Canvas instances to reduce pixel overdraw on high-DPI mobile screens; (2) reduce particle counts by 50% when `window.innerWidth < 768` using a `useMobileParticleCount` hook; (3) add `frameloop='demand'` to non-animated (static-model) Canvases to stop unnecessary RAF; (4) wrap all Canvas/R3F sections in `<Suspense>` with a lightweight CSS spinner fallback; (5) add `performanceregression` guard: if FPS drops below 30 for 3 consecutive seconds, hide the Canvas and show a static fallback image. Applies to: LandingHero, LandingGalaxyMap, SignupForm, SignupSocialProof, HomeGardenGrowthTracker, and all Soil Health 3D sections.

AI 65%
Human 35%
Medium Priority
2 days
Frontend Developer
#110

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#111

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#112

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#113

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#114

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#115

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#116

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#117

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#118

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#119

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#120

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#121

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#122

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#123

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#124

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#125

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#126

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#127

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#128

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#129

Deploy develop branch to stage

Cancelled

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#130

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#131

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#132

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#133

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#134

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#135

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#136

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#137

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#138

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#139

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#140

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#141

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#142

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#152

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#153

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#154

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#155

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#156

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#157

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#158

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#159

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#160

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#161

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#162

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#163

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#164

Deploy develop branch to stage

To Do

Deploy the current develop branch to the stage environment for this product. Do not implement code changes.

AI 100%
Human 0%
High Priority
1 day
DevOps Engineer
#166

Implement Navbar for Landing

To Do

As a frontend developer, implement the Navbar section for the Landing page. Build the `Navbar` component using `useState` for `scrolled`, `langOpen`, `activeLang`, and `mobileOpen` states, and `useRef` for `langRef`. Implement scroll-based class toggling (`nb-root`/`nb-scrolled`) via a passive `scroll` event listener tied to 10% viewport height threshold. Render the Argonova SVG logo with animated `nb-logo-path` and `nb-logo-leaf` paths. Map over `NAV_LINKS` array (Features, Learn, About, Pricing) to render desktop nav links. Implement a language switcher dropdown (Globe icon + ChevronDown) using the `LANGUAGES` array (en, hi, ta, te) with click-outside detection via `mousedown` listener on `langRef`. Add a mobile hamburger menu (Menu/X icons from lucide-react) that locks `document.body.overflow` when open. Note: this component may already exist from a previous page implementation.

AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#176

Integrate Crop Planner API

To Do

As a Tech Lead, verify the end-to-end integration between the CropPlannerForm frontend implementation (task 63bc0d4d) and the Crop Planner Recommendations API (task db2f2f3f). Ensure data flows correctly from form submission through the Supabase RPC to the recommendation display, API responses are handled properly in the UI including error states, and results are saved to crop_history for the authenticated user. Note: This task depends on both the frontend CropPlannerForm task (63bc0d4d) and the Crop Planner Recommendations API (db2f2f3f).

AI 60%
Human 40%
High Priority
1 day
Tech Lead
#177

Integrate Garden Tracker Realtime

To Do

As a Tech Lead, verify the end-to-end integration between the HomeGardenGrowthTracker frontend section (task bd51db6a) and the Garden Tracker CRUD API (task 4e97c8f7) with Supabase Realtime (task 94b7918d). Confirm: (1) growth metrics are fetched from garden_tracker on mount; (2) Realtime subscription reflects updates without manual refresh; (3) 3D growth visualization responds to live data changes; (4) carousel snapshots and milestones are populated from persisted data.

AI 55%
Human 45%
Medium Priority
1 day
Tech Lead
#178

Integrate Soil Health Header

To Do

As a Tech Lead, verify end-to-end integration between the SoilHealthHeader frontend section (task b617c4fa) and the User Profile API (task d9cde3a8). Confirm: (1) location label ('Krishnagiri, Tamil Nadu') is populated from the authenticated user's village/region in their profile; (2) refresh button triggers a re-fetch of soil health data via the Soil Health Data API (task 77628a9b); (3) last-updated timestamp reflects the actual last data fetch time stored in Supabase.

AI 50%
Human 50%
Low Priority
0.5 days
Tech Lead
#179

Integrate Disease Guide Categories

To Do

As a Tech Lead, verify end-to-end integration between the DiseaseGuideCategories frontend section (task be2a55b4) and the Disease Guide Data API (task 844f6d82). Confirm: (1) category tabs (Fungal, Bacterial, Viral, Nutritional Deficiency, Pest Damage) correctly filter the disease_reference dataset via Supabase RPC when a tab is selected; (2) the active tab filter is passed as a parameter to DiseaseGuideGrid; (3) tab state persists when navigating between Disease Guide sections.

AI 55%
Human 45%
Medium Priority
0.5 days
Tech Lead
#180

Integrate Seasonal Tips API

To Do

As a Tech Lead, verify end-to-end integration between the LearningCenterSeasonalTips frontend section (task 45b3c7ac) and the Learning Center Content API (task e66b46e2). Confirm: (1) seasonal tips are fetched from learning_resources table filtered by current season derived from JS Date month; (2) language switcher triggers re-fetch with new locale parameter; (3) tip cards render with AnimatePresence transitions using live data; (4) empty state is shown gracefully when no tips exist for the current season in the selected language.

AI 55%
Human 45%
Medium Priority
0.5 days
Tech Lead
#181

Integrate Signup Social Proof

To Do

As a Tech Lead, verify end-to-end integration between the SignupSocialProof frontend section (task 68a0f0ca) and the User Profile API (task d9cde3a8). Confirm: (1) the stat counters (10,000+ Farmers, 150+ Crop varieties, 28 States, 97% satisfaction) can optionally be fetched from a Supabase aggregate query or remain static as defined in the SRD; (2) after successful signup, the new user count increments are reflected; (3) the section correctly reflects authenticated vs unauthenticated state to show appropriate CTA.

AI 40%
Human 60%
Low Priority
0.5 days
Tech Lead
#182

Integrate Plant Grid CRUD

To Do

As a Tech Lead, verify end-to-end integration between the HomeGardenPlantGrid frontend section (task 2d08d923) and the Garden Tracker CRUD API (task 4e97c8f7). Confirm: (1) plant list is fetched from garden_tracker on mount for authenticated user; (2) Plus button triggers create plant flow persisting to Supabase; (3) Trash2 delete button calls delete RPC with confirmation; (4) Eye view button opens growth detail using plant ID; (5) skeleton loaders shown during fetch; (6) empty state displayed for new users with no plants.

AI 60%
Human 40%
High Priority
1 day
Tech Lead
#183

Integrate Crop History API

To Do

As a Tech Lead, verify end-to-end integration between the DashboardCropRotation frontend section (task 69fedd92) and the Crop History API (task 6f610fdb). Confirm: (1) crop_history rows are fetched for the authenticated user on mount using get_crop_history RPC; (2) past vs. next crop type flags render correctly; (3) Supabase Realtime subscription (task 94b7918d) reflects new entries when a crop plan is saved via Crop Planner; (4) accordion expand/collapse animations work with live data; (5) empty state shown for new users.

AI 60%
Human 40%
High Priority
1 day
Tech Lead
#184

Configure Vercel SPA Routing

To Do

As a DevOps Engineer, ensure vercel.json is configured with rewrite rules so all SPA routes (/, /Login, /Signup, /Dashboard, /Crop Planner, /Soil Health, /Disease Guide, /Home Garden, /Learning Center) resolve to /index.html for client-side React Router handling. Verify 404 fallback behavior. Confirm build output directory is 'dist' and Node version is 18.x. This task complements Configure Vercel Deployment Pipeline (task d77683f9) and Configure Vercel Environment Variables (task a126a90b).

AI 30%
Human 70%
High Priority
0.5 days
DevOps Engineer
#185

Build Crop Planner Edge Function

To Do

As a Backend Developer, implement the Supabase Edge Function `get-crop-recommendation` that accepts { previous_crop, soil_type, season, user_id } parameters, queries the crop_rotation_rules reference table for matching recommendations, and returns { recommended_crop, fertilizer_notes, water_req, sustainability_insights, soil_recovery_guidance }. Saves result to crop_history table. Applies JWT validation via shared supabaseAdmin helper. Returns structured error responses for no-match scenarios. This is the Edge Function implementation backing the Crop Planner Recommendations API (task db2f2f3f). Depends on Setup Supabase Edge Functions (task 351036e4) and Seed Reference Data (task 532c4de0).

AI 65%
Human 35%
High Priority
2 days
Backend Developer
#186

Build Farm Score RPC

To Do

As a Backend Developer, implement the Supabase RPC `calculate_farm_score(p_user_id UUID)` that computes the overall farm health score (0-100) and sub-metrics (Soil Health, Crop Rotation Compliance, Disease Prevention). Inputs derived from: soil_health data for the user's soil_type, crop_history diversity and recency, disease_reports frequency. Returns { overall_score, sub_metrics: [{name, score}], farming_insights[], improvement_suggestions[] }. This is the RPC implementation for the Farm Score Calculation API (task cb5fb3ba). Depends on Setup Supabase Schema (task d27d6f59) and Seed Reference Data (task 532c4de0).

AI 65%
Human 35%
High Priority
2 days
Backend Developer
#187

Integrate Garden Hero Mode

To Do

As a Tech Lead, verify end-to-end integration between the HomeGardenHero frontend section (task f76ac929) and the User Profile API (task d9cde3a8). Confirm: (1) selected garden mode (terrace/home/apartment) is persisted to user profile via update_profile RPC on selection; (2) on page load, the stored garden_type from the user profile pre-selects the correct mode pill; (3) the HomeGardenModeSelector section (task 0acf94bb) reflects the same persisted mode; (4) unauthenticated users can still toggle modes but no persistence occurs.

AI 55%
Human 45%
Medium Priority
0.5 days
Tech Lead
#188

Integrate Dashboard Sidebar Routes

To Do

As a Tech Lead, verify end-to-end integration between the DashboardSidebar frontend section (task 2cbfa136) and the React Router Protected Routes setup (task ab532a76). Confirm: (1) all sidebar nav links (Dashboard, Crop Planner, Soil Health, Disease Guide, Home Garden, Learning Center) use React Router Link components and navigate correctly without full page reload; (2) active link state highlights the current route correctly; (3) mobile drawer closes after navigation; (4) unauthenticated users are redirected to /Login when accessing any sidebar-linked protected route.

AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
#189

Integrate Soil Health Trends

To Do

As a Tech Lead, verify end-to-end integration between the SoilHealthTrends frontend section (task ecac8826) and the Soil Health Data API (task 77628a9b). Confirm: (1) time range selector (3m/6m/12m) triggers a re-fetch via Supabase RPC with the correct date range parameter; (2) nutrient trend data (N, P, K, Organic Matter) is generated from real soil_health history rows keyed to the authenticated user's soil_type; (3) Chart.js line chart renders with correct data on initial load and on time range change; (4) trendValue() and trendArrow() helpers correctly reflect directional changes from the API response.

AI 55%
Human 45%
Medium Priority
1 day
Tech Lead
#2

Implement LandingHero for Landing

Backlog

As a frontend developer, implement the LandingHero section. Uses @react-three/fiber Canvas with GalaxyStars component: 14 sphere meshes placed on a spiral (useMemo starData), useFrame for auto-rotation (groupRef.rotation.y), hover emissive glow (emissiveIntensity 0.6 to 2.5), pointer events for cursor change. THREE.BufferGeometry connection lines between adjacent stars rendered as line segments. Canvas wrapper must be sized width:100%, height:min(70vh,640px). Framer Motion AnimatePresence wraps overlay text. scrollProgress prop drives scroll-boosted rotation speed. Includes meshStandardMaterial with color, emissive, roughness, metalness per star.

Depends on:#1
Waiting for dependencies
AI 80%
Human 20%
High Priority
2 days
Frontend Developer
#3

Implement LandingGalaxyMap for Landing

Backlog

As a frontend developer, implement the LandingGalaxyMap section — the signature 3D interactive galaxy feature map. Uses @react-three/fiber Canvas with OrbitControls and Line from @react-three/drei. Six FEATURES nodes (Crop Planner, Soil Health, Disease Guide, Learning Center, Plant Tracker, Fertilizer Guide) placed as 3D sphere meshes at defined positions with unique colors. CONNECTIONS array defines edges rendered as <Line> components. Clicking a star zooms camera and opens AnimatePresence detail card via framer-motion showing feature name, desc, benefits[], and href CTA. Hovering highlights with emissive glow. Canvas scene column: min-height:420px desktop / 320px mobile. OrbitControls restricted for drag-to-rotate.

Depends on:#1
Waiting for dependencies
AI 80%
Human 20%
High Priority
2.5 days
Frontend Developer
#4

Implement LandingValueProposition for Landing

Backlog

As a frontend developer, implement the LandingValueProposition section. Renders four VALUE_PROPS as FlipCard components using framer-motion. Each FlipCard uses useState(flipped) and animates rotateY(0→180) on mouseEnter/mouseLeave via motion.div with .lvp-card-inner class. Front face shows Lucide icon (Sprout, HeartPulse, ShieldCheck, BookOpen), title, and desc. Back face shows benefits[] array as bullet list. Cards use cardVariants with staggered delay (i * 0.15) and useInView hook on section ref for scroll-triggered entrance (opacity: 0→1, y: 40→0). headerVariants animate section headline on scroll. Four iconColor variants: teal, coral, amber, gold.

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
Medium Priority
1 day
Frontend Developer
#5

Implement LandingUserPersonas for Landing

Backlog

As a frontend developer, implement the LandingUserPersonas section. Renders four PERSONAS (Farmer, Home Grower, Terrace Gardener, Agriculture Learner) as selectable cards. Uses useState for active persona selection, useCallback for click handlers, useMemo for derived display data. AnimatePresence wraps the expanded detail panel showing persona.useCase text. Each persona card has an inline SVG icon (custom path/circle/rect shapes), name, and description. Active card highlighted with accent color border. Framer-motion transitions between persona detail panels with fade + slide. Mobile: collapses to single column accordion or swipeable row.

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
Medium Priority
1 day
Frontend Developer
#6

Implement LandingFeatures for Landing

Backlog

As a frontend developer, implement the LandingFeatures section. Renders six FEATURES as motion.div cards using framer-motion useInView hook on section ref. Each card has a gradient background (gradientStart → gradientEnd via CSS custom properties), inline SVG icon with stroke color adapted per card, title, description, and link href to internal pages (/Crop Planner, /Soil Health, /Disease Guide, /Home Garden, /Dashboard, /Learning Center). Cards use staggered scroll-triggered entrance animations. Grid layout: 3 columns desktop, 2 tablet, 1 mobile. Hover state: scale and border-color shift to accent.

Depends on:#1
Waiting for dependencies
AI 87%
Human 13%
Medium Priority
1 day
Frontend Developer
#7

Implement LandingCropPlanner for Landing

Backlog

As a frontend developer, implement the LandingCropPlanner interactive demo section. Uses useState for soilType, climate, previousCrop selections and current recommendation index. SOIL_TYPES (8), CLIMATES (6), PREVIOUS_CROPS (11) arrays render as styled select dropdowns. REGIONS map derives region label from soil type. RECOMMENDATIONS_DB keyed by soil type provides crop cards with name, emoji, score (%), season, desc, traits[]. Lucide icons: Sprout, ChevronLeft, ChevronRight, ArrowRight, Leaf, Droplets, Sun, Search. AnimatePresence wraps recommendation card transitions. useInView on sectionRef triggers entrance animation. ChevronLeft/Right buttons cycle through recommendations[]. Score renders as animated progress bar. Mobile: full-width stacked layout.

Depends on:#1
Waiting for dependencies
AI 82%
Human 18%
High Priority
2 days
Frontend Developer
#8

Implement LandingTestimonials for Landing

Backlog

As a frontend developer, implement the LandingTestimonials carousel section. Three testimonials (Ravi Krishnamurthy/Farmer, Meera Joshi/Home Grower, Anil Sharma/Terrace Gardener) rendered with 3D carousel effect. Uses useState(activeIndex), useState(locked), useState(isMobile), useRef(intervalRef, dragStartX). getRelativePosition() maps index to position (-1, 0, 1, 2). getCardTransform() returns {x, scale, opacity, zIndex, rotateY} per position — center card at scale 1.05, side cards at scale 0.92 opacity 0.55, offset ±180px desktop/±90px mobile. AnimatePresence with framer-motion layout animations. Auto-advances via setInterval in useEffect. Drag events on dragStartX ref for swipe navigation. StarIcon SVG renders 5-star rating. Avatar initials with .lt-avatar--farmer/grower/gardener CSS color variants.

Depends on:#1
Waiting for dependencies
AI 83%
Human 17%
Medium Priority
1.5 days
Frontend Developer
#9

Implement LandingCTA for Landing

Backlog

As a frontend developer, implement the LandingCTA section with magnetic button and particle burst. Uses useState(magnetOffset {x,y}), useState(particles[]), useState(isMagnetic), useRef(sectionRef, btnRef), useInView(sectionRef, {once:true, margin:'-80px'}). handleMouseMove calculates dx/dy from button center; within 80px radius sets isMagnetic and magnetOffset({x: dx*0.4, y: dy*0.4}) via setMagnetOffset. handlePrimaryClick triggers generateParticles(24) — each particle has angle, distance (60-160px), size (4-10px), color from ['#F2B134','#FFDD57','#D95F5F','#4F6B73','#2A3D45'], duration. Particles clear after 900ms setTimeout. contentVariants with staggerChildren:0.12, childVariants for each text element. AnimatePresence renders particle burst. .lc-gradient-bg and .lc-deco-bg with .lc-orb elements provide animated background.

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
Medium Priority
1.5 days
Frontend Developer
#10

Implement Footer for Landing

Backlog

As a frontend developer, implement the Footer section with four linkColumns (Product, Company, Resources, Legal) and four socialIcons (LinkedIn, Twitter, Facebook, Instagram — each with inline SVG stroke paths). Uses framer-motion useInView on section ref. columnVariants animate each column with staggered delay (i * 0.12, duration 0.5). bottomVariants animate copyright row. Each linkColumn maps links[] to anchor tags with hover underline. Social icon links are circular buttons with hover color shift to accent. Footer bottom row shows copyright text with current year. Desktop: 4-column grid; mobile: stacked single column. May already exist from a previous page — check for existing Footer.jsx before recreating.

Depends on:#1
Waiting for dependencies
AI 90%
Human 10%
Low Priority
0.5 days
Frontend Developer
#11

Implement Navbar for Login

Backlog

As a frontend developer, implement the Navbar shared component for the Login page. This is the same Navbar already built for the Landing page (task 78299a81-227e-4913-bd3a-db55bb03fd56) — verify the existing sections/Navbar.jsx is reusable here without modification. The component uses useState for scrolled/langOpen/mobileOpen/activeLang, useEffect for scroll listener (threshold: 10vh), click-outside handler via langRef, and body overflow lock on mobile open. NAV_LINKS array points to /Dashboard, /Learning Center, /Soil Health, /Crop Planner. LANGUAGES array has en/hi/ta/te. Includes SVG logo with animated nb-logo-path and nb-logo-leaf, desktop nav with lucide ChevronDown language dropdown, and mobile hamburger (Menu/X icons) that opens a full-width drawer overlay. Confirm import path '../styles/Navbar.css' resolves correctly from the Login page context.

Depends on:#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#54

Build User Profile API

To Do

As a Backend Developer, implement Supabase-backed user profile CRUD operations. Endpoints/functions needed: fetch user profile by auth ID, update profile fields (full_name, village, farm_size, user_type, preferred_language, soil_type), store and retrieve preferred language. Ensure all operations are secured via RLS. Note: Dashboard personalization and Navbar language switcher frontend tasks depend on this.

Depends on:#53#52
Waiting for dependencies
AI 55%
Human 45%
High Priority
1.5 days
Backend Developer
#55

Build Crop Planner Recommendations API

To Do

As a Backend Developer, implement the crop rotation recommendation logic using a rule-based system. Accept inputs: previous_crop, soil_type (Black/Red/Sandy/Clay), season (Kharif/Rabi/Zaid). Return: recommended next crop, fertilizer suggestions, water requirements, sustainability insights, soil recovery guidance. Save recommendation to crop_history table tied to authenticated user. Expose via Supabase Edge Function or RPC. Note: CropPlannerForm frontend task depends on this API.

Depends on:#52#53
Waiting for dependencies
AI 60%
Human 40%
High Priority
2 days
Backend Developer
#56

Build Disease Guide Data API

To Do

As a Backend Developer, implement the disease guide data layer. Seed the disease_reports reference dataset with realistic Indian agriculture diseases (Late Blight, Powdery Mildew, Leaf Rust, Bacterial Wilt, etc.) including: crop_name, symptom tags, disease_name, causes, prevention, treatment, fertilizer_recommendations, severity. Expose a Supabase RPC or view for symptom-based filtering. Save user disease report queries to disease_reports table. Note: DiseaseGuideSymptomChecker, DiseaseGuideGrid, and DiseaseGuideSearch frontend tasks depend on this.

Depends on:#53#52
Waiting for dependencies
AI 55%
Human 45%
High Priority
2 days
Backend Developer
#57

Build Garden Tracker CRUD API

To Do

As a Backend Developer, implement the Garden Tracker data layer via Supabase. Support CRUD operations on garden_tracker table: create plant entry (plant_name, watering_schedule, sunlight_requirement, growth_status), update growth_status and watering data, delete plant, fetch all plants by user_id. Enforce RLS so users only access their own plants. Note: HomeGardenPlantGrid, HomeGardenGrowthTracker, and HomeGardenReminders frontend tasks depend on this.

Depends on:#53#52
Waiting for dependencies
AI 55%
Human 45%
High Priority
1.5 days
Backend Developer
#58

Build Soil Health Data API

To Do

As a Backend Developer, implement the soil health data layer. Create a soil_health reference dataset with nutrient data (N, P, K, Ca, Mg, S ppm ranges), pH ranges, and fertilizer guidance keyed by soil_type. Expose Supabase RPCs for: fetch nutrient data by soil_type, get fertilizer recommendations, get pH guidance, get trend history data. Note: SoilHealthNutrientPanel, SoilHealthpHAndMoisture, SoilHealthFertilizerGuidance, and SoilHealthTrends frontend tasks depend on this.

Depends on:#53#52
Waiting for dependencies
AI 55%
Human 45%
High Priority
2 days
Backend Developer
#60

Setup Global State Management

To Do

As a Frontend Developer, set up global state management for ArgoNova using React Context API or Zustand. Manage: authenticated user session and profile data, selected language (with persistence to localStorage and Supabase profile), user type (Farmer/Home Grower/Terrace Gardener/Learner), dashboard personalization state. Create custom hooks: useAuth(), useUserProfile(), useLanguage(). Ensure state is hydrated from Supabase session on app load and persisted across page navigations via React Router.

Depends on:#52
Waiting for dependencies
AI 55%
Human 45%
High Priority
1.5 days
Frontend Developer
#73

Implement SignupHero for Signup

To Do

As a frontend developer, implement the SignupHero section for the Signup page. Renders a Three.js/R3F Canvas with 18 FloatingParticle components, each a tetrahedronGeometry (args=[1,0]) with meshBasicMaterial color #4F6B73 and opacity 0.08–0.24. Each FloatingParticle uses a mesh useRef and useFrame to drive sinusoidal position.y (amplitude 1.6) and cosine position.x (amplitude 2.2) animations with per-particle random phase and speed (0.25–0.80). The AmbientParticles component generates particles via useMemo with startPos in [-7,7] x [-4,4] x [-3,-7] ranges. A FarmingMotif component renders a Framer Motion div (initial opacity:0 y:12, animate opacity:1 y:0, delay 0.75s) containing an SVG viewBox 260x48 with a horizontal base line, two leaf path groups (opacity 0.7/0.75), sprout stems with circle accents in #F2B134, and additional botanical decorative paths using var(--primary,#2A3D45) and var(--accent,#F2B134) fills. Headline and subtitle use Framer Motion entrance animations.

Depends on:#72
Waiting for dependencies
AI 87%
Human 13%
High Priority
1.5 days
Frontend Developer
#74

Implement SignupForm for Signup

To Do

As a frontend developer, implement the SignupForm section for the Signup page. Contains a Three.js/R3F Canvas with a ParticleField component: 60 particles in a spherical distribution (radius 3.2–4.8) using bufferGeometry with bufferAttribute positions, pointsMaterial color #2A3D45 opacity 0.55 AdditiveBlending, and useFrame driving meshRef.rotation.y at 0.06 speed with sinusoidal rotation.x. The form UI renders four PERSONAS selection cards (Farmer→Sprout icon, Home Grower→Home icon, Terrace Gardener→Building2 icon, Agriculture Learner→GraduationCap icon) with active state highlighting. Email field uses Mail icon with validateEmail (regex check, required). Password field uses Lock icon with Eye/EyeOff visibility toggle and validatePassword (min 8 chars, uppercase, lowercase, digit rules). AnimatePresence wraps inline error messages (AlertCircle icon) with Framer Motion fade transitions. Form submission state uses useState for loading spinner. Validation runs on blur and submit. useCallback wraps handlers. CSS includes sf- prefix classes.

Depends on:#72
Waiting for dependencies
AI 83%
Human 17%
High Priority
2 days
Frontend Developer
#75

Implement SignupSocialProof for Signup

To Do

As a frontend developer, implement the SignupSocialProof section for the Signup page. Renders a Three.js/R3F Canvas with a FarmGlobe component: a sphereGeometry (args=[1.35,64,64]) with MeshDistortMaterial (color #4F6B73, emissive #2A3D45, distort 0.25, speed 1.8) plus an orbit torusGeometry (args=[1.65,0.025,16,80]) with meshBasicMaterial color #F2B134 opacity 0.25, wrapped in OrbitControls and directional/point lights. Stats grid renders four statsData items (10,000+ Farmers, 150+ Crop varieties, 28 States, 97% satisfaction) each with icon classes ssp-stat-icon--farmers/crops/regions/satisfaction. Five avatar initials (RK, PD, AM, VS, SN) with className variants ssp-avatar--farmer/home/terrace/learner/grower. Framer Motion containerVariants (staggerChildren 0.1) and itemVariants (y:20→0) trigger via useInView. fadeInVariants and StarRating component render testimonial cards with Quote icon. Suspense wraps the Canvas.

Depends on:#72
Waiting for dependencies
AI 86%
Human 14%
Medium Priority
1.5 days
Frontend Developer
#76

Implement Footer for Signup

To Do

As a frontend developer, implement the Footer section for the Signup page. This shared component may already exist from Landing, Login, Dashboard, or Learning Center pages. Renders four linkColumns arrays: Product (Crop Planner, Disease Guide, Soil Health, Home Garden, Dashboard), Company (About Argonova, Mission, Careers, Press Kit), Resources (Learning Center, Farming Tutorials, Sustainable Practices, Community Forum), and Legal (Terms, Privacy, Cookie, Data Protection). Social icons row (LinkedIn, Twitter, Facebook, Instagram) use inline SVG with stroke currentColor strokeWidth 2. Framer Motion columnVariants animate each column with opacity:0 y:30 → opacity:1 y:0 with staggered delay i*0.12 and duration 0.5. bottomVariants animate copyright and social row with y:20 fade. useInView triggers animations. CSS uses 4-column desktop grid collapsing to 2-column at 768px and 1-column at 480px.

Depends on:#72
Waiting for dependencies
AI 92%
Human 8%
Medium Priority
0.5 days
Frontend Developer
#94

Setup Supabase Edge Functions

To Do

As a Backend Developer, configure the Supabase Edge Functions runtime for ArgoNova. Set up the Deno-based Edge Functions environment, configure CORS headers for Vercel domain, establish shared utility modules (auth validation, error response helpers), configure secrets/environment variables (OpenWeatherMap API key, NewsAPI key, data.gov.in key, VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY). Create a `_shared/` directory with cors.ts and supabaseAdmin.ts helpers reused across all Edge Functions. This is a prerequisite for Farm Score, Live Data Aggregator, Learning Center tracking, and Crop Planner Edge Functions.

Depends on:#53
Waiting for dependencies
AI 70%
Human 30%
High Priority
1 day
Backend Developer
#95

Configure Supabase RLS Policies

To Do

As a Backend Developer, define and apply Row Level Security policies for all ArgoNova tables: `users` (select/update own row by auth.uid()), `crop_history` (select/insert own rows), `disease_reports` (select own, insert authenticated), `garden_tracker` (full CRUD own rows), `learning_resources` (public read, authenticated insert), `weather_cache` / `news_cache` / `market_price_cache` (service-role write, authenticated read), `performance_logs` and `error_logs` (service-role insert only). Write migration file `supabase/migrations/20240001_rls_policies.sql`. Verify policies via Supabase Studio policy tester. This task is a hard dependency for all backend CRUD and Edge Function tasks.

Depends on:#53
Waiting for dependencies
AI 65%
Human 35%
High Priority
1 day
Backend Developer
#96

Configure Vercel Environment Variables

To Do

As a DevOps Engineer, configure all environment variables in Vercel for both production and preview environments: VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY, VITE_EMAILJS_SERVICE_ID, VITE_EMAILJS_TEMPLATE_ID, VITE_EMAILJS_PUBLIC_KEY. Set build command to `vite build`, output directory to `dist`, node version to 18.x. Configure preview branch deployments to use staging Supabase project. Add vercel.json with rewrite rules for SPA routing (`/*` → `/index.html`). Verify CORS allowed origins in Supabase dashboard match Vercel production and preview domains.

Depends on:#62
Waiting for dependencies
AI 55%
Human 45%
High Priority
0.5 days
DevOps Engineer
#103

Integrate Error Boundary & Toasts

To Do

As a Tech Lead, verify end-to-end integration of the Global Error Boundary & Toast Notification System (task c607a903) across all pages and integration points. Confirm: (1) React ErrorBoundary wraps each page route in App.jsx and captures render errors to Supabase `error_logs`; (2) `useToast` hook is wired into all existing integration tasks (Crop Planner, Soil Health, Disease Guide, Home Garden, Dashboard, Auth) replacing any ad-hoc alert/console error patterns; (3) toast queue correctly limits to 3 visible toasts with auto-dismiss at 4 s; (4) role='alert' + aria-live='polite' on toast container; (5) Framer Motion slide-in from bottom-right works on mobile viewport.

Depends on:#84
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
#143

Setup Supabase Schema Tables

To Do

As a Backend Developer, create and apply the complete PostgreSQL database schema via Supabase migrations for all ArgoNova tables not yet covered by existing migration task (b077562d). Specifically ensure the following tables exist with correct column definitions and foreign key relationships: plant_reminders (covered by 15b59184), learning_resources (covered by e66b46e2), weather_cache, news_cache, market_price_cache (covered by ada4ac34), performance_logs, error_logs (referenced by c607a903 and 57073867), and soil_nutrient_reference, crop_rotation_rules, disease_reference (referenced by seed task 532c4de0). Verify all migration files are ordered correctly in supabase/migrations/ and run without conflicts. This task is a prerequisite for all Edge Function and RPC tasks.

Depends on:#53
Waiting for dependencies
AI 75%
Human 25%
High Priority
1 day
Backend Developer
#167

Implement LandingHero for Landing

To Do

As a frontend developer, implement the LandingHero section using `@react-three/fiber` Canvas with a `GalaxyStars` component. Build the `GalaxyStars` component with `useMemo` to generate 14 spiral-positioned star meshes (using trigonometry: angle = t * PI * 4, radius = 2 + t * 8) in colors #F2B134, #FFDD57, #D95F5F, #4F6B73, #ffffff. Animate via `useFrame`: rotate group Y-axis at 0.08 base speed boosted by `scrollProgress * 0.12`, pulse individual star scales via sine waves, apply 1.6x scale on hover using `hoveredIdx` state. Render `THREE.BufferGeometry` connection lines between adjacent stars. Use `meshStandardMaterial` with emissive intensity toggling between 0.6 and 2.5 on hover. Integrate `motion` and `AnimatePresence` from framer-motion for hero text/CTA entrance animations. Track scroll progress via `useState`/`useRef` for scroll boost input.

Depends on:#166
Waiting for dependencies
AI 82%
Human 18%
High Priority
2 days
Frontend Developer
#168

Implement LandingGalaxyMap for Landing

To Do

As a frontend developer, implement the LandingGalaxyMap section featuring an interactive 3D feature constellation. Render a `@react-three/fiber` Canvas with `OrbitControls` and `Line` from `@react-three/drei`. Build 6 feature nodes from the `FEATURES` array (Crop Planner #F2B134, Soil Health #4F6B73, Disease Guide #D95F5F, Learning Center #FFDD57, Home Garden #6BCB77, Farm Dashboard #A78BFA), each with `id`, `name`, `icon`, `color`, `href`, `desc`, and `benefits[]`. Render `CONNECTIONS` array (10 pairs) as 3D lines between nodes. Implement `useState` for `selectedFeature` and `hoveredFeature`. On node click, show an `AnimatePresence`-powered detail panel (via framer-motion) displaying feature `desc`, `benefits` bullet list, and a navigation `href` link. Use `useRef` and `useMemo` for node position calculations and performance optimization.

Depends on:#166
Waiting for dependencies
AI 82%
Human 18%
High Priority
2 days
Frontend Developer
#169

Implement LandingValueProposition for Landing

To Do

As a frontend developer, implement the LandingValueProposition section with a 4-card flip interaction. Import `Sprout`, `HeartPulse`, `ShieldCheck`, `BookOpen` from lucide-react for card icons. Build the `FlipCard` component using `useState` for `flipped` boolean, animating `rotateY` between 0 and 180 degrees via framer-motion `motion.div` with 0.5s ease transition. Map over `VALUE_PROPS` array (Smart Crop Recommendations/teal, Soil Health Monitoring/coral, Disease Prevention/amber, Learning & Growth/gold) each with 4 `benefits[]` strings shown on the back face. Use `useInView` hook on a section ref to trigger staggered entrance animations via `cardVariants` (hidden: opacity 0 y:40, visible: staggered by index * 0.15 delay, 0.6s duration) and `headerVariants` for the section header. Cards flip on click/hover to reveal the benefits list.

Depends on:#166
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#170

Implement LandingUserPersonas for Landing

To Do

As a frontend developer, implement the LandingUserPersonas section showcasing 4 persona cards. Build from the `PERSONAS` array (farmer, homegrower, terrace, learner) each with `id`, `name`, `description`, `useCase`, and inline SVG `icon` (custom SVG paths — farmer with sprout/leaf paths, homegrower with house silhouette, terrace with plant tiers, learner with book/graduation paths). Use `useState` for `activePersona` and `useCallback` for selection handlers. Use `useMemo` for derived persona display data. Animate card transitions with `AnimatePresence` from framer-motion — active persona detail panel slides in/out. Implement tab-style persona selector buttons that highlight the active persona, updating the detail view with `description` and `useCase` text on selection.

Depends on:#166
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#171

Implement LandingFeatures for Landing

To Do

As a frontend developer, implement the LandingFeatures section as a responsive feature card grid. Map over the `FEATURES` array (6 items: Personalized Crop Recommendations, Soil Health Tracking, Disease Detection, Watering Reminders, Small-Space Gardening, and a 6th entry) each with `title`, `description`, `link` (href to respective pages), `gradientStart`/`gradientEnd` color pairs (e.g., #2A3D45→#4F6B73, #D95F5F→#E88A8A, #F2B134→#FFDD57), and inline SVG icons with `stroke="#F4F4F9"` (except Disease Detection which uses `stroke="#2A3D45"`). Use `useRef` and `useInView` from framer-motion to trigger staggered card entrance animations. Each card renders as a gradient background tile with SVG icon, title, description, and a linked CTA.

Depends on:#166
Waiting for dependencies
AI 92%
Human 8%
High Priority
0.5 days
Frontend Developer
#172

Implement LandingCropPlanner for Landing

To Do

As a frontend developer, implement the LandingCropPlanner section as an interactive crop recommendation demo. Build a multi-step UI using `useState` for `selectedSoil`, `selectedClimate`, `selectedPrevCrop`, and `results` state. Render three selector carousels (ChevronLeft/ChevronRight from lucide-react) for `SOIL_TYPES` (8 types: Alluvial, Black/Regur, Red & Yellow, Laterite, Arid/Desert, Saline/Alkaline, Peaty/Marshy, Forest/Mountain), `CLIMATES` (6 types), and `PREVIOUS_CROPS` (11 types). Use `REGIONS` map to derive region labels from soil type. Look up `RECOMMENDATIONS_DB` (keyed by soil type, each with 6 crop objects containing `name`, `emoji`, `score`, `season`, `desc`, `traits[]`) to display results. Animate results with `AnimatePresence` and `useInView` from framer-motion. Render each result card with `Sprout`, `Leaf`, `Droplets`, `Sun`, `Search`, `ArrowRight` lucide icons. Show crop score badges and trait chips per result.

Depends on:#166
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#173

Implement LandingTestimonials for Landing

To Do

As a frontend developer, implement the LandingTestimonials section as a 3D carousel. Build from the `testimonials` array (4 entries: Ravi Krishnamurthy/farmer, Meera Joshi/grower, Anil Sharma/gardener, Priya Nair/learner) each with `id`, `name`, `role`, `text`, `rating`, `initials`, and `avatarClass`. Use `useState` for `activeIndex` and `useCallback` for prev/next navigation handlers. Implement `getRelativePosition` helper to compute positions (-1, 0, 1, 2) relative to activeIndex with wrap-around. Apply `getCardTransform` to produce per-card `x` offset (±180px desktop / ±90px mobile), `scale` (1.05 center / 0.92 sides), `opacity` (1 center / 0.55 sides), `zIndex`, and `rotateY` values. Animate cards using `AnimatePresence` and `motion.div`. Render `StarIcon` SVG for 5-star ratings. Auto-advance via `useEffect` interval. Include dot navigation indicators.

Depends on:#166
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1 day
Frontend Developer
#174

Implement LandingCTA for Landing

To Do

As a frontend developer, implement the LandingCTA section with a magnetic CTA button and particle burst effect. Use `useState` for `magnetOffset` ({x,y}), `particles` array, and `isMagnetic` boolean. Attach `onMouseMove` to the section root — compute distance from cursor to button center via `getBoundingClientRect`; if dist < 80px, set magnetic offset to dx*0.4/dy*0.4 and animate button position. On primary button click, call `generateParticles(24)` which creates particles with random angle/distance (60–160px), size (4–10px), colors (#F2B134, #FFDD57, #D95F5F, #4F6B73, #2A3D45), and duration (0.5–0.8s) — clear after 900ms. Use `useInView` on `sectionRef` (margin -80px, once) to trigger `contentVariants` (opacity 0→1, y 40→0, 0.7s, staggerChildren 0.12) and `childVariants` (opacity 0→1, y 24→0, 0.55s). Render animated gradient background div (`lc-gradient-bg`) and parallax orb decorations (`lc-deco-bg`) with CSS scroll variable.

Depends on:#166
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#175

Implement Footer for Landing

To Do

As a frontend developer, implement the Footer section with animated link columns and social icons. Build from `linkColumns` array (4 columns: Product with 5 links, Company with 4 links, Resources with 4 links, Legal with 4 links) each containing `title` and `links[]` with `label`/`href`. Render social icons from `socialIcons` array (LinkedIn, Twitter, Facebook, Instagram) with inline SVG paths using `stroke="currentColor"`. Use `useInView` on the footer ref to trigger `columnVariants` staggered entrance animations (hidden: opacity 0 y:30, visible: staggered by index * 0.12 delay, 0.5s duration). Animate the bottom bar with `bottomVariants` (hidden: opacity 0 y:20). Include the Argonova logo/brand mark and copyright text in the bottom bar. Note: this Footer component may already exist from a previous page implementation.

Depends on:#166
Waiting for dependencies
AI 92%
Human 8%
Medium Priority
0.5 days
Frontend Developer
#12

Implement LoginHero for Login

Backlog

As a frontend developer, implement the LoginHero section for the Login page. The section renders a full-viewport (lhr-root) split layout with three layers: (1) a CSS radial glow div (lhr-glow), (2) a Three.js Canvas (via @react-three/fiber) wrapped in lhr-canvas-wrap — canvas is position:absolute, inset:0, 100% width/height, pointerEvents:none — rendering 36 LeafParticles using bufferGeometry with Float32Array positions (14×7×5 spread), pointsMaterial color #F2B134 opacity 0.35, additive blending, animated via useFrame rotating y at 0.06×elapsedTime and drifting y via sin(elapsedTime×0.3)×0.4; (3) a framer-motion motion.div (lhr-content) with containerVariants (staggerChildren:0.14, delayChildren:0.1) and itemVariants (opacity/y:16 → 1/0, duration:0.55, cubic-bezier easing). Content includes a decorative SVG leaf icon (lhr-icon-svg with lhr-icon-leaf path), headline, subheadline, and CTA button — all wrapped in motion.div with itemVariants. Canvas dpr clamped to [1, 1.5]. Import framer-motion and @react-three/fiber.

Depends on:#11
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#13

Implement LoginForm for Login

Backlog

As a frontend developer, implement the LoginForm section for the Login page. The component manages state: email, password, showPassword (toggle via Eye/EyeOff lucide icons), rememberMe checkbox, and isLoading for submission spinner. Includes a raw Three.js ParticlesBackground (NOT @react-three/fiber) mounted via useRef on a lf-bg-canvas div: creates Scene, PerspectiveCamera (fov:50, z:20), WebGLRenderer (alpha:true), 60 particles with Float32Array positions (24×18×14 spread) and per-particle sizes (0.6–3.1), PointsMaterial color 0xF2B134 opacity 0.55 additive blending, animate loop rotating particles.rotation.y+=0.0006 and x+=0.00025 with sin-based opacity pulse (0.55±0.12 at 0.0004 rate). Handles window resize updating camera aspect and renderer size. Cleanup cancels animation frame, removes DOM element, disposes geometry/material. Form fields use framer-motion motion.div wrappers, Mail and Lock icons from lucide-react, AlertCircle for validation errors, LogIn icon on submit button. Import '../styles/LoginForm.css'.

Depends on:#11
Waiting for dependencies
AI 82%
Human 18%
High Priority
2 days
Frontend Developer
#14

Implement LoginSupport for Login

Backlog

As a frontend developer, implement the LoginSupport section for the Login page. Renders three support cards (security, help, contact) from a static supportCards array, each with a lucide icon (Shield, HelpCircle, Phone), title, description, divider, and arrow link. SupportCard uses useRef on the card element to track mouse position via onMouseMove, computing x/y percentages relative to card bounds and setting CSS custom properties --mx/--my for radial spotlight effect; onMouseLeave resets to 50%/50%. Framer-motion: cardVariants use custom(i) for staggered delay (i×0.1s, duration 0.55s, cubic-bezier ease), headingVariants fade/slide in at 0.5s. useInView hook (from framer-motion) on a section ref triggers animate state ('visible'/'hidden') passed to each SupportCard. Cards render as motion.div with initial='hidden' and animate={isInView ? 'visible' : 'hidden'}. Import '../styles/LoginSupport.css'.

Depends on:#11
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1 day
Frontend Developer
#15

Implement Footer for Login

Backlog

As a frontend developer, implement the Footer shared component for the Login page. This is the same Footer already built for the Landing page (task 4ee49838-a0a8-4159-a54a-fff47c1a6c7c) — confirm sections/Footer.jsx is reusable without modification. The Footer renders four linkColumns (Product, Company, Resources, Legal) with hardcoded hrefs to /Crop Planner, /Disease Guide, /Soil Health, /Home Garden, /Dashboard, /Learning Center, and /Landing routes. Four socialIcons (LinkedIn, Twitter, Facebook, Instagram) rendered as inline SVGs. Uses framer-motion: columnVariants with custom(i) stagger (delay i×0.12, duration 0.5, cubic-bezier ease) triggered by useInView on section ref, and bottomVariants (opacity/y:20 fade-up) for copyright bar. Confirm import path '../styles/Footer.css' resolves correctly from Login page context.

Depends on:#11
Waiting for dependencies
AI 90%
Human 10%
Medium Priority
0.5 days
Frontend Developer
#16

Implement Navbar for Dashboard

Backlog

As a frontend developer, implement the Navbar section for the Dashboard page. This component already exists from the Landing and Login pages (sections/Navbar.jsx) — verify it renders correctly in the Dashboard context. The Navbar includes: scroll-based state (setScrolled via window.scrollY threshold at 10vh), language switcher dropdown (useState langOpen, activeLang) with 4 languages (English, Hindi, Tamil, Telugu) using a ref for outside-click dismissal (langRef + mousedown listener), mobile hamburger menu (useState mobileOpen) with body overflow lock, SVG logo with animated leaf/circle paths (nb-logo-path, nb-logo-leaf CSS classes), desktop nav links (Features, Learn, About, Pricing), and responsive CSS hiding desktop nav below 768px. Confirm the component imports correctly and active link state reflects /Dashboard route.

Depends on:#11
Waiting for dependencies
AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#59

Build Farm Score Calculation API

To Do

As a Backend Developer, implement the Farm Health Score calculation logic as a Supabase Edge Function or RPC. Inputs: soil_quality, crop_diversity, irrigation_efficiency, fertilizer_balance derived from user's crop history and soil type. Output: overall_score (0-100), sub_metrics (Soil Health, Crop Rotation Compliance, Disease Prevention scores), farming_insights[], improvement_suggestions[]. Note: DashboardFarmScore frontend task depends on this.

Depends on:#55#53
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
1.5 days
Backend Developer
#61

Implement Signup Page Sections

To Do

As a Frontend Developer, implement all sections for the Signup page. The signup form should collect: Full Name, Email, Password, Village/Area Name, Farm Size, User Type (Farmer/Home Grower/Terrace Gardener/Agriculture Learner), Preferred Language, Soil Type, Primary Farming Interest. Integrate with Supabase auth createUser and insert into users table on successful registration. Redirect to Dashboard on success. Reuse Navbar and Footer shared components. Apply Framer Motion entrance animations consistent with Login page styling. Validate all fields with AnimatePresence error messages.

Depends on:#60#52
Waiting for dependencies
AI 60%
Human 40%
High Priority
2 days
Frontend Developer
#63

Setup i18n Multilingual Framework

To Do

As a Frontend Developer, implement the multilingual support framework for ArgoNova. Set up i18next or a custom translation context supporting English, Telugu, Hindi, Tamil, and Kannada. Create translation JSON files for all UI labels, navigation items, form fields, error messages, dashboard labels, and recommendation outputs. Integrate with useLanguage() hook from global state. Apply dynamic language switching without page reload. Store preferred language in Supabase user profile via useUserProfile() hook on change.

Depends on:#60
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
2 days
Frontend Developer
#64

Setup React Router Protected Routes

To Do

As a Frontend Developer, configure React Router v6 for all pages: Landing (/), Login (/Login), Signup (/Signup), Dashboard (/Dashboard), Crop Planner (/Crop Planner), Soil Health (/Soil Health), Disease Guide (/Disease Guide), Home Garden (/Home Garden), Learning Center (/Learning Center). Implement ProtectedRoute wrapper component that checks auth state from useAuth() hook and redirects unauthenticated users to /Login. Implement PublicRoute that redirects authenticated users away from Login/Signup to /Dashboard. Handle loading states during session hydration.

Depends on:#60#52
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Frontend Developer
#97

Seed Reference & Demo Data

To Do

As a Backend Developer, populate all reference datasets in PostgreSQL via Supabase seed scripts. (1) `disease_reference` — 20+ Indian agriculture diseases with crop_name, symptom_tags TEXT[], disease_name, causes, prevention, treatment, severity ENUM('mild','moderate','severe'). (2) `soil_nutrient_reference` — nutrient data (N, P, K, Ca, Mg, S optimal ppm ranges) keyed by soil_type for 8 soil types. (3) `crop_rotation_rules` — rule-based matrix of (previous_crop, soil_type, season) → recommended_crop, fertilizer_notes, water_req. (4) `learning_resources` — 20+ multilingual entries (en/hi/ta/te/kn) across tutorial/video/tip types and all 4 seasons. Place seed files in `supabase/seed.sql` and document run order.

Depends on:#53#95
Waiting for dependencies
AI 60%
Human 40%
High Priority
2 days
Backend Developer
#98

Language Preference Persistence API

To Do

As a Backend Developer, extend the `users` table with a `preferred_language` VARCHAR(5) column (default 'en') and expose two Supabase RPCs: (1) `get_user_language(p_user_id UUID)` — returns the stored language code; (2) `update_user_language(p_user_id UUID, p_language VARCHAR)` — validates against allowed codes ('en','hi','ta','te','kn') and upserts. Apply RLS: users can only read/update their own row. This supports the i18n multilingual framework and Navbar language switcher sync described in the SRD Functional Requirements.

Depends on:#95#54
Waiting for dependencies
AI 65%
Human 35%
Medium Priority
0.5 days
Backend Developer
#100

Integrate Signup Frontend Backend

To Do

As a Tech Lead, verify end-to-end integration between the SignupForm frontend section (task 470f3883) and the Supabase Auth backend (task 51a346fc). Ensure: (1) SignupForm calls `supabase.auth.signUp()` with email/password on submit; (2) on success, a `profiles` row is inserted with full_name, user_type (persona), preferred_language, soil_type, village, farm_size; (3) duplicate email errors surface as inline field validation; (4) persona-not-selected blocks submission; (5) React Router redirects to /Dashboard post-signup; (6) global state (useAuth/useUserProfile) is hydrated immediately. Cross-reference with task 0d8f7cd5 (Signup Flow Integration) to confirm no overlap — this task focuses on the direct SignupForm ↔ Supabase wiring.

Depends on:#74#52#81
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#102

Integrate Live Data Dashboard Widgets

To Do

As a Tech Lead, verify end-to-end integration between the Dashboard Live Data Widget task (bdd858ce) and the Live Data Aggregator API (ada4ac34). Confirm: (1) `get_live_dashboard_data` RPC is called on Dashboard mount with authenticated user ID; (2) weather widget renders temperature, condition icon, and location from OpenWeatherMap response; (3) agriculture news carousel auto-scrolls every 5 s; (4) crop market price table renders commodity/price/trend; (5) all three widgets show skeleton loaders during fetch; (6) graceful degradation to 'Data unavailable' on API timeout or failure; (7) 30-min client-side polling cleans up on unmount.

Depends on:#94#80#79
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
1 day
Tech Lead
#104

Integrate EmailJS Notification Flows

To Do

As a Tech Lead, verify end-to-end integration of the EmailJS hook (task 39afc860) across all three touchpoints: (1) Landing page contact/demo request form sends lead notification to admin email; (2) Disease Guide 'Report Sighting' form sends report to admin via `sendEmail`; (3) rate-limit guard (max 3 sends/session/form) is enforced in `useEmailJS` hook. Verify VITE_EMAILJS_* environment variables are set in Vercel (cross-reference task tmp_vercel_env_setup). Confirm optimistic UI pattern: success state shown immediately, failures logged silently.

Depends on:#96#82
Waiting for dependencies
AI 55%
Human 45%
Low Priority
0.5 days
Tech Lead
#105

Integrate PWA & Performance Monitoring

To Do

As a Tech Lead, verify end-to-end integration of the PWA setup and performance monitoring (task 57073867). Confirm: (1) `vite-plugin-pwa` generates valid manifest with name 'ArgoNova', theme_color '#2D6A4F', 192/512px icons; (2) Workbox service worker registers and intercepts requests — cache-first for static assets, network-first for Supabase API calls; (3) `web-vitals` reports CLS/LCP/FID — console in dev, Supabase `performance_logs` insert in prod; (4) all page routes are code-split via React.lazy/Suspense; (5) all below-fold images have `loading='lazy'` and WebP with `<picture>` fallback. Run Lighthouse audit targeting LCP <2.5 s and CLS <0.1 on mobile.

Depends on:#62#83#96
Waiting for dependencies
AI 45%
Human 55%
Low Priority
1 day
Tech Lead
#107

Setup Supabase Realtime Subscriptions

To Do

As a Backend Developer, configure Supabase Realtime for ArgoNova's live data needs. Enable Realtime on the `garden_tracker` table so HomeGarden growth tracker reflects updates without manual refresh. Enable Realtime on `crop_history` so DashboardCropRotation refreshes when a new crop plan is saved. Create a `useSupabaseRealtime(table, filter)` custom hook that subscribes to INSERT/UPDATE/DELETE events, dispatches to the relevant Zustand/Context store slice, and unsubscribes on unmount. Ensure Realtime channels are properly cleaned up to prevent memory leaks in the SPA.

Depends on:#57#95
Waiting for dependencies
AI 65%
Human 35%
Low Priority
1 day
Backend Developer
#108

Build Watering Reminder Notifications API

To Do

As a Backend Developer, implement the backend for HomeGarden watering reminders. Create a `plant_reminders` table (id, user_id, plant_id FK garden_tracker, reminder_type ENUM('water','fertilize','pest','harvest'), scheduled_at TIMESTAMPTZ, snoozed_until TIMESTAMPTZ, is_done BOOLEAN, created_at). Expose RPCs: `get_user_reminders(p_user_id)`, `create_reminder(p_user_id, p_plant_id, p_type, p_scheduled_at)`, `update_reminder(p_id, p_is_done, p_snoozed_until)`, `delete_reminder(p_id)`. Apply RLS: users own their reminders. Create a Supabase Edge Function `send-reminder-notification` triggered by a pg_cron job (daily at 07:00 IST) that queries due reminders and sends push/email via EmailJS or FCM. Note: HomeGardenReminders frontend task (25a9e57c) depends on this API.

Depends on:#57#94#95
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
1.5 days
Backend Developer
#144

Build Crop History API

To Do

As a Backend Developer, implement the crop history data layer via Supabase. Create RPCs: (1) `get_crop_history(p_user_id UUID)` — returns all crop_history rows for the authenticated user ordered by created_at DESC; (2) `save_crop_rotation(p_user_id, p_previous_crop, p_recommended_crop, p_season, p_soil_type)` — inserts a new crop_history row. Apply RLS: users can only read/insert their own rows. This API supports the DashboardCropRotation section (task 69fedd92) which needs to load real historical rotation data, and integrates with the Crop Planner Recommendations API (db2f2f3f) which saves recommendations to crop_history.

Depends on:#95#53
Waiting for dependencies
AI 80%
Human 20%
Medium Priority
0.5 days
Backend Developer
#17

Implement DashboardSidebar for Dashboard

Backlog

As a frontend developer, implement the DashboardSidebar section for the Dashboard page. The sidebar includes: a 3D amber crystal accent rendered via @react-three/fiber Canvas with an AmberCrystal mesh (octahedronGeometry args=[0.8,0]) that rotates continuously via useFrame (rotation.y += delta*0.4, rotation.x += delta*0.2), ambientLight intensity=0.6 and two directionalLights. Navigation items array (NAV_ITEMS) includes Dashboard, Crop Planner, Soil Health, Disease Guide, Home Garden, Learning Center — each with lucide-react icons (LayoutDashboard, Sprout, Droplets, Bug, Home, GraduationCap). NavLinks sub-component renders anchor tags with dsb-active class for Dashboard item and dsb-active-indicator span. AnimatePresence from framer-motion handles mobile drawer open/close with animated HamburgerIcon (SVG with motion.line elements). On mobile, sidebar becomes a slide-in drawer; on desktop it is a fixed-width left panel. Responsive CSS collapses to drawer below 768px.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#18

Implement DashboardStats for Dashboard

Backlog

As a frontend developer, implement the DashboardStats section for the Dashboard page. Renders 4 stat cards (Farm Score 87/100, Soil pH 6.8, Last Watering 2hrs ago, Disease Risk Moderate) using statCards array with id, label, value, trend, trendDir, trendLabel, Icon, iconClass, and sparkHeights (10-element arrays for sparkline bars). Uses framer-motion containerVariants (staggerChildren: 0.1, delayChildren: 0.05) and cardVariants (opacity 0→1, y 24→0, duration 0.5) for scroll-triggered entrance animations. TrendIcon sub-component conditionally renders TrendingUp, TrendingDown, or Minus from lucide-react based on trendDir. ParticleBackground sub-component uses Three.js directly (not react-three-fiber): creates WebGLRenderer on a canvas ref, 50-particle BufferGeometry with Float32Array positions and colors mixing colorTeal (#4F6B73), colorAmber (#F2B134), colorCoral (#D95F5F). Responsive 4-column grid collapses to 2-column on tablet and 1-column on mobile.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#19

Implement DashboardFarmScore for Dashboard

Backlog

As a frontend developer, implement the DashboardFarmScore section for the Dashboard page. Displays FARM_SCORE=78 with SUB_METRICS array (Soil Health 82, Crop Rotation Compliance 75, Disease Prevention 68). getInterpretation() function maps score ranges to label/cls/desc objects (Excellent≥90, Good≥75, Fair≥60, Needs Attention≥40, Critical otherwise). DecorativeRing component renders a torus geometry (args=[1.35,0.03,16,100]) via @react-three/fiber useFrame rotating on z (delta*0.15) and x (delta*0.08) axes with meshStandardMaterial color=#4F6B73 emissiveIntensity=0.4. SVG ring uses circle element with circumference=2πr (r=75), animated dashOffset computed as circumference*(1-FARM_SCORE/100) via framer-motion motion.circle. ringColor is computed via useMemo interpolating THREE.Color between #D95F5F and #F2B134 based on score. useInView hook (once:true, margin:-40px) triggers entrance animation (opacity 0→1, y 24→0). Sub-metrics render as labeled progress bars. Canvas positioned absolutely behind SVG ring.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#20

Implement DashboardCropRotation for Dashboard

Backlog

As a frontend developer, implement the DashboardCropRotation section for the Dashboard page. Renders CROP_DATA array of 4 crops: Wheat (Rabi, past, yield 4.8t/ha), Rice (Kharif, past, 5.2t/ha), Moong/Green Gram (Zaid, past, 1.2t/ha warning), and Mustard (Rabi, next/recommended). Each crop card has: icon from lucide-react (Wheat, Sprout, Leaf, Flower2), color/accentColor, type (past|next), yield, yieldStatus, soilImpact, notes, and optional recommendation string. CropBlob 3D component uses @react-three/drei Sphere with MeshDistortMaterial (distort=0.35, speed=1.8), useFrame animates rotation.y=elapsedTime*0.5 and rotation.x sine oscillation. CropCanvas wraps in react-three-fiber Canvas. AnimatePresence from framer-motion handles accordion expand/collapse of crop detail panels (useState for active card). ChevronDown icon rotates on open. Sparkles icon marks the recommended next crop. Responsive: horizontal scrolling timeline on mobile, grid on desktop.

Depends on:#16
Waiting for dependencies
AI 82%
Human 18%
High Priority
2.5 days
Frontend Developer
#21

Implement Footer for Dashboard

Backlog

As a frontend developer, implement the Footer section for the Dashboard page. This component may already exist from Landing/Login pages (sections/Footer.jsx) — verify it renders correctly here. The Footer includes: 4 linkColumns (Product: Crop Planner, Disease Guide, Soil Health, Home Garden, Dashboard; Company: About Argonova, Mission, Careers, Press Kit; Resources: Learning Center, Farming Tutorials, Sustainable Practices, Community Forum; Legal: ToS, Privacy, Cookie, Data Protection). columnVariants framer-motion animation with custom delay per column index (i*0.12, duration 0.5). 4 socialIcons rendered as inline SVGs (LinkedIn, Twitter, Facebook, Instagram). useInView hook triggers entrance animations. bottomVariants handles bottom bar fade-in. Responsive: 4-column grid on desktop, 2-column on tablet, stacked on mobile. CSS uses Footer.css with Argonova brand colors.

Depends on:#16
Waiting for dependencies
AI 90%
Human 10%
Medium Priority
0.5 days
Frontend Developer
#22

Implement Navbar for Learning Center

Backlog

As a frontend developer, implement the Navbar section for the Learning Center page. This component is shared across pages and may already exist from prior pages (Login, Dashboard). It uses React state hooks: scrolled (scroll threshold at 10% viewport height), langOpen (language dropdown toggle), activeLang (currently selected language code), and mobileOpen (mobile drawer toggle). It renders an SVG logo with animated nb-logo-path and nb-logo-leaf paths, desktop NAV_LINKS (Features, Learn, About, Pricing), a Globe + ChevronDown language switcher dropdown with LANGUAGES array (en, hi, ta, te), a mobile hamburger Menu/X toggle, and a mobile drawer overlay. Uses useRef for langRef click-outside detection and useCallback for handleLangSelect. CSS handles nb-scrolled class, backdrop-filter blur, and responsive breakpoints hiding desktop nav below 1024px.

Depends on:#16
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#26

Implement Navbar for Crop Planner

Backlog

As a frontend developer, implement the Navbar section for the Crop Planner page. This component reuses the shared Navbar already built for Dashboard, Login, and Learning Center pages. It includes: scroll-based state (`scrolled`) toggling `.nb-scrolled` class at 10% viewport height threshold; a language switcher dropdown with 4 languages (English, Hindi, Tamil, Telugu) using `langRef` for outside-click detection; mobile menu toggle with `mobileOpen` state and body overflow lock; an animated SVG logo with `.nb-logo-path` and `.nb-logo-leaf` paths for the Argonova brand; 4 desktop nav links (Features, Learn, About, Pricing); and a CTA button. Verify the component file exists from prior pages before regenerating.

Depends on:#16
Waiting for dependencies
AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#32

Implement SoilHealthHeader for Soil Health

Backlog

As a frontend developer, implement the SoilHealthHeader section for the Soil Health page. Build the page header using framer-motion fadeUp stagger animations (custom delay i*0.08) for breadcrumb nav, h1 title, meta row with location/clock SVG badges showing 'Krishnagiri, Tamil Nadu' and last-updated timestamp, and an actions group with refresh button that uses useState(refreshing) to trigger an 800ms spinner state. Breadcrumb links back to /Dashboard. CSS in SoilHealthHeader.css using shh- prefix. Depends on Navbar from Dashboard page.

Depends on:#16
Waiting for dependencies
AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#33

Implement SoilHealthNutrientPanel for Soil Health

Backlog

As a frontend developer, implement the SoilHealthNutrientPanel section. Build a nutrient grid displaying 6 macro-nutrients (N, P, K, Ca, Mg, S) from the NUTRIENTS array with realistic ppm values. Each card shows: symbol badge, current value vs optimalMin/optimalMax range, getStatus() helper returning 'optimal'/'deficient'/'excess', animated bar fill via getBarFill() clamped to 4-100%, status color from getStatusColor(), and history sparkline from 4-point history arrays. Includes a Three.js @react-three/fiber Canvas with NutrientParticles (70-point Float32Array particle field). AnimatePresence for card expand/collapse detail view showing nutrient description. CSS in SoilHealthNutrientPanel.css and MiniBarChart.css.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#34

Implement SoilHealthpHAndMoisture for Soil Health

Backlog

As a frontend developer, implement the SoilHealthpHAndMoisture section. Build two sub-components: (1) PHScaleBar — a Three.js @react-three/fiber Canvas rendering 14 boxGeometry segments with gradient colors from red (#c92a2a) through green (#40c057) to purple (#845ef7), a cylinderGeometry marker pin and torusGeometry glow ring positioned at currentPH=6.4 on the scale using markerX = (currentPH/14)*7 - 3.5, with markerColor logic for acid/neutral/alkaline. (2) MoistureGauge — an SVG semicircle gauge using polarToCartesian/describeArc helpers, framer-motion animated needle to value=62%, with targetMin=50 and targetMax=75 shown as optimal band. AnimatePresence for pH detail tooltip. CSS in SoilHealthpHAndMoisture.css.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#35

Implement SoilHealthFertilizerGuidance for Soil Health

Backlog

As a frontend developer, implement the SoilHealthFertilizerGuidance section. Build a 3D fertilizer molecule viewer using @react-three/fiber Canvas with @react-three/drei Float and OrbitControls (autoRotate speed 1.2, zoom/pan disabled). FertilizerMolecule renders NutrientMolecule sphereGeometry components for N (color #2A3D45, radius 0.4), P (#D95F5F, 0.32), K (#F2B134, 0.38), and center NPK (#4F6B73, 0.2), connected by NutrientBond TubeGeometry from THREE.LineCurve3 with 50% opacity. Right panel shows fertilizer type cards with IconFlask SVG, dosage recommendations, and application timing. useState for selected fertilizer card. CSS in SoilHealthFertilizerGuidance.css.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#36

Implement SoilHealthTrends for Soil Health

Backlog

As a frontend developer, implement the SoilHealthTrends section. Build a Chart.js Line chart via react-chartjs-2 displaying nutrient trends (N, P, K, Organic Matter) over selectable TIME_RANGES ('3m'/'6m'/'12m'). generateNutrientData() produces realistic time-series with configurable start/end/noise per nutrient. NUTRIENT_META array defines 4 nutrients with colors (#4CAF50, #2196F3, #FF9800, #9C27B0) and legend dot CSS classes. trendValue() and trendArrow() helpers compute ↑/↓/→ indicators for each series. ThreeParticles background canvas using THREE.WebGLRenderer with alpha, PerspectiveCamera at z=30, animated particle field. AnimatePresence for time range tab transitions. useState for activeRange. CSS in SoilHealthTrends.css and ThreeParticles.css.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#37

Implement SoilHealthRecommendations for Soil Health

Backlog

As a frontend developer, implement the SoilHealthRecommendations section. Build a prioritized recommendations list from the 5-item recommendations array with priority levels 'urgent'/'important'/'soon'. Each recommendation card shows: priority badge with color coding, title, description, impact score (0-100) as animated progress bar, impactLabel ('High'/'Medium'), and dual guidance tabs (farmer vs homeGrower) using useState(activeTab). Three.js particle background via useRef mountRef with WebGLRenderer alpha canvas, PerspectiveCamera, animated BufferGeometry points using useEffect cleanup pattern. framer-motion AnimatePresence for card expand/collapse toggled by useState(expandedId). Cards stagger-animate on mount. CSS in SoilHealthRecommendations.css.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#38

Implement DiseaseGuideHero for Disease Guide

Backlog

As a frontend developer, implement the DiseaseGuideHero section for the Disease Guide page. This section features a Three.js Canvas with a custom DiseasedLeaf 3D mesh composed of two planeGeometry halves, a center vein, lateral veins, and circleGeometry disease spots with brownish-orange material. The leaf group uses useFrame for continuous rotation (rotation.y += delta * 0.12) and subtle sine-wave pitch. A ringRef animates a pulsing scale ring around the leaf. Framer Motion animates the headline, subheadline, and CTA text using staggered itemVariants (opacity 0→1, y 28→0). The section also integrates @react-three/drei Sparkles for ambient particle effect. Hover state on the leaf changes material color from #4a7a4a to #5a8a5a. Responsive: full-viewport height on desktop, reduced min-height on mobile with font scaling.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#45

Implement HomeGardenHero for Home Garden

Backlog

As a frontend developer, implement the HomeGardenHero section for the Home Garden page. This section features a React Three Fiber Canvas with a custom LeafModel 3D component using Float, MeshDistortMaterial from @react-three/drei — including a stem (cylinderGeometry), three distorted leaf meshes (sphereGeometry + MeshDistortMaterial with speed/distort props), and a golden center bud. The hero also renders a GARDEN_MODES array (terrace, home, apartment) as interactive mode pill selectors with custom ModePillIcon SVG icons per type. Framer Motion is used for entrance animations. CloudSun and Sprout icons from lucide-react are present. useState manages active mode selection and useMemo/useRef optimize rendering. The section depends on the Dashboard page task to establish page chain.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#65

Integrate Auth Frontend and Backend

To Do

As a Tech Lead, verify end-to-end integration between the Login/Signup frontend sections and the Supabase authentication backend. Ensure login form correctly calls Supabase signInWithPassword, signup form calls signUp and inserts user profile, session tokens are stored and hydrated via global state, protected routes correctly redirect unauthenticated users, and language preference is persisted to user profile. Verify error states (wrong password, duplicate email) are handled gracefully in the UI.

Depends on:#52#11#64#61
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#99

Integrate i18n with Language API

To Do

As a Tech Lead, verify end-to-end integration between the i18n multilingual framework (frontend task 1feb4212) and the Language Preference Persistence API (backend task tmp_supabase_language_profile_api). Ensure: (1) on language switch in Navbar, the new locale is persisted to Supabase via `update_user_language` RPC; (2) on app load/session hydration, `get_user_language` is called and the i18n context is initialized to the stored language; (3) all UI labels, form fields, and error messages switch without page reload; (4) unauthenticated users fall back to localStorage-persisted language. Test across en/hi/ta/te/kn locales.

Depends on:#63#98
Waiting for dependencies
AI 55%
Human 45%
Medium Priority
1 day
Tech Lead
#101

Integrate Global State with Auth

To Do

As a Tech Lead, verify end-to-end integration between the Global State Management setup (task 81433806) and Supabase Auth (task 51a346fc). Ensure: (1) `useAuth()` hook correctly reads from `supabase.auth.getSession()` on mount and subscribes to `onAuthStateChange`; (2) `useUserProfile()` fetches and caches user profile data from `users` table after auth; (3) `useLanguage()` reads `preferred_language` from profile and initializes i18n context; (4) ProtectedRoute (task ab532a76) correctly gates using `useAuth()` loading + session state; (5) state is cleared on `signOut()`. This is the foundational wiring that all dashboard and feature pages depend on.

Depends on:#60#52#64
Waiting for dependencies
AI 55%
Human 45%
High Priority
1 day
Tech Lead
#150

Mobile Responsive Audit All Pages

To Do

As a Frontend Developer, perform a comprehensive mobile responsiveness audit across all ArgoNova pages (Landing, Login, Signup, Dashboard, Crop Planner, Soil Health, Disease Guide, Home Garden, Learning Center). Verify: (1) all grid layouts collapse correctly at 768px (2-col) and 480px (1-col) breakpoints; (2) Navbar mobile drawer opens/closes correctly on all pages; (3) Three.js Canvas sections have correct dpr clamping [1,1.5] and reduced particle counts on mobile (covered separately by d75e45a0 — verify it applies to all pages); (4) typography scales correctly via clamp() on all hero sections; (5) touch events work on 3D carousels (LandingTestimonials drag swipe, LandingGalaxyMap OrbitControls touch); (6) sticky filter bars (DiseaseGuideCategories, DiseaseGuideSearch) scroll correctly on iOS Safari. This audit complements the Three.js optimization task (d75e45a0) and must be verified on real mobile viewport sizes.

Depends on:#64#106
Waiting for dependencies
AI 75%
Human 25%
Medium Priority
1 day
Frontend Developer
#23

Implement LearningCenterHero for Learning Center

Backlog

As a frontend developer, implement the LearningCenterHero section for the Learning Center page. Renders a Three.js/R3F 3D scene via Canvas with a FarmingGlobe component: a distorted Sphere (MeshDistortMaterial, color #2A3D45), an inner Ring (color #F2B134 emissive amber), and an outer orbit Ring (color #4F6B73). OrbitingNodes renders 8 Float-wrapped mesh nodes positioned on a parametric orbit with colors cycling between #F2B134, #D95F5F, and #4F6B73. Stars component adds a star field backdrop. useFrame drives continuous groupRef.rotation.y and ringRef.rotation.z animations. Foreground uses Framer Motion useInView for entrance animations on headline, subtitle, and stat counters (120+ Resources, 15K+ Learners, 45+ Instructors). Includes a Search input with ArrowRight CTA button, and FILTER_PILLS (All, Tutorials, Videos, Articles, Guides) as clickable category pills with active state. Suspense wraps the Canvas fallback.

Depends on:#22
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#24

Implement LearningCenterSeasonalTips for Learning Center

Backlog

As a frontend developer, implement the LearningCenterSeasonalTips section for the Learning Center page. Manages a seasons array with four objects: summer (April–June, Sun icon, sorghum/pearl millet tips), monsoon (July–September, CloudRain icon, flood-tolerant rice Swarna-Sub1 tips), winter (October–February, Snowflake icon), and spring (Flower2 icon). Each season has an intro, seasonClass, and 5 tips with per-tip icon variants (Leaf, Droplets, Sprout, Thermometer). Uses useState for activeSeasonId toggling between season tabs. Renders a R3F Canvas with OrbitControls, Environment, and useMemo-constructed THREE.js geometry for a seasonal 3D accent. Framer Motion useInView triggers staggered card entrance animations. Season tab pills update the active panel; tip list renders with ArrowRight accent icons. CSS applies seasonClass-specific color theming (summer=amber, monsoon=blue, winter=slate, spring=green) with responsive grid collapse at 768px.

Depends on:#22
Waiting for dependencies
AI 87%
Human 13%
High Priority
1.5 days
Frontend Developer
#25

Implement Footer for Learning Center

Backlog

As a frontend developer, implement the Footer section for the Learning Center page. This shared component may already exist from Landing, Login, or Dashboard pages. Renders four linkColumns arrays: Product (Crop Planner, Disease Guide, Soil Health, Home Garden, Dashboard), Company (About Argonova, Mission, Careers, Press Kit), Resources (Learning Center, Farming Tutorials, Sustainable Practices, Community Forum), and Legal (Terms, Privacy, Cookie, Data Protection). Social icons row includes LinkedIn, Twitter, Facebook, Instagram as inline SVG stroked icons. Uses Framer Motion columnVariants (hidden: opacity 0 y:30, visible with staggered delay i*0.12) and bottomVariants triggered by useInView. CSS uses a 4-column desktop grid collapsing to 2-column at 768px and 1-column at 480px with responsive padding adjustments.

Depends on:#22
Waiting for dependencies
AI 90%
Human 10%
Medium Priority
0.5 days
Frontend Developer
#27

Implement CropPlannerHero for Crop Planner

Backlog

As a frontend developer, implement the CropPlannerHero section for the Crop Planner page. This section renders a full-width hero with a Three.js `@react-three/fiber` Canvas background containing an `OrbScene` with two animated meshes: an icosahedron (`orb1Ref`, color `#4F6B73`, opacity 0.16) and a sphere (`orb2Ref`, color `#F2B134`, opacity 0.13), both animated via `useFrame` with sinusoidal y-position movement and continuous rotation. The content layer uses Framer Motion `containerVariants` (staggerChildren 0.16, delayChildren 0.25) and `itemVariants` (y: 28→0, duration 0.65) to animate an h1 headline with `.cph-headline-accent` span for 'Crop Rotation', a subheadline paragraph, and an intro paragraph about Argonova's AI analysis. CSS uses `.cph-root`, `.cph-canvas-wrap` (absolute-positioned canvas), and `.cph-content`.

Depends on:#26
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#28

Implement CropPlannerForm for Crop Planner

Backlog

As a frontend developer, implement the CropPlannerForm section for the Crop Planner page. This is the most complex section, featuring: a Three.js `FloatingParticles` component with 60 particles (50% circles, 50% leaf types) animated via `useFrame` using `THREE.Vector3` positions and per-particle speed; a multi-step form with controlled state for soil type (8 options via `SOIL_TYPES`), climate region (8 options via `CLIMATE_REGIONS`), previous crop with typeahead search against 30 `CROP_SUGGESTIONS`, and garden type toggle (Farmer/Home Grower/Terrace using `GARDEN_TYPES` with Lucide icons Sprout/Home/Building2); form validation with `AnimatePresence`-driven error messages using `AlertCircle`; a multi-select crop suggestions dropdown with `Search` icon; and Framer Motion animated form card reveals. Icons from lucide-react: `Sprout`, `ChevronDown`, `AlertCircle`, `Search`, `Leaf`, `Globe`, `Home`, `Building2`, `X`. CSS uses `.cpf-` prefix classes.

Depends on:#26
Waiting for dependencies
AI 80%
Human 20%
High Priority
2.5 days
Frontend Developer
#29

Implement CropPlannerFeatures for Crop Planner

Backlog

As a frontend developer, implement the CropPlannerFeatures section for the Crop Planner page. This section renders a 6-feature grid using the `FEATURES` array: AI Crop Matching (Sparkles icon, `cf-grad-1`), Soil Health Integration (Sprout, `cf-grad-2`), Seasonal Scheduling (CalendarClock, `cf-grad-3`), Weather Sync (CloudSun, `cf-grad-1`), Yield Predictions (TrendingUp, `cf-grad-2`), and Companion Planting (GitBranch, `cf-grad-3`). A Three.js `ParticleField` is implemented using vanilla Three.js (not react-three-fiber) with a `mountRef`, 200-particle `BufferGeometry` using `Float32Array` for positions, colors (palette: `#2A3D45`, `#4F6B73`, `#D95F5F`, `#F2B134`), and sizes; a `ResizeObserver` handles canvas resizing. Feature cards use Framer Motion `useInView` hook for scroll-triggered reveal animations. CSS uses `.cf-` prefix and gradient classes `cf-grad-1/2/3`.

Depends on:#26
Waiting for dependencies
AI 83%
Human 17%
Medium Priority
2 days
Frontend Developer
#31

Implement Footer for Crop Planner

Backlog

As a frontend developer, implement the Footer section for the Crop Planner page. This component may already exist from Landing, Login, Dashboard, or Learning Center pages — verify before regenerating. It includes 4 link columns using `linkColumns` array: Product (Crop Planner, Disease Guide, Soil Health, Home Garden, Dashboard), Company (About Argonova, Mission, Careers, Press Kit), Resources (Learning Center, Farming Tutorials, Sustainable Practices, Community Forum), and Legal (Terms, Privacy, Cookie Policy, Data Protection). Social icons (LinkedIn, Twitter, Facebook, Instagram) are rendered as inline SVGs. Framer Motion `columnVariants` (custom delay: i * 0.12, y: 30→0) and `bottomVariants` (y: 20→0) animate the columns and bottom bar respectively using `useInView` hook. CSS uses `.ftr-` prefix classes.

Depends on:#26
Waiting for dependencies
AI 90%
Human 10%
Low Priority
0.5 days
Frontend Developer
#39

Implement DiseaseGuideSearch for Disease Guide

Backlog

As a frontend developer, implement the DiseaseGuideSearch section for the Disease Guide page. This section includes a Three.js Canvas with 60 individual ParticleDot mesh components using sphereGeometry, each animated via useFrame with sine/cosine positional drift. The main search bar uses controlled state (searchQuery) with a live-updating AnimatedCount component that uses AnimatePresence mode='wait' and spring transitions to animate the result count number between values. Three filter groups (Crop Type, Severity, Season) are rendered as pill-button toggles with active state. A computeCount function derives the filtered result count from the active filter combination. A RotateCcw reset button clears all filters. Lucide icons: Search, X, RotateCcw. Responsive: filter groups wrap on mobile, search bar is full-width.

Depends on:#38
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#40

Implement DiseaseGuideCategories for Disease Guide

Backlog

As a frontend developer, implement the DiseaseGuideCategories section for the Disease Guide page. This section renders a horizontally scrollable tab bar with 6 category tabs: All Diseases, Fungal, Bacterial, Viral, Nutritional Deficiency, Pest Damage. Active tab state is managed with useState(activeKey). A layoutId='dgcat-indicator' Framer Motion div provides a shared animated underline that slides between tabs via spring transition (stiffness 420, damping 32). A useCallback checkOverflow function detects horizontal overflow via scrollWidth vs clientWidth and conditionally applies a fade-mask CSS class. On tab click, the container scrolls to center the active tab using scrollTo with smooth behavior. tabRefs stores refs per tab key for offset calculations. ARIA roles: tablist and tab with aria-selected. Responsive: tabs overflow scroll on mobile with fade edge indicators.

Depends on:#38
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1 day
Frontend Developer
#42

Implement DiseaseGuideSymptomChecker for Disease Guide

Backlog

As a frontend developer, implement the DiseaseGuideSymptomChecker section for the Disease Guide page. This section features a 3D MoleculeHelix rendered in a Three.js Canvas via @react-three/fiber, with 8 sphere meshes in a helix arrangement using colors from the design palette (#2A3D45, #4F6B73, #F2B134, #D95F5F), connected by cylinderGeometry rods. The group rotates continuously via useFrame. The main UI is a multi-step symptom selector: 14 symptom chips (yellow-leaves, brown-spots, wilting, powdery-coating, deformation, lesions, stunted-growth, leaf-curl, rust-pustules, root-rot, blight, mosaic-patterns, fruit-rot, stem-canker) rendered as toggleable buttons with emoji icons. A useMemo-derived DISEASES array matches selected symptom IDs to disease entries. AnimatePresence shows matched disease result cards with severity badges (mild/moderate/severe), scientific name, description, and treatment. State: selectedSymptoms (Set), resultsVisible. Responsive: symptom chips wrap in flexible grid, results stack below on mobile.

Depends on:#38
Waiting for dependencies
AI 80%
Human 20%
High Priority
2.5 days
Frontend Developer
#43

Implement DiseaseGuidePrevention for Disease Guide

Backlog

As a frontend developer, implement the DiseaseGuidePrevention section for the Disease Guide page. This section uses a Three.js Canvas with a custom PreventionGeometry component featuring a central IcosahedronGeometry (radius 0.8, detail 1) with orbiting particle meshes animated via useFrame. The UI layout is a two-panel design: a left sidebar with 4 practice items (Crop Rotation, Sanitation, Resistant Varieties, Irrigation Management) rendered as clickable list items with Lucide icons (RefreshCw, Shield, Sprout, Droplets) and colored accent dots using var(--secondary). Clicking a practice item updates activeIndex state to show the corresponding descCard on the right panel. Each descCard shows step label, title, body text, a Lightbulb tip callout, and a colored accent border matching the practice (var(--secondary), var(--accent), var(--primary_light), var(--highlight)). ArrowRight icon indicates active selection. Framer Motion animates card transitions. Responsive: two-panel collapses to stacked accordion on mobile.

Depends on:#38
Waiting for dependencies
AI 83%
Human 17%
Medium Priority
1.5 days
Frontend Developer
#44

Implement DiseaseGuideResources for Disease Guide

Backlog

As a frontend developer, implement the DiseaseGuideResources section for the Disease Guide page. This section renders 4 resource cards (Video Tutorials, Expert Articles, Treatment Database, Community Q&A) from a resources array with Lucide icons (Play, BookOpen, Database, MessageSquare). Each ResourceCard uses useMotionValue and useSpring (stiffness 140, damping 18) for springy 3D tilt on mouse move via rotateX/rotateY motion values applied to the card wrapper style. A handleMouseMove function calculates tilt angle from cursor position relative to card center with maxTilt=7 degrees. CSS custom properties --mx and --my track cursor position for a radial glow effect via setGlowPos state. On mouse leave, spring values reset to 0. Cards use staggered containerVariants (staggerChildren 0.12) with cardVariants (opacity 0→1, y 36→0). useInView triggers animation when section scrolls into view. Each icon wrap has a unique CSS class (video, articles, database, community) for gradient color differentiation. ArrowRight icon on CTA link. Responsive: 2-column grid on tablet, 4-column on desktop, 1-column on mobile.

Depends on:#38
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1 day
Frontend Developer
#46

Implement HomeGardenModeSelector for Home Garden

To Do

As a frontend developer, implement the HomeGardenModeSelector section for the Home Garden page. This section renders three garden mode cards (terrace, home, balcony) from the MODES array, each with a React Three Fiber Canvas containing unique 3D icons — RooftopIcon (cylinderGeometry platform, torus railing, sphereGeometry plants), PottedPlantIcon, and a balcony icon — all using Float from @react-three/drei with rotationIntensity and floatIntensity props. AnimatePresence and useInView from framer-motion drive card reveal animations. useState tracks the selected mode. Each card displays title, desc, and plantCount. Suspense wraps each Canvas for async loading. Sprout, Flower2, Sun icons from lucide-react are used as fallback UI.

Depends on:#45
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#47

Implement HomeGardenPlantGrid for Home Garden

Backlog

As a frontend developer, implement the HomeGardenPlantGrid section for the Home Garden page. This section renders a grid of plant cards driven by a PLANT_ICONS map containing custom inline SVG illustrations for tomato, basil, mint, chili, coriander, and additional plant types using CSS variable-driven colors (var(--secondary), var(--text_muted)). Each card displays plant metadata — CalendarDays (next watering), Droplets (moisture), and a status indicator using CheckCircle2 or Sprout icons from lucide-react. Interactive actions include Eye (view detail), Plus (add plant), and Trash2 (delete) buttons. useState manages plant list state and useCallback optimizes handlers. useInView from framer-motion triggers staggered card entrance animations. A floating Plus button allows adding new plants.

Depends on:#45
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#48

Implement HomeGardenGrowthTracker for Home Garden

Backlog

As a frontend developer, implement the HomeGardenGrowthTracker section for the Home Garden page. This is the most complex section: it features a React Three Fiber Canvas with OrbitControls, Float, Sphere, Cylinder, and MeshDistortMaterial from @react-three/drei rendering a 3D Cherry Tomato plant model. Static data includes SELECTED_PLANT (name, variety, age 56 days, totalCycle 85 days), GROWTH_METRICS array (height 48cm, leaf count 28, yield 72% with Ruler/Leaf/TrendingUp icons and trend badges), ENV_DATA array (sunlight, moisture, pH, temperature with Sun/Droplets/Sprout/Thermometer icons), CAROUSEL_SNAPS (4 growth stage snapshots with day labels and stage text), and MILESTONES (6 timeline entries with completed/upcoming status using CheckCircle2/Clock3 icons). A STAGES progress bar tracks Germination → Seedling → Vegetative → Flowering → Fruiting stages. useState and useMemo manage carousel index and derived data. ChevronLeft/ChevronRight buttons navigate the photo carousel with AnimatePresence transitions.

Depends on:#45
Waiting for dependencies
AI 85%
Human 15%
High Priority
2.5 days
Frontend Developer
#49

Implement HomeGardenReminders for Home Garden

To Do

As a frontend developer, implement the HomeGardenReminders section for the Home Garden page. This section renders a 3D animated BellMesh using @react-three/fiber's useFrame hook — the bell group rotates continuously (rotation.y += delta * 0.4) with sinusoidal x-tilt. The bell is composed of cylinderGeometry (body), sphereGeometry dome cap, a golden clapper sphere with emissive material, and a torus ring at the base. INITIAL_REMINDERS array contains 5 reminder objects (water, fertilizer, pest, harvest types) for plants including Tomato, Spinach, Chili, Coriander, Mint — each with id, type, plant, action, date, time, done, and snoozedUntil fields. SNOOZE_OPTIONS popover offers 30min/1h/3h/Tomorrow durations. useState manages reminder done-state toggles, snooze state, and active popover. useEffect and useCallback handle snooze expiry logic. Framer Motion animates reminder card entrance.

Depends on:#45
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#50

Implement HomeGardenResourcesPanel for Home Garden

To Do

As a frontend developer, implement the HomeGardenResourcesPanel section for the Home Garden page. This section renders 6 resource cards from the resources array — typed as guide, video, or tip — each with BookOpen, Video, or Lightbulb icons from lucide-react, a tag badge, title, desc, and an ArrowRight link to internal pages (/Learning Center, /Disease Guide, /Crop Planner, /Soil Health). A React Three Fiber Canvas renders a decorative ParticleField with 45 random points using bufferGeometry/bufferAttribute and pointsMaterial (color #2A3D45, opacity 0.25). Card entrance uses cardVariants with staggered delay (i * 0.08) and headerVariants for the section header. useInView from framer-motion triggers animations on scroll. useMemo memoizes particle positions. useRef and useCallback are imported for potential scroll handlers.

Depends on:#45
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1 day
Frontend Developer
#51

Implement HomeGardenGetStarted for Home Garden

To Do

As a frontend developer, implement the HomeGardenGetStarted section for the Home Garden page. This CTA section features a React Three Fiber Canvas with a ParticleOrbit 3D component — 36 orbiting sphere particles generated via useMemo, each with randomized angle, radius (0.65–0.9), y position, size (0.02–0.06), and alternating colors (#F2B134, #D95F5F, #4F6B73) with emissive glow. A thin torus ring (torusGeometry args [0.78, 0.01]) anchors the orbit visually. useFrame rotates the group (rotation.y += delta * 0.3, rotation.x += delta * 0.08). The content area uses three Framer Motion variants — fadeUp (opacity/y), fadeUpBtn (opacity/y/scale with 0.2s delay), and scaleIn (scale from 0.7) — triggered by useInView with once: true and -80px margin. A Plus icon from lucide-react is present in the primary CTA button. Decorative hgs-accent-bar, hgs-deco-dot-1, and hgs-deco-dot-2 divs add ambient background effects.

Depends on:#45
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1.5 days
Frontend Developer
#68

Integrate Soil Health Frontend Backend

To Do

As a Tech Lead, verify end-to-end integration between SoilHealthNutrientPanel, SoilHealthpHAndMoisture, SoilHealthFertilizerGuidance, and SoilHealthTrends frontend sections and the Soil Health Data API. Ensure nutrient data is fetched from Supabase based on the authenticated user's soil_type from their profile, pH and moisture values are correctly rendered in the gauge components, fertilizer recommendations are populated from the API response, and trend chart data is fetched for the selected time range.

Depends on:#33#34#36#58#35
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#70

Integrate Farm Score Frontend Backend

To Do

As a Tech Lead, verify end-to-end integration between the DashboardFarmScore frontend section and the Farm Score Calculation API. Ensure the score is fetched from the Supabase RPC using the authenticated user's data, the SVG animated ring renders the correct score value from the API response, sub-metrics (Soil Health, Crop Rotation Compliance, Disease Prevention) are populated from the API, and the getInterpretation() label reflects the live score correctly.

Depends on:#59#19
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
#71

Integrate Dashboard Profile Personalization

To Do

As a Tech Lead, verify end-to-end integration between Dashboard frontend sections and the User Profile API. Ensure the Dashboard fetches and displays personalized content based on user_type, soil_type, preferred_language, and village from the Supabase user profile, the language switcher in Navbar correctly updates the profile via the API and switches UI language immediately, and the DashboardStats section reflects user-specific farm data. Verify all personalization flows work correctly after login session hydration.

Depends on:#63#60#18#16#54
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#145

Integrate Crop Rotation Dashboard

To Do

As a Tech Lead, verify end-to-end integration between the DashboardCropRotation frontend section (task 69fedd92) and the Crop History API (tmp_crop_history_api). Confirm: (1) DashboardCropRotation fetches crop_history rows for the authenticated user on mount using `get_crop_history` RPC; (2) crops are rendered with correct type flags (past vs. next/recommended); (3) Supabase Realtime subscription (task 94b7918d) correctly reflects new entries when a crop plan is saved via Crop Planner; (4) accordion expand/collapse animations work with live data; (5) empty state is shown when no history exists for a new user.

Depends on:#144#20
Waiting for dependencies
AI 80%
Human 20%
Medium Priority
0.5 days
Tech Lead
#146

Integrate Dashboard Stats API

To Do

As a Tech Lead, verify end-to-end integration between the DashboardStats frontend section (task 2e6e1278) and the User Profile API (d9cde3a8) and Farm Score API (cb5fb3ba). Confirm: (1) Farm Score stat card renders the live score from `calculate_farm_score` RPC; (2) Soil pH stat pulls from soil_health data keyed to user's soil_type from profile; (3) 'Last Watering' stat reflects the most recent done reminder from plant_reminders table; (4) 'Disease Risk' stat is derived from the disease_reference dataset based on current season; (5) all four stat cards show skeleton loaders during initial fetch; (6) sparkline bar data is generated client-side from fetched values.

Depends on:#18#59#54
Waiting for dependencies
AI 80%
Human 20%
Medium Priority
0.5 days
Tech Lead
#148

Integrate Learning Center Progress Tracking

To Do

As a Tech Lead, verify end-to-end integration of learning resource view tracking in the Learning Center. This extends the existing dd37bfaa integration task with additional verification: (1) `track-resource-view` Edge Function is called when a resource card is clicked or expanded in LearningCenterHero; (2) view_count increments atomically in the `learning_resources` table; (3) LearningCenterSeasonalTips section tracks tip impressions separately; (4) language switcher in Navbar correctly triggers a re-fetch of resources via `get_learning_resources` with the new locale parameter; (5) Supabase RLS correctly allows authenticated users to increment view_count but not modify other fields. Note: Verify no overlap with dd37bfaa which covers the base content fetch — this task focuses on the tracking and language-switch re-fetch flows.

Depends on:#77#78#99
Waiting for dependencies
AI 80%
Human 20%
Low Priority
0.5 days
Tech Lead
#151

Integrate Language Navbar Sync

To Do

As a Tech Lead, verify end-to-end integration of the language switcher Navbar component across all pages (Landing, Login, Signup, Dashboard, Crop Planner, Soil Health, Disease Guide, Home Garden, Learning Center). Confirm: (1) the shared Navbar component correctly reads activeLang from useLanguage() global state rather than local useState on pages where user is authenticated; (2) on language switch, `update_user_language` RPC (task 6ffb4f3a) is called for authenticated users; (3) unauthenticated users have language stored in localStorage only; (4) all pages re-render translated labels without page reload after language switch; (5) the activeLang state is synchronized across all Navbar instances (no stale state on page navigation). This task extends c85391e1 which covers the i18n framework wiring — this task focuses on Navbar multi-page synchronization specifically.

Depends on:#63#99#98
Waiting for dependencies
AI 80%
Human 20%
Medium Priority
0.5 days
Tech Lead
#30

Implement CropPlannerCTA for Crop Planner

Backlog

As a frontend developer, implement the CropPlannerCTA section for the Crop Planner page. This section includes: a Three.js `CtaParticles` component (48 particles, `PARTICLE_COUNT`, color `#FFDD57`, `AdditiveBlending`, opacity 0.6) with pre-computed `Float32Array` positions and `useMemo`-based RAF animation loop for rotation; a toast notification system with `toast` state, `TOAST_DURATION` (4500ms), `toastTimerRef` for cleanup, and `AnimatePresence`-driven toast display; a 'Save Plan' button (`handleSave`) triggering the toast with 'Plan saved! Start tracking your growth journey.'; an 'Export PDF' button (`handleExport`) opening a modal (`modalOpen` state, `handleCloseModal`); three supporting icon buttons using `Bookmark`, `FileText`, `CheckCircle` from lucide-react with labels 'PDF Export', 'Save Plan', 'Track Growth'; and a `X` icon for modal close. CSS uses `.cta-` prefix, `.cta-canvas-wrap` for Three.js layer.

Depends on:#28
Waiting for dependencies
AI 83%
Human 17%
Medium Priority
1.5 days
Frontend Developer
#41

Implement DiseaseGuideGrid for Disease Guide

Backlog

As a frontend developer, implement the DiseaseGuideGrid section for the Disease Guide page. This section renders a grid of disease cards from a DISEASES array containing realistic Indian agriculture diseases: Late Blight, Powdery Mildew, Leaf Rust, Bacterial Wilt, and others. Each card displays icon (emoji), name, affected crops, severity badge, and a short description. Cards use Three.js (imported as * from 'three') for a per-card 3D hover glow effect using WebGLRenderer on a canvas overlay. AnimatePresence wraps the card grid for enter/exit transitions. Cards expand on click to reveal a detailed drawer with symptoms, treatment, and prevention fields from the disease data object. Severity levels map to color-coded badges (high=red/secondary, medium=amber/accent). Framer Motion card variants use opacity, y, and scale. Responsive: 1 column mobile, 2 columns tablet, 3 columns desktop grid.

Depends on:#39#40
Waiting for dependencies
AI 82%
Human 18%
High Priority
2 days
Frontend Developer
#66

Integrate Crop Planner Frontend Backend

To Do

As a Tech Lead, verify end-to-end integration between the CropPlannerForm frontend section and the Crop Planner Recommendations API. Ensure form submission correctly calls the Supabase RPC with previous_crop, soil_type, and season inputs, the recommendation response is displayed in the UI (crop name, fertilizer, water requirements, sustainability insights), results are saved to crop_history table for the authenticated user, and error states are handled in the UI when no recommendation is found.

Depends on:#28#55
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#69

Integrate Home Garden Frontend Backend

To Do

As a Tech Lead, verify end-to-end integration between HomeGardenPlantGrid, HomeGardenGrowthTracker, and HomeGardenReminders frontend sections and the Garden Tracker CRUD API. Ensure plant list is fetched from garden_tracker table for the authenticated user, adding/deleting plants correctly persists to Supabase, growth_status updates are saved, reminder data is stored and retrieved correctly, and watering schedule data flows from the API into the reminder UI components.

Depends on:#57#49#47#48
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#109

Integrate Watering Reminders Frontend Backend

To Do

As a Tech Lead, verify end-to-end integration between the HomeGardenReminders frontend section (task 25a9e57c) and the Watering Reminder Notifications API (task tmp_watering_reminder_notifications_api). Confirm: (1) reminder list is fetched from `plant_reminders` table for authenticated user on mount; (2) done-state toggles call `update_reminder` with `is_done=true`; (3) snooze options (30min/1h/3h/Tomorrow) call `update_reminder` with correct `snoozed_until` timestamp; (4) new reminders created via the HomeGardenPlantGrid 'Add Plant' flow are persisted; (5) Supabase Realtime subscription (task tmp_supabase_realtime_subscriptions) reflects reminder state changes without page refresh.

Depends on:#108#49
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
#67

Integrate Disease Guide Frontend Backend

To Do

As a Tech Lead, verify end-to-end integration between DiseaseGuideSymptomChecker and DiseaseGuideGrid frontend sections and the Disease Guide Data API. Ensure symptom selection correctly queries the Supabase disease dataset, matched diseases are displayed with correct severity badges and treatment info, user disease report queries are saved to disease_reports table, and search/filter in DiseaseGuideSearch correctly filters the disease dataset from the backend.

Depends on:#41#56#39#42
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#147

Integrate Home Garden Full Flow

To Do

As a Tech Lead, verify complete end-to-end integration across all Home Garden sections. This extends the existing b76a2a09 integration task with additional verification: (1) HomeGardenHero mode selection (terrace/home/apartment) persists selected mode to user profile via User Profile API (d9cde3a8) and filters the plant grid accordingly; (2) HomeGardenModeSelector 3D mode cards correctly reflect user's stored garden type from profile on load; (3) HomeGardenResourcesPanel links (/Learning Center, /Disease Guide, /Crop Planner, /Soil Health) are correctly routed via React Router protected routes (ab532a76); (4) HomeGardenGetStarted CTA navigates authenticated users to plant creation flow and unauthenticated users to /Signup. Note: This task complements b76a2a09 which covers CRUD and reminder integration — do not duplicate those verifications.

Depends on:#50#69#51#64#54#46
Waiting for dependencies
AI 80%
Human 20%
Medium Priority
0.5 days
Tech Lead
#165

crop

To Do

it should to every task

Depends on:#50#107#49#130#131#95#98#101#97#25#109#108#105#30#36#106#133#35#27#132#96#94#46#29#51
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
1 day
#149

Integrate Disease Guide Report Flow

To Do

As a Tech Lead, verify end-to-end integration of the disease report submission flow in the Disease Guide. This extends the existing 34fccb1c integration task: (1) DiseaseGuideSymptomChecker 'Report Sighting' action (when user identifies a disease) correctly saves to `disease_reports` table with user_id, crop_name, matched symptom tags, disease_name; (2) EmailJS hook (task 39afc860) sends admin notification via `sendEmail` on disease report submit; (3) DiseaseGuideSearch filter correctly queries Supabase with severity, crop type, and season parameters from the API (844f6d82); (4) disease detail drawer in DiseaseGuideGrid shows treatment and prevention fields populated from `disease_reference` seed data. Note: Does not duplicate base symptom-matching or grid rendering integration already covered by 34fccb1c.

Depends on:#82#56#67
Waiting for dependencies
AI 80%
Human 20%
Medium Priority
0.5 days
Tech Lead
Landing: View Platform
Login: Sign In
Signup: Create Account
Dashboard: View Overview
Learning Center: Browse Tutorials
Learning Center: Watch Videos
Learning Center: Read Seasonal Tips
Learning Center: Explore Organic Farming
Crop Planner: Explore Recommendations
Disease Guide: Learn Prevention