Skip to content

dhis2-club-tanzania/dhis2-indicator-dictionary

Repository files navigation

DHIS2 Indicator Dictionary

Flexible and Lightweight App that simplify Searching and understanding of Indicators in DHIS2, let you know about the performance, trend and the quality of data for that indicator

Prerequisites

  1. NodeJs (10 or higher)
  2. npm (6.4.0 or higher), can be installed by running apt install npm
  3. git, can be installed by running apt install git

Setup

Clone repository

 git clone [email protected]:dhis2-club-tanzania/dhis2-indicator-dictionary.git

Navigate to application root folder

cd dhis2-indicator-dictionary

Install all required dependencies for the app

npm install

Development server

To start development server

npm start

Navigate to http://localhost:4200.

This command will require proxy-config.json file available in the root of your source code, usually this file has this format

{
  "/api": {
    "target": "https://play.dhis2.org/2.36.9/",
    "secure": "false",
    "auth": "admin:district",
    "changeOrigin": "true"
  },
  "/": {
    "target": "https://play.dhis2.org/2.36.9/",
    "secure": "false",
    "auth": "admin:district",
    "changeOrigin": "true"
  }
}

We have provided proxy-config.example.json file as an example, make a copy and rename to proxy-config.json

Index DB Setup

This app support index DB as based on dexie library. In order to initiatiate index db then you have to passed index db configuration in forRoot of core module, so in app.module.ts

........
@NgModule({
  declarations: [AppComponent, ...fromPages.pages],
  imports: [
   ..........
    CoreModule.forRoot({
      namespace: 'iapps',
      version: 1,
      models: {
        users: 'id',
        dataElement: 'id',
        .......
      }
    })
    .......
    ]
    ......
    })

where in the models, for example user will be a table "user" and 'id' will be a keyIndex for the table

Build

To build the project run

npm run build

The build artifacts will be stored in the dist/, this will include a zip file ready for deploying to any DHIS2 instance.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.