Difference between revisions of "MasterList"
(search function doc) (Tag: Visual edit) |
(added pictures to search function) (Tag: Visual edit) |
||
Line 57: | Line 57: | ||
The result can then be seen and browsed. | The result can then be seen and browsed. | ||
+ | |||
+ | [[File:Show all units.png|frameless]] [[File:Show search result 1.png|frameless]] [[File:Show search result 2.png|frameless]] [[File:Show search result 3.png|frameless]] | ||
== Milestones == | == Milestones == |
Revision as of 23:16, 5 December 2017
Contents
Group members
- Dana Zangana
- Niklas Mortensen Hamang
- Minh Duong
- Thach Khoi Pham
Link to the repository: https://github.uio.no/MasterList/Master-Facility-List.git(Private)
Product description
Assignment:
Design:
The app have two main views: a user tabs; and an administrator tabs.
- User tabs:
- The user can search simply by name or more advanced using a combo of multiple variables
- Browse information on different organisatation-units.
- Admin tabs:
- The admin-user can view proposal of organisatation-units
- Access to config tab where the user can decide which program to show
Summary:
To make a web app that allow for user friendly searching, browsing and proposing changes for facilities within the DHIS2 data, with main focus on searching,
Features:
Users should be able to:
- To find all units, search based on:
- The units name.
- The units group.
- The units hierarchy.
- The data set information
- Or a combination of these.
- View information about the unit, like:
- GIS coordinates, if available.
- The units group membership
- The units data set
- The stats of the unit
- Submit change proposals
Administrators should be able to:
- View change proposals relevant to the units they manage
- Mark relevant proposals as complete/invalid, marked proposals should be hidden by default.
- Manage data to be show for a given unit
Search function
The search function in our app is implemented in two ways:
- Simple search
- Advanced search
The simple search lets you search for any organisation unit in selected country (Sierra Leone). We take use of the DHIS2 api and fetch and display all organisation unit that match with the users search input. We use the keywork "ilike" that is shown in DHIS2 documentation about organisation units. This means that it will find all the organisation units that contains the search sting, without case sensibility.
The advance search works very similar as the simple, but here you can combine fields of your search to narrow the result and get more specific search result. Here you can further specify the city and district of the organisation unit, what kind of program they offer, what dataset they have and which organisation group they are a part of.
The result can then be seen and browsed.
Milestones
We have divided the project into a couple of main tasks:
- Create a basic web app for DHIS2 [Complete]
- A search bar which is able to retrieve info from the DHIS2 api [Complete]
- A detail search of viewing units and filtering search results [Complete]
- Able to draw and view organisation units on the map [Complete]
- Able to edit organization units [Complete]
Timeline
Week | Description |
---|---|
41-42 | Build group & choose assignment |
41-44 | Work on wiki for the 1. of November |
42-43 | Build base app, familiarize with frameworks |
43-45 | work with API-calls |
44 | Work with front-end of the search and display views |
44-46 | Implementing functionality for search, display and configuration |
46-47 | Bug fix and finilizing |
Licensing
Angular 4, Jquery & npm all fall under the MIT license. As does the Leaflet and Angular-cli. So we choose to continue to license under the MIT license to keep open and none restrictive to derived work.
Architecture
Information/data should only be retrieved on an as needed basis. Search should be altered when the user commits parameters.
Dataset configuration should be stored using the units ID.
DataStore {
config: {
orgUnitID: [
dataSetID
]
}
}
Proposals are stored in: https://inf5750.dhis2.org/demo/api/dataStore/p-[organisationUnitId]/[proposal ids]
Technologies used
- Angular 4
- Typescript
- CSS, HTML, jQuery
- LeafletNode & npm
- Angular-cli
How we are dividing tasks within the group
Built basic app - Thach
Basic search - Dana & Nicklas
Displaying Info - Minh & Thach
Advanced Search - Dana & Nicklas
Sending Proposal changes - Minh & Thach
View proposal - Minh
Choosing configuration - Nicklas & Thach