Transport components:
- TransportTimeline: Visual timeline of transport events with status badges
- JourneyMap: SVG-based map visualization of plant journey locations
- CarbonFootprintCard: Carbon metrics display with comparison charts
- QRCodeDisplay: QR code generation for traceability verification
- TransportEventForm: Form for recording transport events
Demand components:
- DemandSignalCard: Regional demand signal with supply status indicators
- PreferencesForm: Multi-section consumer preference input form
- RecommendationList: Planting recommendations with risk assessment
- SupplyGapChart: Supply vs demand visualization with gap indicators
- SeasonalCalendar: Seasonal produce availability calendar view
Analytics components:
- EnvironmentalImpact: Comprehensive carbon and food miles analysis
- FoodMilesTracker: Food miles tracking with daily charts and targets
- SavingsCalculator: Environmental savings vs conventional agriculture
All components follow existing patterns, use Tailwind CSS, and are fully typed.
Implemented comprehensive UI for displaying and managing environmental
data, with smart recommendations and health scoring.
Components Created:
- EnvironmentalForm.tsx - Multi-section form for all environmental data
* Tabbed interface for 8 environmental categories
* Soil composition (type, pH, texture, drainage, amendments)
* Nutrients (NPK, micronutrients, EC/TDS)
* Lighting (natural/artificial with detailed metrics)
* Climate (temperature, humidity, airflow, zones)
* Location (indoor/outdoor, growing type)
* Container (type, size, drainage warnings)
* Watering (method, source, quality)
* Surroundings (ecosystem, wind, companions)
* Real-time validation and helpful tips
- EnvironmentalDisplay.tsx - Beautiful display of environmental data
* Environmental health score with color coding (0-100)
* Priority-based recommendations (critical → low)
* Organized sections for soil, climate, lighting, etc.
* Data points with smart formatting
* Warning highlights for critical issues
* Integration with recommendations API
Plant Detail Page Integration:
- Added Environment tab to plant detail page
- Shows full environmental data when available
- Displays recommendations with health score
- Empty state with educational content when no data
- Link to Environmental Tracking Guide
- Call-to-action to add environmental data
Features:
- Health Score: 0-100 rating with color-coded progress bar
- Smart Recommendations: Auto-fetched, priority-sorted advice
- Critical Warnings: Red highlights for no drainage, extreme values
- Helpful Tips: Inline guidance for each section
- Responsive Design: Works on mobile and desktop
- Real-time Validation: pH ranges, temperature warnings
Environmental Health Scoring:
- 90-100: Excellent conditions
- 75-89: Good conditions
- 60-74: Adequate conditions
- 40-59: Suboptimal conditions
- 0-39: Poor conditions
Recommendation Priorities:
- 🚨 Critical: No drainage, extreme conditions
- ⚠️ High: pH problems, insufficient light
- 💡 Medium: Humidity, organic matter
- ℹ️ Low: Water quality tweaks
User Experience Improvements:
- "Add" badge on Environment tab when no data
- Educational empty states explaining benefits
- Smart formatting (snake_case → Title Case)
- Color-coded health indicators
- Expandable sections to prevent overwhelming UI
- Context-aware tips and recommendations
This enables users to:
- Easily input environmental data
- See personalized recommendations
- Monitor environmental health
- Learn best practices inline
- Track improvements over time
Implements comprehensive privacy and anonymity features including Tor
hidden service support, location obfuscation, and anonymous registration.
Privacy Features:
- Anonymous plant registration with zero personal information
- Location privacy levels: exact, fuzzy, city, country, hidden
- Pseudonymous identities and wallet addresses
- Privacy settings component with real-time Tor status
- Encrypted anonymous contact generation
Tor Integration:
- SOCKS proxy support for Tor connections
- Hidden service (.onion) configuration
- Tor connection detection and status API
- Docker Compose setup for easy Tor deployment
- Automatic privacy warnings when not using Tor
Location Obfuscation:
- Fuzzy location: ±1-5km random offset
- City level: ~10km grid
- Country level: ~100km grid
- Hidden: complete location privacy
- Haversine-based distance calculations preserved
Anonymous Registration:
- /plants/register-anonymous endpoint
- Privacy-first UI with Tor status banner
- Anonymous IDs and wallet addresses
- Optional pseudonym support
- Encryption key support for enhanced security
Infrastructure:
- Tor service integration (lib/services/tor.ts)
- Privacy utilities (lib/privacy/anonymity.ts)
- PrivacySettings React component
- Tor status API endpoint
- Docker and docker-compose configurations
- Example Tor configuration (torrc.example)
Documentation:
- Comprehensive TOR_SETUP.md guide
- Installation instructions for Linux/macOS/Windows
- Privacy best practices
- Troubleshooting guide
- Security considerations
- Updated README with Tor features
Dependencies:
- Added socks-proxy-agent for Tor proxy support
This enables:
- Privacy-conscious growers to share anonymously
- Protection of exact home locations
- Censorship-resistant plant sharing
- Community building without identity disclosure
- Compliance with privacy regulations
All privacy features are optional and configurable.
Users can choose their desired privacy level.