Difference between revisions of "BHJS"

From mn/ifi/inf5750
Jump to: navigation, search
m
(Restructure layout to be cleaner)
Line 1: Line 1:
= <span style="font-size: 12px">List of group members</span> =
+
= List of Group Members =
  
 
*Bård Winther (baardew) baardew@ifi.uio.no
 
*Bård Winther (baardew) baardew@ifi.uio.no
Line 6: Line 6:
 
*swati sharma (swatis) swatis@ifi.uio.no
 
*swati sharma (swatis) swatis@ifi.uio.no
  
= Project Suggestions =
+
=  =
 
 
<span style="background-color:yellow">This section is just a bunch of notes that should be further developed or organized better.</span>
 
 
 
===
 
  
 
= Application Structure =
 
= Application Structure =
Line 26: Line 22:
 
Javascript, AngularJS, HTML and CSS. JSON for rest communication.
 
Javascript, AngularJS, HTML and CSS. JSON for rest communication.
  
TDD is a must: Protractor or alternatively QUnit [UNRESOLVED]
+
TDD is a must: QUnit is currently used, but if it proves to be insufficient then Protactor may be an option to add as well.
  
 
Attempt to solve the problem with a generic implementation that parses any json object and displays it on screen.
 
Attempt to solve the problem with a generic implementation that parses any json object and displays it on screen.
  
== GUI Layout: ==
+
==  ==
 +
 
 +
=== GUI Layout: ===
  
 
The GUI laytout describes the three different methods of viewing the content. Each view is switchable in the same main page.
 
The GUI laytout describes the three different methods of viewing the content. Each view is switchable in the same main page.
  
=== <u><span style="color: rgb(51, 51, 51); font-family: Arial, Georgia, 'Lucida Grande', Verdana, Helvetica, sans-serif;">Api index (listing the resources)</span></u> ===
+
=== <u><span style="color: rgb(51, 51, 51); font-family: Arial, Georgia, 'Lucida Grande', Verdana, Helvetica, sans-serif">Api index (listing the resources)</span></u> ===
  
=== <u><span style="color: rgb(51, 51, 51); font-family: Arial, Georgia, 'Lucida Grande', Verdana, Helvetica, sans-serif;">resource view (list of objects)</span></u> ===
+
=== <u><span style="color: rgb(51, 51, 51); font-family: Arial, Georgia, 'Lucida Grande', Verdana, Helvetica, sans-serif">resource view (list of objects)</span></u> ===
  
=== <u><span style="color: rgb(51, 51, 51); font-family: Arial, Georgia, 'Lucida Grande', Verdana, Helvetica, sans-serif;">object view (info about a specific object)</span></u> ===
+
=== <u><span style="color: rgb(51, 51, 51); font-family: Arial, Georgia, 'Lucida Grande', Verdana, Helvetica, sans-serif">object view (info about a specific object)</span></u> ===
  
== Questions: ==
+
= =
 
 
Could not find the API for data model fields ([https://www.dhis2.org/doc/snapshot/en/user/html/apes04.html https://www.dhis2.org/doc/snapshot/en/user/html/apes04.html])?
 
  
 
= Summary of Requirements =
 
= Summary of Requirements =
Line 51: Line 47:
 
#User friendly, which implies: no need for direct keyboard input, all information readily avaiable (no hidden content) and simple to retrace steps
 
#User friendly, which implies: no need for direct keyboard input, all information readily avaiable (no hidden content) and simple to retrace steps
 
#The program should deal with errors and misuse correctly and elegantly (in other words, not crash if someone does something un-expected)
 
#The program should deal with errors and misuse correctly and elegantly (in other words, not crash if someone does something un-expected)
 +
 +
=  =
  
 
= Time Schedule =
 
= Time Schedule =
Line 61: Line 59:
 
*&nbsp; 3. dec&nbsp;: hard deadline
 
*&nbsp; 3. dec&nbsp;: hard deadline
  
= How you are dividing tasks within the group =
+
= =
 +
 
 +
= Task Division =
  
 
'''baardew:''' backend controller and configuration + additional frontend where required
 
'''baardew:''' backend controller and configuration + additional frontend where required
  
'''henriktl:''' ?
+
'''henriktl:'''&nbsp;?
 +
 
 +
'''jonsandn:'''&nbsp;?
  
'''jonsandn:''' ?
+
'''swatis:'''&nbsp;?
  
'''swatis:''' ?
+
=  =
  
= Screenshots and screen flows =
+
= Screenshots and Screen Flows =
 +
 
 +
=
  
 
= Documented learning during project =
 
= Documented learning during project =
  
= Suggested improvements to APIs etc =
+
= =
  
= Link to repository =
+
= Suggested Improvements =
 +
 
 +
=  =
 +
 
 +
= Link to Repository =
  
 
gitolite@git.uio.no:inf5750/baardew/dhis_bhjs
 
gitolite@git.uio.no:inf5750/baardew/dhis_bhjs
  
= Download link to sample web app or Android app =
+
=  =
 +
 
 +
= Download Link to Sample Web App or Android App =
 +
 
 +
=  =
 +
 
 +
= Questions and Suggestions: =
 +
 
 +
Could not find the API for data model fields ([https://www.dhis2.org/doc/snapshot/en/user/html/apes04.html https://www.dhis2.org/doc/snapshot/en/user/html/apes04.html])?

Revision as of 10:25, 5 November 2014

List of Group Members

  • Bård Winther (baardew) baardew@ifi.uio.no
  • Henrik Tufte Lien (henriktl) tuftelien@gmail.com
  • Jonas Sandnes (jonsandn) jonsandn@ifi.uio.no
  • swati sharma (swatis) swatis@ifi.uio.no

Application Structure

For the remainder of this document "backend" would refer to application controller and other javascript that is not used directly with presentation. Likewise, "fronend" denote everything connected to or is GUI elements.

File layout

Organization of program structure using MVVM:

Actual architecture.png

Technologies:

Javascript, AngularJS, HTML and CSS. JSON for rest communication.

TDD is a must: QUnit is currently used, but if it proves to be insufficient then Protactor may be an option to add as well.

Attempt to solve the problem with a generic implementation that parses any json object and displays it on screen.

GUI Layout:

The GUI laytout describes the three different methods of viewing the content. Each view is switchable in the same main page.

Api index (listing the resources)

resource view (list of objects)

object view (info about a specific object)

Summary of Requirements

List is in prioritized order

  1. Display every possible path obtained by click-through of API (in other words, every link should be "followable")
  2. User friendly, which implies: no need for direct keyboard input, all information readily avaiable (no hidden content) and simple to retrace steps
  3. The program should deal with errors and misuse correctly and elegantly (in other words, not crash if someone does something un-expected)

Time Schedule

These milestones are guidelines only, except for 3rd December.

  •   1. nov : design layout finished
  •   8. nov : static html layout presentable
  • 29. nov : main work done
  •   3. dec : hard deadline

Task Division

baardew: backend controller and configuration + additional frontend where required

henriktl: ?

jonsandn: ?

swatis: ?

Screenshots and Screen Flows

Documented learning during project

Suggested Improvements

Link to Repository

gitolite@git.uio.no:inf5750/baardew/dhis_bhjs

Download Link to Sample Web App or Android App

Questions and Suggestions:

Could not find the API for data model fields (https://www.dhis2.org/doc/snapshot/en/user/html/apes04.html)?