Integration Gateway for DHIS2 intended to be generic
# DHIS2 Gateway Service (dhis2gw)
## Introduction
This integration gateway is part of the comprehensive initiative to link and interoperate government M&E systems with partner-specific data systems. The gateway is built on the DHIS2 architecture, a flexible and open-source platform that supports government digital transformation initiatives. This gateway is built and supported by HISP Uganda, a non-profit organization that supports sustainable information systems in Africa and beyond.
## Overview
**dhis2gw** is a robust gateway application for sending aggregate and tracker data to DHIS2 from third-party systems. Built with Go and Gin, it leverages asynchronous processing (Asynq) and PostgreSQL for task management and logging. It also provides a KivyMD desktop UI for administrators to monitor, requeue, and manage tasks.
---
## Table of Contents
- Tech Stack
- Features
- API Endpoints
- Logging & Monitoring
- KivyMD Interface
- Architecture Diagram
- Installation Guide
- Configuration Reference
- Support
---
## Tech Stack
- **Backend:** Go, Gin
- **Async Task Processing:** Asynq
- **Database:** PostgreSQL
- **API Documentation:** gin-swagger
- **Desktop UI:** KivyMD (Python)
- **Other:** JWT for authentication, custom logging to PostgreSQL
---
## Features
- **Secure User Management:** Token-based authentication with JWT, user CRUD.
- **Asynchronous Data Submission:** Handles DHIS2 aggregate/tracker data via background jobs.
- **Comprehensive Logging:** Every API request and background task is logged in PostgreSQL.
- **Admin Interface:** KivyMD app for monitoring, filtering, requeuing, and deleting jobs.
- **Easy DHIS2 Mapping Import:** Import mappings via CSV/Excel.
- **Interactive API Docs:** Live documentation via Swagger.
---
## API Endpoints
### User Management
| Endpoint | Method | Description |
|------------------|--------|-----------------------|
| `/user` | POST | Create a new user |
| `/users` | GET | …