Difference between revisions of "TheGroupInc"
(→Download link to sample web app) |
|||
(10 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
== Summary of requirements == | == Summary of requirements == | ||
=== Purpose === | === Purpose === | ||
− | Web app for DHIS 2 statistical computation that allows users to query a dataset, returning requested | + | Web app for DHIS 2 statistical computation that allows users to query a dataset, returning requested moving average for current and previous year. |
=== System overview === | === System overview === | ||
− | * Front-end: Angular 2 | + | * Front-end: Angular 2 Single Page Application |
− | + | ||
[[File:Architecture_TGI.png|thumb|none|alt=Architecture|Architecture]] | [[File:Architecture_TGI.png|thumb|none|alt=Architecture|Architecture]] | ||
− | Technologies involved: | + | '''Technologies involved: |
+ | ''' | ||
* '''Angular 2''' | * '''Angular 2''' | ||
* ECMAScript 6 | * ECMAScript 6 | ||
Line 28: | Line 29: | ||
* DHIS2 web API | * DHIS2 web API | ||
− | 3rd party native Angular 2 components: | + | '''3rd party native Angular 2 components: |
+ | ''' | ||
* '''Ng-lightning''' [http://ng-lightning.github.io/ng-lightning/#/ link] - MIT license | * '''Ng-lightning''' [http://ng-lightning.github.io/ng-lightning/#/ link] - MIT license | ||
* '''PrimeNG''' [https://github.com/primefaces/primeng link] - MIT license | * '''PrimeNG''' [https://github.com/primefaces/primeng link] - MIT license | ||
− | |||
=== User Interfaces === | === User Interfaces === | ||
Line 38: | Line 39: | ||
=== User characteristics === | === User characteristics === | ||
− | * DHIS 2 related users that want to query a moving average ( | + | * DHIS 2 related users that want to query a moving average (monthly) for occurrence of different indicators |
* The typical user is already familiar with general statistical functionality | * The typical user is already familiar with general statistical functionality | ||
Line 88: | Line 89: | ||
== How you are dividing tasks within the group == | == How you are dividing tasks within the group == | ||
− | |||
− | |||
We started with a group meeting, to discuss suggestions for user experience, system architecture and functionality. At the end of the meeting we divided tasks between group members to complete within the next group meeting. | We started with a group meeting, to discuss suggestions for user experience, system architecture and functionality. At the end of the meeting we divided tasks between group members to complete within the next group meeting. | ||
Line 100: | Line 99: | ||
# Testing | # Testing | ||
# Deployment | # Deployment | ||
+ | |||
+ | See "technical discussions" under screenshots/ screen flows below for overview of weekly technical group meetings. | ||
== Screenshots and screen flows == | == Screenshots and screen flows == | ||
− | {|style="margin: 0 auto;" | + | {| style="margin: 0 auto;" |
| [[File:Wireframe.JPG|thumb|upright|alt=Wireframe|Wireframe 21.10.2016]] | | [[File:Wireframe.JPG|thumb|upright|alt=Wireframe|Wireframe 21.10.2016]] | ||
| [[File:TheGroupInc_Final_release.png|thumb|upright|alt=Final release|Final release 01.12.2016]] | | [[File:TheGroupInc_Final_release.png|thumb|upright|alt=Final release|Final release 01.12.2016]] | ||
|} | |} | ||
− | {|style="margin: 0 auto;" | + | {| style="margin: 0 auto;" |
| [[File:Architecture_TGI.png|thumb|upright|alt=Architecture|Architecture 23.10.2016]] | | [[File:Architecture_TGI.png|thumb|upright|alt=Architecture|Architecture 23.10.2016]] | ||
|} | |} | ||
− | {|style="margin: 0 auto;" | + | {| style="margin: 0 auto;" |
| [[File:thegroupinc_11_november.jpg|thumb|upright|alt=technical discussion |technical discussion 11.11.2016]] | | [[File:thegroupinc_11_november.jpg|thumb|upright|alt=technical discussion |technical discussion 11.11.2016]] | ||
| [[File:thegroupinc_15_november.jpg|thumb|upright|alt=technical discussion |technical discussion 15.11.2016]] | | [[File:thegroupinc_15_november.jpg|thumb|upright|alt=technical discussion |technical discussion 15.11.2016]] | ||
Line 122: | Line 123: | ||
Until the 11.11.2016 we focused on the understanding of the Angular2 architecture, Typescript, and the DHIS2 API. We split up into two groups; each group came up with an architecture proposal for the project, which we merged/choose the best parts of both. One group followed the [https://angular.io/docs/ts/latest/tutorial/ TUTORIAL: TOUR OF HEROES], the other group followed different tutorials on [http://mean.expert/ Mean Expert] | Until the 11.11.2016 we focused on the understanding of the Angular2 architecture, Typescript, and the DHIS2 API. We split up into two groups; each group came up with an architecture proposal for the project, which we merged/choose the best parts of both. One group followed the [https://angular.io/docs/ts/latest/tutorial/ TUTORIAL: TOUR OF HEROES], the other group followed different tutorials on [http://mean.expert/ Mean Expert] | ||
− | For further learning/ technologies involved during project, see section "System overview" | + | For further documented learning/ technologies involved during project, see section "System overview" |
== Suggested improvements to APIs etc == | == Suggested improvements to APIs etc == | ||
+ | |||
+ | Very good API endpoints and documentation. No further improvements suggested. | ||
== Link to repository == | == Link to repository == | ||
Line 130: | Line 133: | ||
== Download link to sample web app == | == Download link to sample web app == | ||
+ | |||
+ | '''The app is deployed at DHIS2 test server:''' [https://play.dhis2.org/test/api/apps/groupinc/index.html The Group Inc - Moving Average Statistics] | ||
+ | |||
+ | Tip: search for organisation unit "'''Bo'''" and indicator "'''Complicated deliveries total'''" (contains data on test server) |
Latest revision as of 00:09, 2 December 2016
Contents
Group members
- Vetle Falch (vetleaf@ifi.uio.no)
- Bjørn Marius Von Zernichow (bjornmv@ifi.uio.no)
- Jørgen Bjerke (jorgebje@ifi.uio.no)
Summary of requirements
Purpose
Web app for DHIS 2 statistical computation that allows users to query a dataset, returning requested moving average for current and previous year.
System overview
- Front-end: Angular 2 Single Page Application
Technologies involved:
- Angular 2
- ECMAScript 6
- Typescript
- HTML
- CSS
- Angular cli - MIT license
- NodeJS
- Babel
- Webpack
- Protractor
- Github
- Git
- DHIS2 web API
3rd party native Angular 2 components:
User Interfaces
User characteristics
- DHIS 2 related users that want to query a moving average (monthly) for occurrence of different indicators
- The typical user is already familiar with general statistical functionality
Functional requirements
Statistical functionality:
- Moving average (monthly)
- Comparison of two datasets (I.e. same time interval for different years)
Performance requirements
- Requirements for statistical computation: test front-end computation on monthly datasets for two different years.
Milestone
21.10.2016
Wireframe Choose architecture(Angular vs. React) Take a look at DHIS2 web API Have a customer meeting
28.10.2016
Understanding the project Document features and architecture on Wiki Make a Git repository
04.11.2016
Back end: first iteration working API and statistical computation
Front end: prototype/mvp from wireframe
Component testing
11.11.2016
Integration between back and front end
Integration testing
18.11.2016
Release candidate
System and user testing
Deployment
27.11.2016 (new date 01.12.2016)
Final delivery
08.12.2016
Group presentation
How you are dividing tasks within the group
We started with a group meeting, to discuss suggestions for user experience, system architecture and functionality. At the end of the meeting we divided tasks between group members to complete within the next group meeting.
We decided to have a second meeting where we presented the completed tasks, prepare for the costumer meeting and setup this wiki.
We are using kanban development methodology. The iterative development process is as follows:
- Pending activities/tasks
- Analysis
- Development
- Testing
- Deployment
See "technical discussions" under screenshots/ screen flows below for overview of weekly technical group meetings.
Screenshots and screen flows
Documented learning during project
Until the 11.11.2016 we focused on the understanding of the Angular2 architecture, Typescript, and the DHIS2 API. We split up into two groups; each group came up with an architecture proposal for the project, which we merged/choose the best parts of both. One group followed the TUTORIAL: TOUR OF HEROES, the other group followed different tutorials on Mean Expert
For further documented learning/ technologies involved during project, see section "System overview"
Suggested improvements to APIs etc
Very good API endpoints and documentation. No further improvements suggested.
Link to repository
Download link to sample web app
The app is deployed at DHIS2 test server: The Group Inc - Moving Average Statistics
Tip: search for organisation unit "Bo" and indicator "Complicated deliveries total" (contains data on test server)