Stock Sharks
Contents
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
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