Introducing central-sync

Hi everyone,

I’d like to share a small project I’ve been working on : central-sync.

It is a Go tool that synchronizes ODK Central data into PostgreSQL through the ODK Central API and its OData endpoints.

The goal is to provide a raw and reliable sync layer between Central and a PostgreSQL database, while keeping technical metadata for downstream SQL transformations.

GitHub repository : https://github.com/tomgachet/central-sync

This is a first public release candidate.
The core engine is already working well in my tests and real usage, but there are still a few things I’d like to improve over time.

If this sounds useful for your workflows, I’d be very happy to get feedback :

  • feature ideas
  • edge cases
  • production concerns
  • general design comments

Thanks!

7 Likes

I'm confused what you meant by `synchronizes ODK Central data into PostgreSQL`. Doesn't ODK Central already use PostgreSQL as their default database backend? Or do you mean to say you can sync it to multiple different PostgreSQL databases for use with, let's say your clients, or to a public reference dataset?