localgreenchain/docs/architecture/system-overview.md
Claude ac93368e9a
Add seed-to-seed transport tracking, demand forecasting, and vertical farming systems
This comprehensive update implements:

Transport Tracking System:
- Complete seed-to-seed lifecycle tracking with 9 event types
- TransportChain blockchain for immutable transport records
- Carbon footprint calculation per transport method
- Food miles tracking with Haversine distance calculation
- QR code generation for full traceability

Demand Forecasting System:
- Consumer preference registration and aggregation
- Regional demand signal generation
- Supply gap identification and market matching
- Grower planting recommendations with risk assessment
- Seasonal planning integration

Vertical Farming Module:
- Multi-zone facility management
- Environmental control systems (HVAC, CO2, humidity, lighting)
- Growing recipes with stage-based environment targets
- Crop batch tracking with health scoring
- Farm analytics generation

Documentation:
- Complete docs/ folder structure for Turborepo
- Seed-to-seed transport concept documentation
- Demand forecasting and seasonal planning guides
- System architecture and user blockchain design
- Transport API reference
- Vertical farming integration guide

Agent Report:
- AGENT_REPORT.md with 5 parallel agent tasks for continued development
- API routes implementation task
- UI components task
- Vertical farming pages task
- Testing suite task
- Documentation completion task
2025-11-22 18:23:08 +00:00

246 lines
13 KiB
Markdown

# System Architecture Overview
LocalGreenChain is a distributed agricultural tracking platform built on blockchain technology with a focus on demand-driven, seasonal production and reduced environmental impact.
## High-Level Architecture
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ LOCALGREENCHAIN PLATFORM │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ PRESENTATION LAYER │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌────────────┐ │ │
│ │ │ Web App │ │ Mobile PWA │ │ IoT Hub │ │ QR Scanner│ │ │
│ │ │ (Next.js) │ │ (React) │ │ Dashboard │ │ App │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ API LAYER │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌────────────┐ │ │
│ │ │ Plants │ │ Transport │ │ Demand │ │ Vertical │ │ │
│ │ │ API │ │ API │ │ API │ │ Farm API │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ SERVICE LAYER │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌────────────┐ │ │
│ │ │ Blockchain │ │ Climate │ │ Demand │ │ Carbon │ │ │
│ │ │ Service │ │ Service │ │ Forecasting│ │ Calculator│ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └────────────┘ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌────────────┐ │ │
│ │ │ Geolocation │ │ Privacy │ │ Seed │ │ Analytics │ │ │
│ │ │ Service │ │ (Tor) │ │ Service │ │ Engine │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ DATA LAYER │ │
│ │ ┌─────────────────────────────────────────────────────────────┐ │ │
│ │ │ USER BLOCKCHAINS │ │ │
│ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │
│ │ │ │ User A │ │ User B │ │ User C │ │ ... │ │ │ │
│ │ │ │ Chain │ │ Chain │ │ Chain │ │ │ │ │ │
│ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │
│ │ └─────────────────────────────────────────────────────────────┘ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ Master │ │ Demand │ │ Climate │ │ │
│ │ │ Ledger │ │ Store │ │ Store │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
## Core Components
### 1. User Blockchain System
Each user operates their own blockchain that records:
- Plant registrations
- Growth updates
- Transport events
- Harvest records
- Seed saving activities
```typescript
// User blockchain structure
interface UserBlockchain {
userId: string;
publicKey: string;
chain: PlantBlock[];
transportChain: TransportBlock[];
demandPreferences: DemandPreference[];
}
```
### 2. Master Ledger
A global ledger that:
- Indexes all user blockchains
- Maintains cross-references for plant lineage
- Validates chain integrity
- Calculates network-wide statistics
### 3. Demand Forecasting Engine
Predicts demand based on:
- Historical consumption patterns
- Seasonal trends
- Weather forecasts
- Consumer preferences
- Regional availability
### 4. Carbon Calculator
Tracks environmental impact:
- Transport emissions
- Growing resource usage
- Packaging lifecycle
- Waste generation
## Data Flow
### Plant Registration Flow
```
User Input → Validation → Block Creation → Mining → Chain Addition → Index Update
Master Ledger Sync
```
### Transport Event Flow
```
Transport Scan → GPS Capture → Condition Check → Block Creation → Chain Update
↓ ↓ ↓
QR Decode Location Record Temp/Humidity
↓ ↓ ↓
Plant Lookup Distance Calc Alert if OOB
Carbon Calculation
```
### Demand Signal Flow
```
Consumer Preference → Aggregation → Forecasting → Grower Signals
↓ ↓
Market Data Planting Recommendations
↓ ↓
Weather API Seasonal Optimization
```
## Module Structure
```
localgreenchain/
├── lib/
│ ├── blockchain/ # Core blockchain implementation
│ │ ├── PlantBlock.ts # Block structure
│ │ ├── PlantChain.ts # Chain operations
│ │ ├── UserChain.ts # Per-user blockchain
│ │ ├── types.ts # Type definitions
│ │ └── manager.ts # Singleton manager
│ │
│ ├── transport/ # Transport tracking
│ │ ├── events.ts # Event types
│ │ ├── tracker.ts # Transport logic
│ │ ├── carbon.ts # Emissions calculator
│ │ └── qr.ts # QR code generation
│ │
│ ├── demand/ # Demand forecasting
│ │ ├── forecaster.ts # ML forecasting
│ │ ├── seasonal.ts # Seasonal planning
│ │ ├── aggregator.ts # Demand aggregation
│ │ └── signals.ts # Grower notifications
│ │
│ ├── vertical-farming/ # Vertical farm integration
│ │ ├── controller.ts # Environment control
│ │ ├── sensors.ts # IoT integration
│ │ ├── automation.ts # Automated systems
│ │ └── recipes.ts # Growing recipes
│ │
│ ├── environment/ # Environmental tracking
│ │ ├── types.ts # Environment types
│ │ └── analysis.ts # Data analysis
│ │
│ ├── privacy/ # Privacy features
│ │ └── anonymity.ts # Tor integration
│ │
│ └── services/ # External services
│ ├── geolocation.ts # Location services
│ ├── plantsnet.ts # Plants.net API
│ └── tor.ts # Tor connectivity
├── pages/
│ ├── api/ # API routes
│ │ ├── plants/ # Plant endpoints
│ │ ├── transport/ # Transport endpoints
│ │ ├── demand/ # Demand endpoints
│ │ └── vertical-farm/ # VF endpoints
│ │
│ └── [pages] # UI pages
├── components/ # React components
├── docs/ # Documentation
└── types/ # Global types
```
## Security Model
### Blockchain Security
- **Proof-of-Work**: Mining difficulty prevents rapid chain modification
- **Hash Linking**: Each block references previous hash
- **Validation**: Full chain validation before accepting data
### User Security
- **Wallet Addresses**: Pseudonymous identification
- **Tor Integration**: Optional anonymous operation
- **Location Privacy**: Configurable precision levels
### Data Integrity
- **Immutable Records**: Historical data cannot be altered
- **Cross-Verification**: Multiple parties can verify events
- **Audit Trail**: Complete history of all operations
## Scalability Strategy
### Current Implementation (10K plants)
- File-based blockchain storage
- Single-server architecture
- Client-side rendering
### Medium Scale (100K plants)
- PostgreSQL/MongoDB backend
- Redis caching layer
- Load-balanced API servers
### Large Scale (1M+ plants)
- Distributed node network
- Geographic sharding
- P2P blockchain sync
- Mobile-first architecture
## Integration Points
### External APIs
- **Plants.net**: Plant identification
- **OpenStreetMap**: Geocoding
- **Weather APIs**: Climate data
- **Carbon APIs**: Emission factors
### IoT Devices
- **Temperature sensors**: Cold chain monitoring
- **GPS trackers**: Transport tracking
- **Humidity sensors**: Environment monitoring
- **Vertical farm controllers**: Automated growing