Skip to content

Latest commit

 

History

History
650 lines (427 loc) · 18.8 KB

README.md

File metadata and controls

650 lines (427 loc) · 18.8 KB

Mapping

Mapping config files are used in order to make the data middleware API re-usable with different data source APIs and without the need of changing the core of the codebase.

The data middleware API consists of many endpoints that are defined and implemented in the controller source files. The endpoints are grouped in controllers based on the datasets coming from the datasource API (The Global Fund | Data Service).

The endpoints are defined in the controller source files like the following example: @get('/grants')

  • get: HTTP method type
  • '/grants': the endpoint route, in this case it can be accessed through http://localhost:4200/grants

Each endpoint is implemented using 4 source files

  • Controller: core logic of the endpoint
  • Mapping: a JSON file defining the needed data fields and their corresponding field from the datasource API
  • Utils mapping: a JSON file defining util functionalities and how they are associated with the corresponding ones from the datasource API
  • Filters mapping: a JSON file defining the filter fields and their corresponding field from the datasource API

Generic datasource API filter/sort/paginate syntax mapping For example page size parameter key:

  • In ODATA API syntax: "page_size": "$top"
  • In Django API syntax: "page_size": "page_size"
  • In Solr API syntax: "page_size": "rows"

Data source API endpoint keys can be found in here

Grants & Grant detail

Grants list

@get('/grants')

Data source API endpoint key: grants
Controller
Mapping
Utils mapping
Filters mapping

Grant detail

@get('/grant/detail')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Utils mapping

Grant detail periods

@get('/grant/periods')

Data source API endpoint key: grantPeriods
Controller
Mapping
Utils mapping

Grant detail period info

@get('/grant/period/info')

Data source API endpoint key: grantPeriods, performancerating
Controller
Mapping
Utils mapping

Grants radial visualisation

@get('/grants/radial')

Data source API endpoint key: grantsNoCount, vgrantPeriods, performancerating
Controller
Mapping
Filters mapping 1
Filters mapping 2

Allocations

Allocations radial visualisation

@get('/allocations')

Data source API endpoint key: allocations
Controller
Mapping
Filters mapping

Allocations periods

@get('/allocations/periods')

Data source API endpoint key: allocations
Controller
Mapping
Filters mapping

Allocations radial visualisation drilldown treemap

@get('/allocations/drilldown')

Data source API endpoint key: allocations
Controller
Mapping
Filters mapping

Allocations geomap

@get('/allocations/geomap')

Data source API endpoint key: allocations, geojson
Controller
Mapping
Filters mapping

Allocations geomap multicountries

@get('/allocations/geomap/multicountries')

Data source API endpoint key: allocations, multicountriescountriesdata
Controller
Mapping
Filters mapping

Budgets

Budgets flow visualisation

@get('/budgets/flow')

Data source API endpoint key: budgets
Controller
Mapping
Filters mapping

Budgets time/cycle visualisation

@get('/budgets/time-cycle')

Data source API endpoint key: budgets
Controller
Mapping
Filters mapping

Budgets drilldown level 1 treemap

@get('/budgets/drilldown')

Data source API endpoint key: budgets
Controller
Mapping
Filters mapping

Budgets drilldown level 2 treemap

@get('/budgets/drilldown/2')

Data source API endpoint key: budgets
Controller
Mapping
Filters mapping

Budgets geomap

@get('/budgets/geomap')

Data source API endpoint key: budgets, geojson
Controller
Mapping
Filters mapping

Budgets geomap multicountries

@get('/budgets/geomap/multicountries')

Data source API endpoint key: budgets, multicountriescountriesdata
Controller
Mapping
Filters mapping

Disbursements/Signed/Commitment

Disbursements time/cycle visualisation

@get('/disbursements/time-cycle')

Data source API endpoint key: disbursements
Controller
Mapping
Filters mapping

Signed time/cycle visualisation

@get('/signed/time-cycle')

Data source API endpoint key: vgrantPeriods
Controller
Mapping
Filters mapping

Commitment time/cycle visualisation

@get('/commitment/time-cycle')

Data source API endpoint key: vcommitments
Controller
Mapping
Filters mapping

Disbursements time/cycle drilldown treemap

@get('/disbursements/time-cycle/drilldown')

Data source API endpoint key: disbursements
Controller
Mapping
Filters mapping

Signed time/cycle drilldown treemap

@get('/signed/time-cycle/drilldown')

Data source API endpoint key: vgrantPeriods
Controller
Mapping
Filters mapping

Commitment time/cycle drilldown treemap

@get('/commitment/time-cycle/drilldown')

Data source API endpoint key: vcommitments
Controller
Mapping
Filters mapping

Disbursements treemap visualisation

@get('/disbursements/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Signed treemap visualisation

@get('/signed/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Commitment treemap visualisation

@get('/commitment/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Disbursements treemap drilldown visualisation

@get('/disbursements/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Signed treemap drilldown visualisation

@get('/signed/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Commitment treemap drilldown visualisation

@get('/commitment/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Disbursements geomap

@get('/disbursements/geomap')

Data source API endpoint key: grantsNoCount, geojson
Controller
Mapping
Filters mapping

Disbursements geomap multicountries

@get('/disbursements/geomap/multicountries')

Data source API endpoint key: grantPeriods, multicountriescountriesdata
Controller
Mapping
Filters mapping

Location detail Disbursements treemap visualisation

@get('/location/disbursements/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Location detail Signed treemap visualisation

@get('/location/signed/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Location detail Commitment treemap visualisation

@get('/location/commitment/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Grant detail Disbursements time/cycle visualisation

@get('/grant/disbursements/time-cycle')

Data source API endpoint key: grantDetailDisbursements
Controller
Mapping
Filters mapping

Grant detail Commitment time/cycle visualisation

@get('/grant/commitment/time-cycle')

Data source API endpoint key: commitments
Controller
Mapping
Filters mapping

Grant detail Disbursements treemap visualisation

@get('/grant/disbursements/treemap')

Data source API endpoint key: grantDetailGrants
Controller
Mapping
Filters mapping

Grant detail Signed treemap visualisation

@get('/grant/signed/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Grant detail Commitment treemap visualisation

@get('/grant/commitment/treemap')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Documents

Documents list

@get('/documents')

Data source API endpoint key: documents
Controller
Mapping
Utils mapping
Filters mapping

Grant detail Documents list

@get('/grant-documents')

Data source API endpoint key: documents
Controller
Mapping
Utils mapping
Filters mapping

Eligibility

Eligibility dots visualisation

@get('/eligibility')

Data source API endpoint key: eligibility
Controller
Mapping
Filters mapping

Eligibility dots visualisation years

@get('/eligibility/years')

Data source API endpoint key: eligibility
Controller
Mapping

Location detail Eligibility scatterplot visualisation

@get('/eligibility/country')

Data source API endpoint key: eligibility
Controller
Mapping
Filters mapping

Filter options

Locations

@get('/filter-options/locations')

Data source API endpoint key: filteroptionslocations
Controller
Mapping

Components

@get('/filter-options/components')

Data source API endpoint key: filteroptionscomponents
Controller
Mapping

Partner types

@get('/filter-options/partner-types')

Data source API endpoint key: filteroptionspartnertypes
Controller
Mapping

Grant status

@get('/filter-options/status')

Data source API endpoint key: filteroptionsstatus
Controller
Mapping

Replenishment periods

@get('/filter-options/replenishment-periods')

Data source API endpoint key: filteroptionsreplenishmentperiods
Controller
Mapping

Donors

@get('/filter-options/donors')

Data source API endpoint key: filteroptionsdonors
Controller
Mapping

Global search

Global search

@get('/global-search')

Data source API endpoint key: listed in the mapping file
Controller
Mapping

Location detail

Location detail info

@get('/location/detail')

Data source API endpoint key: multicountries, grantsNoCount
Controller
Mapping
Filters mapping

Partner detail

Partner detail info

@get('/partner/detail')

Data source API endpoint key: grantsNoCount
Controller
Mapping
Filters mapping

Performance framework

Performance framework network visualisation

@get('/performance-framework')

Data source API endpoint key: performanceframework
Controller
Mapping
Utils mapping

Performance framework network visualisation expand/drilldown

@get('/performance-framework/expand')

Data source API endpoint key: performanceframework
Controller
Mapping
Utils mapping

Performance rating

Performance rating bar chart

@get('/performance-rating')

Data source API endpoint key: performancerating
Controller
Mapping

Pledges & Contributions

Pledges & Contributions time/cycle

@get('/pledges-contributions/time-cycle')

Data source API endpoint key: pledgescontributions
Controller
Mapping
Filters mapping

Pledges & Contributions geomap

@get('/pledges-contributions/geomap')

Data source API endpoint key: pledgescontributions
Controller
Mapping
Filters mapping

Pledges & Contributions time/cycle drilldown

@get('/pledges-contributions/time-cycle/drilldown')

Data source API endpoint key: pledgescontributions
Controller
Mapping
Filters mapping

Pledges & Contributions treemap

@get('/pledges-contributions/treemap')

Data source API endpoint key: pledgescontributions
Controller
Mapping
Filters mapping

Results

Results list

@get('/results')

Data source API endpoint key: results
Controller
Mapping
Utils mapping
Filters mapping

Results years

@get('/results/years')

Data source API endpoint key: results
Controller
Mapping

Results stats

@get('/results-stats')

Data source API endpoint key: results
Controller
Mapping
Filters mapping