docs

Open Data Ensemble

:::tip Pronunciation ODE is pronounced like “code”, without the “C.” :::

Open Data Ensemble (ODE) is a comprehensive platform for mobile data collection and synchronization. Built for researchers, health professionals, implementers, and developers, ODE provides a robust solution for designing forms, managing data securely, and synchronizing seamlessly across devices, even in offline conditions.

:::info ODE v1.1.0

ODE v1.1.0 is available with ODE Desktop — a native app for data stewardship and app bundle development. Install ODE Desktop or continue with Formulus on Android.

The source code for ODE is publicly available on GitHub. We welcome anyone willing to help with testing, development, or getting involved in the project.

Get involved: Reach out to us at [email protected] - we’d love to hear from you!

Source Code: Our monorepo on GitHub contains the source code for all components. Visit our repository: https://github.com/OpenDataEnsemble/ode

:::

The Problem ODE Solves

Traditional data collection tools often have limitations:

How ODE Works

ODE provides an integrated system for the complete data lifecycle:

┌──────────────┐      ┌──────────────┐      ┌──────────────┐
│   Collect    │  ──► │    Sync      │  ──► │   Analyze    │
│   Data       │      │   Offline    │      │   & Export   │
└──────────────┘      └──────────────┘      └──────────────┘
    Formulus         WatermelonDB +         Parquet Export
    (App)           Synkronus (Server)      (Your Tools)

What is ODE?

ODE is a modern toolkit that simplifies mobile data collection through:

Current Members of the Ensemble

Here’s an overview of the current members of the ensemble:

Component overview

Key Components

ODE consists of these main components that work together:

Component Description Technology
Formulus Mobile application for Android and iOS React Native
ODE Desktop Desktop app for data management and app workbench Tauri (React + Rust)
Formplayer Web-based form rendering engine React
Synkronus Backend server for data synchronization Go
Synkronus CLI Command-line utility for administration Go
Synkronus Portal Web admin for users, bundles, and export React

Core Capabilities

Form Design

Create sophisticated forms using JSON schema definitions. ODE supports various question types including text, numbers, dates, selections, multimedia capture, GPS coordinates, and custom renderers.

Offline Functionality

Work seamlessly in areas with unreliable connectivity. Data is stored locally and synchronized when network connectivity is available.

Data Synchronization

Reliable bidirectional synchronization ensures data consistency across devices and servers, with conflict resolution built into the protocol.

Custom Applications

Build custom applications that integrate with the ODE platform, allowing for specialized workflows and user interfaces.

Getting Started

New to ODE? Start with our Getting Started guide to understand the platform and begin your first project.

For developers looking to contribute or extend ODE, see the Development section for architecture details and contribution guidelines.

Documentation Structure

This documentation is organized to help you find information quickly:

Next Steps