Difference between revisions of "Mkm"

From mn/ifi/inf5750
Jump to: navigation, search
(Screenshots and screen flows)
(Dividing of tasks)
Line 45: Line 45:
  
 
== Dividing of tasks ==
 
== Dividing of tasks ==
 +
* Sketch an overall design of application [Marit, Mathias].
 +
* Decide the location of main application controls [Marit, Mathias].
 +
* Commit design mock-up to GitHub [Marit, Mathias].
 +
* Set up DHIS2 instance for development purposes [Araz].
 +
* Set up the skeleton project with pre-installed tools (NPM, React, Babel, Webpack, Material-UI) [Araz, Marit, Mathias].
 +
* Build basic React components for application [Araz].
 +
* Define application manifest and deploy application to DHIS2 instance [Araz].
 +
* Integrate D2 library. [Araz, Marit, Mathias].
  
 
== Screenshots and screen flows ==
 
== Screenshots and screen flows ==

Revision as of 22:38, 21 November 2015

Project Details

LMIS light

Health systems has to ensure stocks of life saving commodities at all time, and many countries using DHIS2 are now requesting for an implementation of Logistics Management Information System(LMIS).

We will create a web app that can be used for sending supply orders to higher authorities through DHIS2. The user can fill in commodity name and the quantity they need for the specific commodity and click “Send”. The order will then be placed, and the higher authorities will get a notification of the request.

Group members

Araz Abishov (abishov@ifi.uio.no)

Marit Kilde Mjelva (marikmj@ifi.uio.no)

Mathias Rove Olaussen (mathiaro@ifi.uio.no)

Summary of requirements

Basic requirements:

  • Application should allow users to fill out commodity request forms and then send them to managers (privileged User Group). Managers at the same time, should be able to receive notifications through DHIS2 messages.
  • Automatic notifications for defined period. (Request for commodities should be sent automatically after certain period of time defined by user).

Strategy for work with meta-data and data:

  • Instead of creating custom forms in DHIS2, we can utilize DataSet model with custom attributes. By following this approach, we can also benefit from aggregation functionality of DHIS2.
  • In order to send notifications, we can utilize messaging functionality of Web API.

Tools:

- IDE: IntelliJ IDEA.

- D2: Instead of calling Web API directly, we will be using Javascript client SDK for DHIS2.

- Javascript framework: React.js.

- HTML/CSS: Material UI library which is targeted for use with React.js (www.material-ui.com)

Time schedule

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 implementing web app

Milestone 4: 11th December

  • Final delivery

Dividing of tasks

  • Sketch an overall design of application [Marit, Mathias].
  • Decide the location of main application controls [Marit, Mathias].
  • Commit design mock-up to GitHub [Marit, Mathias].
  • Set up DHIS2 instance for development purposes [Araz].
  • Set up the skeleton project with pre-installed tools (NPM, React, Babel, Webpack, Material-UI) [Araz, Marit, Mathias].
  • Build basic React components for application [Araz].
  • Define application manifest and deploy application to DHIS2 instance [Araz].
  • Integrate D2 library. [Araz, Marit, Mathias].

Screenshots and screen flows

The screenshot of bare-bone HTML application.

Http://i.imgur.com/voAKJ92.png

Documented learning during project

Suggested improvements to API

Repository link

The whole project will be hosted on GitHub:

https://github.com/inf5750-mkm/LMISLight

Link to sample web app

As application under the hood uses CORS to communicate to server, it can be executed from anywhere.

You can try it even by running from GitHub:

https://htmlpreview.github.io/?https://github.com/inf5750-mkm/LMISLight/blob/master/build/index.html