Project: Managing organization units
Make a web app in order to manage organization unit easily. Trhough the web interface the user should be able to search for different organizational units in an intuitive and responsive way. Further, the web app should be able to filter the search based on levels, where the result is displayed on a map. You can edit the coordinates and other organizational unit details when a unit is selected. You should also be able to add new facilities through clicking on the map. The details of a chosen facility should be presented through a drop-down menu beneath the name of the given facility.
Compared to the example picture we've chosen to place the menu on the left side. This way handling the menu should be easy, also at lower resolutions, instead of it getting squeezed out in favor of the map.
The main features are:
- Easy visualisation of chosen facilities or other organizational levels
- Accesible adding of new facilities through the map
- Editing features for handling existing facilities
The web app is constructed using two columns in bootstrap giving it auto-wrap capabilities for lower resolutions. All the communication with the servers are done through AngularJS.
Technologies and Frameworks
- HTML 5 & CSS 3
- Angular JS
- DHIS2 Web app
- Aulon Mujaj (firstname.lastname@example.org)
- Halvor Hølmebakk Mangseth (email@example.com)
- Magnus Røed Hestvik (firstname.lastname@example.org)
Division of work
We kept a pretty loose structure on the work division where everyone worked on everything. We set up a Slack channel with a github bot for continuous communication and as a tool to follow each others progress on the functionality and the different branches.
We did however have a general work division:
- Bootstrap and initial HTML site: Halvor
- Interaction with google maps: Magnus
- AnuglarJS / JS towards servers: Aulon
Throughout the project we kept this, but everyone has contributed to the different areas.
- Set up personal development environments with WebStorm, Bootstrap, Jetty, DHIS2 and the github project. ✔
- The static page can be divided into three main parts. ✔
- The HTML/CSS ✔
- Map interaction ✔
- DHIS2 interaction to retrieve and store data ✔
- QA to make sure it's uploadable as a DHIS2 web app. ✔
- Implement AngularJS functionality to make the static site more interactive (will be further specified when work has begun on the static site and we have a better understanding of the framework and how to properly utilize it). ✔
- Implement retrieval of different chiefdoms/districts/facilities ✔
- Map integration ✔
- Markers for facilities ✔
- Polygons for district/chiefdoms ✔
- Adding own markers for new facilities or editing existing facilities ✔
- Adding new facilities ✔
- Updating existing facilities with new information ✔
The documentation for writing/editing units suggested that we could update an object by sending data directly to the unit link (for example /api/organisationUnits/someID) and include only the data we want updated. It seems we need to send the whole unit, with all it's data, instead of only the values we want updated. So this could probably be phrased better and explicitly state this.
Milestone 1: 8th November Document features and architecture on Wiki
Show understanding of DHIS2 web apps
Milestone 2: 22th November First bare-bone version - static HTML
Uploadable as DHIS2 web app
Milestone 3: 4th December Finished
Final milestone 13 December Final delivery
Presentation Milestone 17th December