Stock Sharks

From mn/ifi/inf5750
Revision as of 11:42, 5 December 2017 by Chrhan@uio.no (talk | contribs) (Material-UI)

Jump to: navigation, search

Group members

  • Malin Aandahl (mwaandah)
  • Mari Grønberg (margronb)
  • Christina H. Andresen (chrhan)

Product descriptions requirements

Product description

This assignment involves creating an app for DHIS2 that produces visualisations for logistics data, including the necessary calculations for producing these, including:

  • For a selection of organisation units, produce a visualisation of the estimated months of stock left. There is usually a policy to keep the stock between a minimum and maximum levels. These should be configurable in the app, and organisation units above/below these levels should be highlighted.
  • For one organisation unit, produce a visualisation of the time-trend in stock availability (e.g. for the last 12 months), with minimum and maximum thresholds for what is adequate levels of stock.

The estimated months of stock left is based on the average amount used in recent periods, compared with the stock available at the end of the period in question. For example, if 350 doses of BCG has been used on average Jan-March and 600 doses is available at the end of March, the current stock will last an estimated 1,7 months.

It should be possible for an administrator to set the default minimum and maximum thresholds (in months of stock availability) to be used, and for users to override this. Furthermore, because this app should be usable in different settings/ countries and thus different DHIS2 databases, there must be an interface for selecting what data elements/ indicators to use for analysis, i.e.. for each variable the stock used, ending/ starting balance etc (as needed).

Requirements

  • Retive stock data from API
  • Retive organistaion data from API
  • Save threshold values to API
  • Create design draft
  • Implement design draft
  • Create react components
  • Manage data flow in between components
  • Create D3 graph

Design draft

Design draft - image one
Design draft - image 2
Design draft - image 3

Architecture

DHIS2 API

  • DHIS2 API gives access to the data the application uses

React

  • We have chosen React, because we are a little familiar with the framework from before.

Redux

  • Used Redux to handle data flow in the application, chose Redux because of some experience with it from before.

Material-UI

  • We chose this to help us with the styling of our project. Material-UI is easy to get started with and has a modern design, compared to other frameworks such as bootstrap. Created for React

Material Icons

D3.js

  • D3, a JavaScript library for visualizing data, it seems like a good tool for visualization

Licensing

  • Discuss the implications (if any) on the product you are development from the software licenses of the frameworks and libraries you are using.

Our licence

DHIS API

Material-UI

Material Icons

  • Apache License Version 2.0

React

  • MIT Licence

Redux

D3.js

  • BSD 3-clause "New" or "Revised" License

Division of labour

Malin

Visualisation and design

Mari

Integrate DHIS API and handle API data

Christina

Set up repository and project structure, front-end flow with redux (send the data to the different components), create all react components, save data to the DataStore in API

Time schedule

Week 43 Get data from the API

Design for front-end development

Communicate with D3

Wiki page

Week 44 Make visualisation of an organisational unit for one year.
Week 45 Main components done
Week 46 Bug fixing and final touches

Project repository

GitHub-repository: https://github.uio.no/stocksharks/stockvis