OpenFn provides data integration, automation, and interoperability tools that are used to scale the world's most promising health and humanitarian interventions. UNICEF, the World Health Organization, the IRC, and the Wildlife Conservation Society are just a few of the many organizations that drive efficiency via OpenFn software. With an open-core model, we've got hosted and locally-deployed solutions in 40+ countries, and this summer you'll get the chance to work on leading-edge ETL tools built in Elixir/Erlang, and NodeJs. If learning about APIs, data transformation, and middleware/automation layers excites you, OpenFn is the place to be.
This summer, you'll get the chance to work with some of the core team at OpenFn, including Chaiwa Berian, Mamadou Cissé, Stu Corbishley, and Taylor Downs. They're based in Zambia, Senegal, South Africa, and the United Kingdom, respectively. Between them, they've got almost 50 years of experience working in software and... a PhD in Computer Science. (Hey thanks, Mamadou 😉.)
OpenFn projects (see
project.yaml) can be deployed on the
platform or on microservice, a Phoenix web application. This summer, GSOC
interns will have the opportunity to build out the front-end for this community
supported web app.
Engine is part of the common FOSS toolkit that is used both by
platform. It's the software which is responsible for actually executing
OpenFn/core and doing neat things like streaming logs back to the
requester. If you're keen on really understanding how Elixir and Erlang work,
getting your hands dirty with OTP apps, engine is where you want to be working
At the bottom of it all, whether we're providing secure patient data transfer services for ministries of health or making child protection case referrals for UNICEF, OpenFn relies on spinning up NodeVMs, executing code inside those VMs safely, and then shutting the down. Welcome to the core.
This summer you could have the chance to dig into that sandboxed-VM-in-a-VM magic, learn loads about NodeJs, and provide end-users with better metrics on exactly what kinds of compute they're using to "get the job done".
Adaptors are the API wrappers that allow OpenFn users to quickly and easily work with the most common APIs in international development. They provide an interface for connecting to DHIS2, ODK, CommCare, OpenMRS, etc., etc.
They're NodeJs modules, but in order to make the adaptor development and use process better, we want to bring them into the future with Typescript. Adaptors should tell you how to use them while you use them.
Check out this thread on community.openfn.org for more information.