From mn/ifi/inf5750
Revision as of 21:11, 8 December 2014 by Andrelin@uio.no (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Group Members

  • Andreas Lind-Johansen (andrelin)
  • Atle Nordland (atleno)
  • Stian Larsen (stila)

Project: Facility Registry App

Framework & Tools

  • JavaScript
  • AngularJS
  • Angular-UI for Bootstrap
  • Bootstrap
  • HTML5
  • Notepad


  • A user will be able to navigate the app without any prior training
  • The menu labels will be coherent do not hide functionality by design
  • A user will be able to select a facility from a paginated, searchable table.
  • A user will be able to select a facility from a filterable tree-list-view.
  • A user will be able to create a new organisation unit.
  • A user will be able to edit an existing organisation unit.
  • A user will be able to create new categories, levels, groups and group sets with ease.
  • A user will be able to edit existing categories, levels, groups and group sets with ease.


  • Single-page using JavaScript, Bootstrap and AngularJS
    • Any major changes to the view, such as create-new or edit-existing menu options will be displayed on top of the existing page wherever possible. Angular is perfect for this.
  • Retain tree-view of organisations, but make it prettier to go along with the rest of the UI
    • By using a filter technique we can live-update the displayed tree view, thus removing the need of a button and page refresh.
  • Add live-update map functionality (show locstion on map when viewing or editing an OrgUnit)
    • This should also work when a specific OrgUnit is selected in the table
  • When using the search-filter functionality, eliminate the need for a button by updating the list view on-the-fly.


Our group will meet frequently. We are all part of the same student organisation, so we see each other pretty much every day anyway. We will exchange ideas and perform a good bit of pair-programming. Once the specific parts of the implementation have been thoroughly drafted we will assign specific tasks to each group member.

Milestone: 2014-11-01

Rough draft, design, wiki article, explore DHIS2 apps
  • Created this article
  • Documented framework, tools, requirements and features
  • Toyed around with DHIS2 apps

Milestone: 2014-11-15

Bare-bone HTML version.
  • Bare-bone HTML version updated with angular code
    • Using Bootstrap elements for drafting a design scheme
    • Pre-made templates supplied by Bootstrap gives us a framework to glue our ideas onto. Subject to redesign in the later stages.
  • Preliminary feature demonstration using angular added to code base on server
  • Filterable tables ready
  • API-fetching implemented
    • api/organisationUnits.json
    • api/resources.json
  • Rough sketch for Google Map positioning on page done pen&paper-style for now, pending implementation
  • Sandbox-app uploaded to test server, will play around with features and code snippets that may or may not make it to the final product

Milestone: 2014-11-30

The product is not entirely finished at this point.
  • Included Angular-UI for Bootstrap to our tools-and-frameworks list. It is used for displaying and processing modals using the 'View' button for any given Org Unit, as well as for pagination.
  • Pagination implented, and reads data from all available pages as given by the pager field in the JSON at /api/organisationUnits.json.
  • Modal display view implemented. Process and display relevant data for any given Org Unit. This data is read from the JSON at /api/organisationUnits/UNITID.json using AngularJS's $request.

As of now, our current work is divided into three separate sandbox apps where each group member implements a specific part of the project. These are labeled with each user's UiO username. The main app is in the folder names facility-registry. As features are finished they are pushed and merged into the GitHub repository. This way we can work around the fact that we do not have Git installed on our server.

Remaining work:
  • Finish the two planned map views, one for a single Org Unit displayed within the modal, and another for displaying all Org Units on the bottom of the page.
  • Decide whether we have time to implement the planned Advanced Filters functionality, or if the search functionality is limited to the text filter which is already implemented.

Delivery: 2014-12-08

Delivery-version is on github, and as an app on the test server.

Presentation: 2014-12-09


GitHub repository for project code:


Demo site

Note that this does not necessarily represent the latest version on GitHub. See the notes written in the milestone for 2014-11-30.