AgriTech / Research TÜBİTAK-1003 Research

TİKDAS — Climate Resilience Platform

Single Spring Boot platform serving both a researcher web tool and a Flutter farmer app, validated with 922+ field surveys.

922+
Field surveys
13
Resilience indicators
8
Strategic crops
8
Turkish provinces

Problem

Turkey had no digital system to measure agricultural enterprises' resilience to climate change — assessments were manual, non-reusable and could not be aggregated across household, regional and national levels.

Solution

Built a single Spring Boot backend powering both a researcher web tool and a Flutter mobile self-assessment app, implementing a 13-indicator resilience algorithm across social, economic, environmental and managerial dimensions. Validated with 922+ field surveys across 8 strategic crops and 8 Turkish provinces.

Architecture

$ render architecture.mmd

flowchart TB
  subgraph Field[Field]
    Farmer[Farmer · Flutter App]
  end
  subgraph Lab[Research Lab]
    Researcher[Researcher Web Tool]
  end
  Farmer --> API[Spring Boot API]
  Researcher --> API
  API --> Algo[13-Indicator<br/>Resilience Algorithm]
  Algo --> Score[Resilience Score]
  API --> Survey[Survey Validator]
  Score --> DB[(PostgreSQL)]
  Survey --> DB
  DB --> Export[CSV · Excel · JSON Export]

Technical decisions

$ git log --oneline decisions/

#01

One backend, two clients

The same Spring Boot API and resilience algorithm served both the researcher web tool and the farmer mobile app — no two implementations to drift.

#02

13-indicator algorithm as a pure function

The scoring logic lived in a deterministic, side-effect-free service so academic reviewers could replay any historical assessment from raw inputs.

#03

Multi-format export from one query model

CSV, Excel and JSON exports projected from the same read model so researchers always got matching numbers across formats.

Technologies

Java Spring Boot Flutter PostgreSQL REST APIs

Have a similar challenge?

Let's talk