← Volver a proyectos

Kora

Planificación y control operativo agrícola

Sistema de gestión operativa de cultivos

En desarrollo Proyecto propio noviembre de 2025
Reto

Los sistemas agrícolas suelen tratar la planificación y la ejecución como una misma realidad, lo que dificulta auditar qué ocurrió realmente en campo.

Solución

Kora modela el dominio agrícola separando explícitamente la intención (Schedules y presupuestos) de la realidad ejecutada (ciclos de cultivo, actividades y costos), con DDD.

Resultado

El modelo dejó de tratar planificación y ejecución como lo mismo: cada una tiene sus reglas y su trazabilidad, con la planificación como hipótesis y la ejecución como evidencia.

Detalle técnico (arquitectura, decisiones y stack)
Reto técnico

Diseñar un sistema capaz de representar operaciones agrícolas reales con precisión, incluyendo ciclos de cultivo, programación operativa, uso de áreas, actividades, costos y eventos de ejecución, manteniendo consistencia de dominio sin reducir el modelo a simples operaciones CRUD.

Modelo de dominio

Kora estructura el dominio agrícola alrededor de conceptos operativos reales y sus relaciones temporales.

  • Crop Cycle: representación de la ejecución real de un cultivo
  • Schedule: programación e intención operacional previa a ejecución
  • Areas: unidades geográficas o productivas asociadas a operaciones agrícolas
  • Periods: ventanas temporales y fases operativas dentro del ciclo agrícola
  • Activities: eventos y acciones ejecutadas durante el ciclo
  • Operational Costs: registro y análisis de costos asociados a ejecución real

La arquitectura busca representar el comportamiento natural del negocio agrícola, permitiendo contrastar lo planificado contra lo realmente ejecutado.

Arquitectura y enfoque

Kora no se plantea como un simple sistema administrativo agrícola, sino como una exploración de modelado de dominio aplicado a operaciones reales.

El proyecto utiliza:

  • Domain-Driven Design (DDD) para modelado semántico del dominio
  • Clean Architecture para desacoplar reglas de negocio de infraestructura
  • Bounded Contexts para separar responsabilidades operativas
  • Value Objects y agregados para proteger invariantes del dominio
  • Diseño evolutivo orientado a crecimiento y trazabilidad histórica

El objetivo no es únicamente registrar datos agrícolas, sino construir una base consistente para análisis operativo, control de ejecución y futura inteligencia de negocio aplicada al sector agrícola.

Decisiones técnicas

Separación explícita entre planificación y ejecución: un Schedule representa intención; un Crop Cycle representa realidad operativa

DDD sobre arquitectura CRUD tradicional: el dominio agrícola contiene invariantes y reglas temporales que requieren comportamiento de dominio

Bounded Contexts para desacoplar áreas operativas como agricultura, finanzas y monitoreo

Agregados orientados a consistencia operacional, no a estructura de tablas

Modelo diseñado para evolucionar hacia análisis operativo y trazabilidad histórica

Stack

RustPostgreSQLDocker