Technical Architecture¶
AgriOS is built as a collection of Odoo modules that extend Odoo Community Edition with agriculture-specific functionality.
System Overview¶
┌─────────────────────────────────────────────────────────────────┐
│ AgriOS Platform │
├─────────────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ AgriOS Modules │ │ Odoo Core Apps │ │ Integrations │ │
│ │─────────────────│ │─────────────────│ │─────────────────│ │
│ │ agrios_farmer │ │ Sales │ │ KoBoToolbox │ │
│ │ agrios_plot │ │ Purchase │ │ │ │
│ │ agrios_trade │ │ Inventory │ │ Future: │ │
│ │ agrios_training │ │ Accounting │ │ AgStack │ │
│ │ agrios_kobo │ │ Contacts │ │ WHISP │ │
│ │ agrios_theme │ │ Reporting │ │ │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Odoo 18 Framework │ │
│ │ ORM │ Views │ Security │ Workflows │ Reports │ API │ │
│ └─────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ PostgreSQL │ Web Server │ File Storage │
└─────────────────────────────────────────────────────────────────┘
Technology Stack¶
Core Platform¶
Odoo |
Version 18.0 Community Edition |
Python |
3.10 or higher |
PostgreSQL |
14, 15, or 16 |
Web Server |
Nginx (recommended) or Apache |
Frontend¶
Odoo Web Client (JavaScript/OWL framework)
Responsive design for mobile access
Progressive Web App capabilities
Integrations¶
KoBoToolbox: REST API integration for mobile data collection
Standard APIs: XML-RPC, JSON-RPC for external integrations
AgriOS Module Architecture¶
AgriOS modules follow Odoo’s modular architecture:
agrios_farmer¶
Core module for farmer and group management.
Farmer profiles with demographic data
Farmer groups (cooperatives, associations)
Household composition tracking
Interaction logging
agrios_plot¶
Agricultural land and production management.
Plot registration with geolocation
Crop and variety tracking
Area calculations
Land tenure documentation
agrios_training¶
Training program administration.
Training sessions and curricula
Attendance tracking
Certification management
Training reports
agrios_trade¶
Trade and transaction management.
Purchase transactions from farmers
Sales to buyers
Quality grading
Payment tracking
Traceability records
agrios_kobo¶
KoBoToolbox integration module.
Form synchronization
Data import workflows
Mapping configuration
Scheduled sync jobs
agrios_theme¶
Visual branding and user experience.
AgriOS color scheme and styling
Custom icons and imagery
Dashboard widgets
Module Dependencies¶
agrios_theme
│
├── agrios_farmer ←─────┐
│ │ │
│ ├── agrios_plot
│ │
│ ├── agrios_training
│ │
│ └── agrios_trade
│
└── agrios_kobo ────────┘
All AgriOS modules depend on agrios_theme for consistent branding. The agrios_farmer module provides core models used by other modules.
Data Model Overview¶
Key entities and their relationships:
Farmer Group
│
├── Farmer ────┬── Plot
│ │
│ ├── Training Attendance
│ │
│ └── Trade Transaction
│
└── Area (Geographic)
Security Model¶
AgriOS uses Odoo’s security framework:
User Groups
AgriOS User: Basic access to view and create records
AgriOS Manager: Full access including configuration
AgriOS Admin: System administration
Record Rules
Users see records within their assigned areas/groups
Managers have broader access
Admins have unrestricted access
Field-Level Security
Sensitive fields (e.g., ID numbers) restricted by group
Audit trails for critical changes
Deployment Options¶
AgriOS can be deployed in several configurations:
- Managed Hosting (Recommended)
Cloudpepper or other Odoo hosting providers handle infrastructure, updates, and backups.
- Self-Hosted
On-premises or cloud VM deployment with full control over the environment.
- Docker
Containerized deployment for development or production use.
See Installation for detailed deployment instructions.
Scalability¶
AgriOS scales with Odoo’s proven architecture:
Vertical scaling: Increase server resources for larger workloads
Horizontal scaling: Multiple Odoo workers for concurrent users
Database optimization: PostgreSQL tuning for large datasets
Caching: Redis or other caching for improved performance
For deployments with 10,000+ farmers or high transaction volumes, consult the System Requirements guide.