How ctrl-alt-elite-za/farmable works
Farmable is a farmer-focused decision-support application intended to reduce income loss using market prices, weather forecasts, and input costs. The backend is the clearest runtime entry point in the supplied evidence; its domain modules cover farm records, planning, forecasts, diagnosis, and assistant features, with workers handling asynchronous photo and diagnosis processing. The README establishes the product capabilities, while sampled excerpts support only a subset of the connections shown. The mobile tree contains native shells but no sampled application workflow, so it is not mapped as a client implementation.
Main entry points: service.py Planning service · main.py FastAPI application · app.py Local demo API · diagnosis_worker.py Diagnosis worker
Components 24
Backend API
- FastAPI application
apps/backend/src/farmable_backend/main.py - Authentication
apps/backend/src/farmable_backend/auth.py - Local demo API
apps/backend/src/farmable_backend/demo_api/app.py
Farm Operations
- Records API
apps/backend/src/farmable_backend/records_api.py - Records service
apps/backend/src/farmable_backend/records_service.py - ORM models
apps/backend/src/farmable_backend/models.py - Database
apps/backend/src/farmable_backend/database.py - Demo store
apps/backend/src/farmable_backend/demo_api/storage.py
Decision Support
- Planning API
apps/backend/src/farmable_backend/planning/api.py - Planning service
apps/backend/src/farmable_backend/planning/service.py - Planning engine
apps/backend/src/farmable_backend/planning/engine.py - Forecast API
apps/backend/src/farmable_backend/forecast_api.py - Forecast jobs
apps/backend/src/farmable_backend/forecasts.py - Assistant API
apps/backend/src/farmable_backend/assistant/api.py - Assistant runtime
apps/backend/src/farmable_backend/assistant/runtime.py
Async Processing
- Diagnosis API
apps/backend/src/farmable_backend/diagnosis_api.py - Diagnosis worker
apps/backend/src/farmable_backend/diagnosis_worker.py - Photo worker
apps/backend/src/farmable_backend/photo_worker.py
External Integrations
- Provider adapters
apps/backend/src/farmable_backend/integrations/registry.py
Other components
- Farmer
- Weather services
- Market price data
- Crop health provider
- Photo storage
Connections 8
- Farmer → FastAPI application: uses API
- FastAPI application → Authentication: calls auth
- Farmer → Local demo API: uses demo
- Local demo API → Demo store: reads and writes
- Planning service → Database: reads forecast state
- Planning service → Weather services: loads cached weather
- Diagnosis worker → Crop health provider: requests diagnosis
- Photo worker → Photo storage: reads and publishes