(APE) Geolocation data entry

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


  • Alexander Eismont
  • Peter Ludvik Eidsvik
  • Eivind Lindbråten

Code: https://code.launchpad.net/~ape-inf5750


Our Web and Mobile application will have the following features:

  • show a map of the current location of the user
  • let users choose a location
  • fill out a form for selected program and organization unit
  • let users save the location and the filled out form
  • show all of the saved data on the map

Dividing tasks

These are the main tasks each member has done:

  • Alexander: Map functions, get information about programs, org units and programstages
  • Peter: Event handling
  • Eivind: Webapp layout, popup input window and event table


Initial page

alt = initial image

The image above shows the initial layout of the webapp.

alt = choose program and org unit

The webapp contains a simple map and the option to choose the "program". This enables the option to select organizations that is available for the chosen program.

List of events

alt = event list

If there are events at the organization, we retrieve a list of the events. The table containing the events has several functionalities tied to it:

  • A search function (top right).
  • Sort by column (in each column header).
  • Show different amount of events/records per page (top left).
  • Scroll through pages (bottom right).

Markers on the map

alt = sketch image 4

For events that contains location, a marker is shown on the map. The markers are clickable, and will contain information about the event.


We will mainly rely on HTML/CSS and Jquery for this project. The Jquery framework will allow us to write code much faster and cleaner — we don't have to reinvent the weel each time we need a spesific function. Mainly for simple ajax calls and element selection. 

Twitter Bootstrap is used for good and sensible default styling of elements as well as for some Javascript functionality, e.g. modal windows.

dataTables is a plugin for Jquery that will make table handling a lot easier. It will automatically give us pagination, search feature, column sorting and function for retrieving row and column number of cell number which is beeing clicked, which is very handy.

The map will be delivered by Google's Map API, and the data from DHIS will be requested by ajax calls and returned as Json data, which will populate our map and tables.

We will try to make our site responsive so it will look great on mobile, tablet and desktop devices.


  • HTML
  • CSS
  • JavaScript
  • JQuery
  • AJAX
  • Json
  • Google Maps API
  • Twitter Bootstrap — for good styling of elements
  • dataTables — Plugin for Jquery for easier table handling


  • Android application — using Cordova
  • iPhone application — using Cordova
  • Responsive web design — targeted for mobile and desktop screens


  • Stage 1: Write about features, design and architecture, research DHIS
  • Stage 2: Implement frontend with dummy data
  • Stage 3: Link front end with DHIS through API calls