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.