Puffin Commando Squad

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

Managing Organization Units

This is one of many teams working with the project, Managing Organization Units. The project is to make a web application and maybe a mobile application for DHIS (District Health Information System)

Presentation of Team Members

Members of Puffin Commando Squad:

Name E-mail
Kim Jonatan Wessel Bjørneset kjbjorne@ifi.uio.no
Kjetil Justnes kjetiju@student.matnat.uio.no
Aksel Ladegård Wester aksellw@ifi.uio.no


Milestone 1: 8th November

  • Create the wiki-page for Puffin Commando Squad at INF5750 .
    • Present the team members.
    • Discuss the methodology and technology we are going to use in the project.
    • Document features and architectures, e.g. diagrams, sketches and screens flow.
    • Create and link the repository to the project.
    • Find out how we can work as a team and divide tasks.

Milestone 2: 22th November

  • First bare-bone version - static HTML.
    • Find the format of the relevant data we need from the DHIS2 API.
    • Write the web app using a local static copy of the data, but still using Angular.
  • First DHIS/Android app uploaded.
  • Write down how we will split the work.
  • Updated screenshots and design.
  • Discuss the database design and used DHIS API.

Milestone 3: 4th December

  • Finished project!
  • Document design, flow and screenshots.
  • Document missing features and what can be improved.
  • Write down how we actually splitted the work.
  • Explanation on how to install and/or run the app if applicable.
  • Final delivery by 11th December.

Methodology and Technology

We will make a web application in Angular.js. The API or business logic (AJAX requests/ API calls) needs to go into angular factories. If we have the time we want to try and make a mobile application for the project.

We will be using following technologies:

  • Bootstrap
  • HTML5
  • CSS 3
  • JavaScript
  • Angular.js
  • Google Maps API (for maps and markings in maps)

Features and Architecture

  • Visualize position of the organization units on the map based on search results.
  • Clik on the map to create organization unit
  • Click on the marker on the map to view details about or edit the unit.
  • Autocomplete search: filter search based on levels.
  • Might work on getting the project to work as a mobile application as well.
  • Possibly add indications of where other groups are, when the map is zoomed far in.

Project Presentation

The project will be presented at IFI somewhere in the middle of December.

Task Delegation within the Team

  • Task delegation for milestone 1:
    • Discussed the project in the group lecture.
    • Aksel created the repository we are going to use, and gave the group members access.
    • Aksel invited Kim and Kjetil to use an application called "slack" to stay in touch and to easily share files outside the repo.
    • Kim created the wiki-page for the group, and filled it up with a few points.
    • Kjetil and Aksel will fill in the last details on the wiki-page for milestone 1.
    • We agreed in the group lecture that Kim and Kjetil will take a deeper look into Angular so we are prepared for using it next week.
    • We also agreed to use static JSON for the first part of the development, instead of a live version of the server with API.
  • Task delegation for milestone 2:
    • Aksel: GUI
    • Kim: Search
    • Kjetil: Map

Each member did their part on a separate git branch. On Sunday we combined our work into a (mostly working) prototype, using only static data. Aksel created a GUI for a single page app. The GUI consists of a map, and a sidebar with a tab for search, and a tab to create new org.units. Kim was in charge of search and made the necessary angular elements for doing a realtime search on org.units. And Kjetil developed the interaction with the map and controller for the map based on the controller in the example.

  • Task delegation for milestone 3:
    • Aksel: Create a function for clicking a marker that opens a new tab for editing/deleting an existing Organization unit.
    • Kim: Add a function "find me" for zooming in to current location for a user on the map.
    • Kjetil: Add authorization functionality to the webapp.
    • Everyone: Connect our webapp to the DHIS2 API instead of using static JSON as we did until the second milestone.

We continued working on different branches so we could merge our work later. Aksel created the functionality for editing and deleting an existing organization unit, which shows up when clicking a marker on the map. Kim implemented a "find me"-button in the webapp that zooms in to the current location for a user on the map, and added services for getting JSON-data from the organisation units. Kjetil added an authorization functionality to the webapp, and tried out some variations on design. Kjetil finished the services for getting the rest of the JSON-data needed. At last Aksel merged everything. Our webapp is now finished, but a few improvements and adjustments could be made.

  • Final Delivery:

We made some adjustments in the project since the third milestone. We changed the search from searching all organisations at once to a filtrated search based on levels a user can choose from. Kjetil was in charge of these changes, and split the files up a bit. Kjetil updated the functionality for services to fetch correct JSON-data so the search and click worked perfectly. Kim connected the searchfields and map, updated the zoom for a searched organisation and added a marker for the "find me"-function. Aksel made editing and adding organisations to work perfectly. Aksel also did a fix up for markers on the map and reorganised the controllers. The final result looks great!

Here are some screenshots of our final design and functionality used in the webapp. The pictures shows an organisation in the searchfield clicked, showed up in the map, and adding a new organisation when clicking the map.

Link to the Repository

We are currently using a private repository at Github since we don't want our files to be public yet. The repository will be public Monday 14th December.

Puffin Commando Squad