Developer Walkthrough

Difference from the Developer Onboarding Guide

This document is more of a step-by-step walk-through of getting the Casper pipeline set up and syncing between an eLMIS and a v3 system. It also gives a tutorial of how to create a new and add to a transformation in NiFi.

Determine Topology and Provision Resources

Lay out the topology for all of the pieces of the Casper architecture. For a developer with a powerful development machine, it is possible to run all of the pieces of the architecture on the same computer. However, a more likely configuration is to have at least two separate machines, generally dividing the major components equally; eLMIS and the pipeline for one, and v3 with the reporting stack for the other.

Stand up eLMIS

It is assumed there already exists a source system (i.e. eLMIS) deployed on a server. If not, a Gitlab repo (openlmis/casper-elmis) has been created to facilitate deploying an eLMIS server. It uses demo data from the Docker image openlmis/demo-data:casper, which is backed by the files here.

Install and Configure Debezium on eLMIS Postgres Database

Stand up OpenLMIS v3

Stand up OpenLMIS v3 Reporting Stack

Load Reference Data into eLMIS and v3

Configure Pipeline Settings


OpenLMIS: the global initiative for powerful LMIS software