From mn/ifi/inf5750
Jump to: navigation, search

Group members

  • Vetle Falch (
  • Bjørn Marius Von Zernichow (
  • Jørgen Bjerke (

Summary of requirements


Web app for DHIS 2 statistical computation that allows users to query a dataset, returning requested moving average for current and previous year.

System overview

  • Front-end: Angular 2 Single Page Application

Technologies involved:

  • Angular 2
  • ECMAScript 6
  • Typescript
  • HTML
  • CSS
  • Angular cli - MIT license
  • NodeJS
  • Babel
  • Webpack
  • Protractor
  • Github
  • Git
  • DHIS2 web API

3rd party native Angular 2 components:

  • Ng-lightning link - MIT license
  • PrimeNG link - MIT license

User Interfaces

Final release
Final release

User characteristics

  • DHIS 2 related users that want to query a moving average (monthly) for occurrence of different indicators
  • The typical user is already familiar with general statistical functionality

Functional requirements

Statistical functionality:

  • Moving average (monthly)
  • Comparison of two datasets (I.e. same time interval for different years)

Performance requirements

  • Requirements for statistical computation: test front-end computation on monthly datasets for two different years.



Wireframe Choose architecture(Angular vs. React) Take a look at DHIS2 web API Have a customer meeting


Understanding the project Document features and architecture on Wiki Make a Git repository


Back end: first iteration working API and statistical computation

Front end: prototype/mvp from wireframe

Component testing


Integration between back and front end

Integration testing


Release candidate

System and user testing


27.11.2016 (new date 01.12.2016)

Final delivery


Group presentation

How you are dividing tasks within the group

We started with a group meeting, to discuss suggestions for user experience, system architecture and functionality. At the end of the meeting we divided tasks between group members to complete within the next group meeting.

We decided to have a second meeting where we presented the completed tasks, prepare for the costumer meeting and setup this wiki.

We are using kanban development methodology. The iterative development process is as follows:

  1. Pending activities/tasks
  2. Analysis
  3. Development
  4. Testing
  5. Deployment

See "technical discussions" under screenshots/ screen flows below for overview of weekly technical group meetings.

Screenshots and screen flows

Wireframe 21.10.2016
Final release
Final release 01.12.2016
Architecture 23.10.2016
technical discussion
technical discussion 11.11.2016
technical discussion
technical discussion 15.11.2016
technical discussion
technical discussion 18.11.2016
technical discussion
technical discussion 22.11.2016
technical discussion
technical discussion 25.11.2016

Documented learning during project

Until the 11.11.2016 we focused on the understanding of the Angular2 architecture, Typescript, and the DHIS2 API. We split up into two groups; each group came up with an architecture proposal for the project, which we merged/choose the best parts of both. One group followed the TUTORIAL: TOUR OF HEROES, the other group followed different tutorials on Mean Expert

For further documented learning/ technologies involved during project, see section "System overview"

Suggested improvements to APIs etc

Very good API endpoints and documentation. No further improvements suggested.

Link to repository

Link to GitHub repository

Download link to sample web app

The app is deployed at DHIS2 test server: The Group Inc - Moving Average Statistics

Tip: search for organisation unit "Bo" and indicator "Complicated deliveries total" (contains data on test server)