Skip to main content
Version: 1.0

What is ODE?

Open Data Ensemble (ODE) is a platform designed to simplify mobile data collection and management. It provides tools and infrastructure for creating forms, collecting data in the field, and synchronizing information across devices and servers.

Overview

ODE addresses the challenges of data collection in environments where connectivity is unreliable or intermittent. The platform is built with an offline-first architecture, ensuring that data collection continues regardless of network availability.

Problem Statement

Traditional data collection solutions often require constant internet connectivity, making them unsuitable for field work in remote areas. ODE solves this by:

  • Storing data locally on mobile devices
  • Synchronizing data when connectivity is available
  • Resolving conflicts automatically when multiple devices modify the same data
  • Providing a flexible form design system that adapts to various use cases

Key Features

Offline-First Design

All data is stored locally on the device using WatermelonDB, a reactive database optimized for React Native. This ensures that data collection continues even when the device is offline.

Flexible Form System

Forms are defined using JSON schema, following the JSON Forms specification. This allows for complex validation rules, conditional logic, and custom question types.

Reliable Synchronization

The synchronization protocol handles conflicts, ensures data integrity, and supports incremental updates to minimize bandwidth usage.

Cross-Platform Support

ODE applications run on Android and iOS devices, with a web-based form player for preview and testing.

Extensible Architecture

The platform supports custom applications and renderers, allowing organizations to tailor the user experience to their specific needs.

Use Cases

ODE is suitable for various data collection scenarios:

Use CaseDescription
Health SurveysCollect patient data, medical records, and health indicators
Research StudiesGather research data in field conditions
Monitoring & EvaluationTrack program outcomes and indicators
Asset ManagementInventory and track assets in the field
Quality AssuranceConduct inspections and quality checks

Architecture Overview

ODE follows a client-server architecture:

┌─────────────┐         ┌──────────────┐         ┌─────────────┐
│   Formulus  │◄───────►│  Synkronus   │◄───────►│   Formulus  │
│  (Mobile)   │  Sync   │   (Server)   │  Sync   │  (Mobile)   │
└─────────────┘         └──────────────┘         └─────────────┘
      │                        │                        │
      │                        │                        │
      ▼                        ▼                        ▼
┌─────────────┐         ┌──────────────┐         ┌─────────────┐
│  Formplayer │         │   Database    │         │  Formplayer │
│   (WebView) │         │  (PostgreSQL) │         │   (WebView) │
└─────────────┘         └──────────────┘         └─────────────┘

The mobile application (Formulus) communicates with the server (Synkronus) to synchronize data. Forms are rendered using the Formplayer component, which can be embedded in custom applications.

Technology Stack

ODE is built using modern, open-source technologies:

  • React Native for mobile applications
  • React for web-based form rendering
  • Go for the backend server
  • PostgreSQL for data storage
  • WatermelonDB for local data storage on mobile devices
  • JSON Forms for form rendering and validation

Next Steps