Can I use DHIS2 as a backend to handle data repository

In my startup, we are trying to provide some public good services using DHIS2 and also do DHIS2 as a service to help in local implementation in Health, Agriculture and Education.

However, I want to find out, how do I deploy DHIS2 without coupling it with the app platform or better still if I want to customize the app platform to provide additional solution?

1 Like

Hi @jetisco4u

This is an interesting discussion. Would be interesting to know more about the use case and why’d you need to send DHIS2 to the backend? As you know that the platform is quite flexible and customizable; however, it’s important to consider the software updates and developer roadmap. To answer your first question whether it’d possible to use DHIS2 in the backend which is very close to the question about having public portals, I think technically it is possible using the API, right? You can initiate API requests to get, create, or update the data.

If you mean by the app platform as the UI then certainly the API has many helpful functionalities that could allow you to almost not have to use the UI. The Android Capture app is an example of an app that doesn’t customize nor couples the platform but makes an excellent use of the platform.

Would still be great to hear about the use case @jetisco4u! Thanks!

1 Like

We are trying to use all the API functionality when building the Docker image. But would like to host the app using a custom platform-app that utilize a React Meta framework we build. I am looking at the possibility of hosting the app without building the dhis-web/pom.xml

1 Like

@Gassim thanks for your comprehensive reply. I just review it now. So far, I updated all the dependencies and devDependencies of the app-platform, cli tools, app-runtime, ui (including the UI Header), core apps, and React. I am trying to create new cli tool to make it easy to bootstrap say a CRA or Vite app on Javascript or Typescript. This way it will be easy to rebrand some of our existing apps to integrate with DHIS2.

But the current challenge is that if I build the apps like this, and I update the apps it will reload the ones in the app-hub which mostly used the old dependencies and CRA only. So what I plan to do now is to create a custom app hub to upload apps and possibly extend it to accept plugins.

I will also limit the core apps to bundle in the dhis2-core to just a view. To handle update and feature addition to dhis2, I am writing a script to automatically handle about 90% of the upgrade. I will share any challenge or request I have.

But I will like to ask a question. I saw that the core apps to bundle are loaded from github when building the dhis-web jar. Which of the apps is stored in the app-hub, is it only the ones uploaded with App Management app or including the ones loaded and renamed when building the docker image?

1 Like