Course introduction
The aim of this course is to help you build the fundamental knowledge to develop web-based applications for the DHIS2 platform. We will go through key languages and technologies such as HTML and CSS, which is used to build the structure and layout of our applications. Further, we will look at how we use pure JavaScript to add interactivity to otherwise static HTML applications to make them dynamic and able to request data from servers while the users are interacting with the app. We will then see how we can use React, a JavaScript framework, to make development more efficient and help us to quite easily build more advanced applications. Finally, the DHIS2 Application Programming Interface (API) which allows us to request and manipulate the data stored in a DHIS2 instance, and the DHIS2 application development platform will be introduced. This allows you to build applications that work well with DHIS2.
In the remainder of this introduction, we will go through a couple of fundamental concepts of web-development that will prepare you for the rest of this course.

Element | Description |
---|---|
HTML | Markup language that is used to structure the content of documents, and in our case, our web-based application (e.g., which parts of our site represents headings, menus, lists). |
CSS | Language that is used to define the layout of a web-based application (e.g., colors, fonts, borders, position of elements). |
JavaScript | Programming language that is used to define dynamic behaviors for our web-based application (e.g., add, remove, and update content as user navigate the page and get data from servers). Here, we will also use the low-level JavaScript framework jQuery to simplify certain operations. |
React | JavaScript framework that simply the development of advanced applications. |
DHIS2 API | Application Programming Interface (API) that is used to access, create, and manipulate the data structure within a DHIS2 instance (e.g., get, update, or create data elements, indicators, reports, user info from DHIS2 instance). |
DHIS2 application development platform | Simplifies the development of DHIS2 apps by providing commonly used functionality already implemented so you can limit your development work to the aspects that make your app specific. |
Next Up
What happens when we navigate to a web site? What are the differences between server and client-side?
Feedback
Most Welcome
This whole web site was put up in a relatively short amount of time. If you find anything confusing or missing, we would appreciate it if you sent us an email, and helped us improve the content.
You can use the official Mattermost chat channel for technical questions. Wahed is also available on email if you don't have access to Mattermost.