Difference between revisions of "HAMdev"

From mn/ifi/inf5750
Jump to: navigation, search
m (Project: Managing organization units)
m (Project plan)
 
(7 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
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.  
 
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.  
 
The details of a chosen facility should be presented through a drop-down menu beneath the name of the given facility.  
 
http://www.uio.no/studier/emner/matnat/ifi/INF5750/h15/group-projects/managing-organization-units/illustration.png
 
  
 
== Project details ==
 
== Project details ==
Line 20: Line 18:
 
- Editing features for handling existing facilities
 
- Editing features for handling existing facilities
  
The web app is constructed using  
+
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 ==
 
== Technologies and Frameworks ==
Line 37: Line 35:
 
* Halvor Hølmebakk Mangseth (halvorhm@ifi.uio.no)
 
* Halvor Hølmebakk Mangseth (halvorhm@ifi.uio.no)
 
* Magnus Røed Hestvik (magnurh@ifi.uio.no)
 
* Magnus Røed Hestvik (magnurh@ifi.uio.no)
 +
 +
== 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.
  
 
== Project plan ==
 
== Project plan ==
* Set up personal development environments with IntelliJ, Bootstrap, tomcat, DHIS2 and the github project.
+
* 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).
 
  
 +
* 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 ✔
  
=== Milestones ===
+
== Api improvements ==
 +
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. 
 +
 
 +
== Screenshots ==
 +
<gallery>
 +
File:Blank.png|Blank page
 +
File:Add_new.png|Add new unit
 +
File:Show_chiefdoms.png|Show all chiefdoms
 +
File:search_HAM.png|Search for a unit
 +
File:Markers.png|Markers on map
 +
File:Add_new.png|Add new unit
 +
</gallery>
 +
 
 +
== Milestones ==
  
 
'''Milestone 1:''' 8th November
 
'''Milestone 1:''' 8th November
Line 61: Line 92:
  
 
'''Milestone 3:''' 4th December
 
'''Milestone 3:''' 4th December
Finished, if applicable also with mobile app.
+
Finished
 +
 
 +
'''Final milestone''' 13 December
 +
Final delivery
  
Final delivery: 11th December
+
'''Presentation Milestone'''
 +
17th December
  
Presentation: mid December
+
== Screenshots ==

Latest revision as of 23:39, 13 December 2015


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.

Project details

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

  • Bootstrap
  • HTML 5 & CSS 3
  • Angular JS
  • DHIS2 Web app
  • Google Maps JavaScript AP

Repository

GitHub

Group members

  • Aulon Mujaj (aulonm@ifi.uio.no)
  • Halvor Hølmebakk Mangseth (halvorhm@ifi.uio.no)
  • Magnus Røed Hestvik (magnurh@ifi.uio.no)

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.

Project plan

  • 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 ✔

Api improvements

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.

Screenshots

Milestones

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

Screenshots