[STEEM BOUNTY] European Commission EFTG Project – Developing Investor's Portal API With Elastic Search by utopian.tasks

View this thread on steempeak.com
· @utopian.tasks ·
$78.57
[STEEM BOUNTY] European Commission EFTG Project – Developing Investor's Portal API With Elastic Search
### Utopian for European Commission (EC):
Utopian.io is running this task request on behalf of the EC Blockchain Competence Center (BLKCC).

<center>
![](https://i.imgur.com/23CtL0N.png)
</center>

### GitHub Repository:
https://github.com/scr53005/eftg-steem

### Project Background:
The EFTG Project's background and scope are described here:
[European Financial Transparency Gateway (EFTG) EC Initiative](https://github.com/scr53005/eftg-steem/wiki/Introduction-to-European-Financial-Transparency-Gateway-(ETFG)-Project)

### Estimated Task Complexity: 
Medium

### Task Specifications:
Develop the API needed for the Investor's Portal. 

The [existing front end](http://pulsar.dev.blkcc.xyz:8081/#/search.html) will utilize the API to connect to the project’s [Elastic Search database](https://steemit.com/utopian-io/@utopian.tasks/steem-bounty-european-commission-eftg-project-integrating-elasticsearch-on-a-private-steem-blockchain).

<center>
![](https://i.imgur.com/ARJ7s7K.png)
<sub>Figure 1: Search Form Design</sub>
</center>

**Deliverables**
* Three API endpoints
    * Issuer name endpoint
    * Legal entity identifiers endpoint
    * Search endpoint
* Documentation on how to deploy and test

**Requirements:**
* Use NodeJS for developing the API
* Develop API methods as POST
* Send query parameters in JSON format in the body of the HTTP Request
* Provide API response in JSON format 

<center>
![](https://i.imgur.com/XhuAFrs.png)
<sub>Figure 2: Investor's Portal</sub>
</center>

## API Endpoints
**Issuer name endpoint**
The Issuer name endpoint will return the list of Issuer names needed for the autocomplete of the multiselect Issuer name field
1. The endpoint should be:  /issuer_names.json
2. Searchable field: issuer name with query string parameter name as issuer_name
3. Additional parameters:
	* Page
		Data type: number
		Parameter name: page
		Default value: Set to 1 if no value passed
	* Page size
		Data type: number
		Parameter name: page_size
		Default value: Set to 10 if no value passed
	* Order by
		Data type: string
		Parameter name: order_by
		Allowed value: issuer_name
4. Response format:
The structure of the response should match below example
https://cdn.blkcc.xyz/issuer_names.json

**Legal entity identifiers endpoint**
The Legal entity identifiers endpoint will return the list of Legal entity identifiers needed for the autocomplete of the multiselect Legal entity identifier field
1. The endpoint should be: /identifiers.json
2. Searchable fields:
    * Legal entity identifier value
			Data type: string
			Parameter name: identifier_value
    * Legal entity identifier id
			Data type: number
			Parameter name: identifier_id
			If there is no value passed, match on all types of identifiers
3. Additional parameters:
	* Page
		Data type: number
		Parameter name: page
		Default value: Set to 1 if no value passed
	* Page size
		Data type: number
		Parameter name: page_size
		Default value: Set to 10 if no value passed
	* Order by
		Data type: string
		Parameter name: order_by
		Allowed value: identifier_value
4. Response format:
The structure of the response should match below example
https://cdn.blkcc.xyz/identifiers.json 

<center>
![](https://i.imgur.com/BdqfvPa.png)
<sub>Figure 3: Search Results Design</sub>
</center>

**Search endpoint**
The search endpoint will return the search result submitted through the investor’s interface
1. The endpoint should be: /search.json
2. Searchable fields:
	* Issuer name
			Data type: array of issuer IDs with data type number
			Parameter name: issuer_name
	* Company Country
			Data type: array of country codes with data type string
			Parameter name: home_member_state
	* Disclosure date from
			Data type: UTC timestamp 
			Parameter name: disclosure_date_from
	* Disclosure date to
			Data type: UTC timestamp 
			Parameter name: disclosure_date_to
	* Legal entity identifier
			Data type: array of strings
			Parameter name: identifier_value	
	* Document class and subclass
			Data type: array of subclass IDs with data type number
			Parameter name: subclass
	* Financial year
			Data type: array of years with data type number
			Parameter name: financial_year
	* Title
			Data type: string
			Parameter name: title
3. Additional parameters:
	* Page
		Data type: number
		Parameter name: page
		Default value: Set to 1 if no value passed
	* Page size
		Data type: number
		Parameter name: page_size
		Default value: Set to 10 if no value passed
	* Order by
		Data type: string
		Parameter name: order_by
		Allowed values: (maximum of one field only)
        - home_member_state
	    - disclosure_date
	    - document_language

4. Response format:
The structure of the response should match the example here:
https://cdn.blkcc.xyz/search.json 
5. Timestamp UTC/GMT format
Each API response contains a timestamp with the date and time in Universal Time Coordinated/Greenwich Mean Time (UTC/GMT), sometimes referred to as "Zulu time."

    Here's a breakdown of the components of an example timestamp (dateTime_in_UTC/GMT = 2015-08-09T21:51:26Z):
    2015 -Year
    08 - Month
    09 - Day
    T - Time
    21 - Hour
    51 - Minute
    26 - Second
    Z - Zulu Time

### Deadline:
Three (3) weeks, set to start once the candidate selection is made.

### How to Register Interest and Gather Further Information:
Please contact us on https://discord.gg/pV5hgDA

### Rewards Information:
Rewards generated by this task request will be sent as liquid STEEM to the task solver once the task is completed, as decided by the Project owner. 

The task will be considered complete after it has been tested and accepted on our private STEEM blockchain (https://explorer.blkcc.xyz/#/) and when the solvers publish a Utopian post, explaining what they did in order to solve the task.
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 49 others
properties (23)
post_id68,878,403
authorutopian.tasks
permlinksteem-bounty-european-commission-eftg-project-developing-investor-s-portal-api-with-elastic-search
categoryutopian-io
json_metadata{"tags":["utopian-io","development","task-development","api","efta"],"image":["https:\/\/i.imgur.com\/23CtL0N.png"],"links":["https:\/\/github.com\/scr53005\/eftg-steem","https:\/\/github.com\/scr53005\/eftg-steem\/wiki\/Introduction-to-European-Financial-Transparency-Gateway-(ETFG)-Project","http:\/\/pulsar.dev.blkcc.xyz:8081\/#\/search.html","https:\/\/steemit.com\/utopian-io\/@utopian.tasks\/steem-bounty-european-commission-eftg-project-integrating-elasticsearch-on-a-private-steem-blockchain","https:\/\/cdn.blkcc.xyz\/issuer_names.json","https:\/\/cdn.blkcc.xyz\/identifiers.json","https:\/\/cdn.blkcc.xyz\/search.json","https:\/\/discord.gg\/pV5hgDA","https:\/\/explorer.blkcc.xyz\/#\/"],"app":"steemit\/0.1","format":"markdown"}
created2019-01-16 11:35:45
last_update2019-01-16 11:35:45
depth0
children4
net_rshares131,205,366,733,041
last_payout2019-01-23 11:35:45
cashout_time1969-12-31 23:59:59
total_payout_value59.525 SBD
curator_payout_value19.043 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length5,784
author_reputation38,311,868,495,572
root_title"[STEEM BOUNTY] European Commission EFTG Project – Developing Investor's Portal API With Elastic Search"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars0
author_curate_reward""
vote details (113)
@steemitboard ·
Congratulations @utopian.tasks! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

<table><tr><td>https://steemitimages.com/60x70/http://steemitboard.com/@utopian.tasks/posts.png?201901161239</td><td>You published more than 20 posts. Your next target is to reach 30 posts.</td></tr>
<tr><td>https://steemitimages.com/60x70/http://steemitboard.com/@utopian.tasks/voted.png?201901161239</td><td>You received more than 2000 upvotes. Your next target is to reach 3000 upvotes.</td></tr>
</table>

<sub>_[Click here to view your Board](https://steemitboard.com/@utopian.tasks)_</sub>
<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>


To support your work, I also upvoted your post!


> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
properties (22)
post_id68,884,457
authorsteemitboard
permlinksteemitboard-notify-utopiantasks-20190116t145329000z
categoryutopian-io
json_metadata{"image":["https:\/\/steemitboard.com\/img\/notify.png"]}
created2019-01-16 14:53:30
last_update2019-01-16 14:53:30
depth1
children0
net_rshares0
last_payout2019-01-23 14:53:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length1,008
author_reputation38,705,954,145,809
root_title"[STEEM BOUNTY] European Commission EFTG Project – Developing Investor's Portal API With Elastic Search"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@sorin.cristescu ·
$0.12
A link to the description of the project, for those who wonder what this is about or who want to have "the bigger picture"

https://steemit.com/utopian-io/@sorin.cristescu/european-financial-transparency-gateway
👍  
properties (23)
post_id68,915,984
authorsorin.cristescu
permlinkre-utopiantasks-steem-bounty-european-commission-eftg-project-developing-investor-s-portal-api-with-elastic-search-20190117t101048127z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"links":["https:\/\/steemit.com\/utopian-io\/@sorin.cristescu\/european-financial-transparency-gateway"],"app":"steemit\/0.1"}
created2019-01-17 10:10:48
last_update2019-01-17 10:10:48
depth1
children0
net_rshares198,508,601,191
last_payout2019-01-24 10:10:48
cashout_time1969-12-31 23:59:59
total_payout_value0.091 SBD
curator_payout_value0.030 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length211
author_reputation163,849,244,963,971
root_title"[STEEM BOUNTY] European Commission EFTG Project – Developing Investor's Portal API With Elastic Search"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@pennsif ·
This post has been included in the latest edition of  [**SOS Daily News**](https://steemit.com/steem/@pennsif/sosdailynewsnewsaboutthestateofsteem16january2019-oi1avqje52) - a digest of all you need to know about the State of Steem.

***

* *Editor of the [**The State of Steem SoS Daily News**](https://steemit.com/steem/@pennsif/sosdailynewsnewsaboutthestateofsteem16january2019-oi1avqje52).*

* *Promoter of [**The State of Steem SoS Weekly Forums**](https://steemit.com/dtube/@pennsif/k8811wa6).*

* *Editor of the [**weekly listing of steem radio shows, podcasts & social broadcasts**](https://steemit.com/mspwaves/@pennsif/schedule-of-radio-shows-podcasts-and-social-broadcasts-week-beginning-14-january-2019).*

* *Founder of the [**A Dollar A Day**](https://steemit.com/adollaraday/@adollaraday/a-dollar-a-day-charitable-giving-project-ususd-5000-donated-in-8-months-we-made-it) charitable giving project.*

***
properties (22)
post_id68,927,266
authorpennsif
permlinkre-utopiantasks-steem-bounty-european-commission-eftg-project-developing-investor-s-portal-api-with-elastic-search-20190117t155420861z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"links":["https:\/\/steemit.com\/steem\/@pennsif\/sosdailynewsnewsaboutthestateofsteem16january2019-oi1avqje52","https:\/\/steemit.com\/dtube\/@pennsif\/k8811wa6","https:\/\/steemit.com\/mspwaves\/@pennsif\/schedule-of-radio-shows-podcasts-and-social-broadcasts-week-beginning-14-january-2019","https:\/\/steemit.com\/adollaraday\/@adollaraday\/a-dollar-a-day-charitable-giving-project-ususd-5000-donated-in-8-months-we-made-it"],"app":"steemit\/0.1"}
created2019-01-17 15:54:24
last_update2019-01-17 15:54:24
depth1
children0
net_rshares0
last_payout2019-01-24 15:54:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length919
author_reputation1,136,463,666,385,724
root_title"[STEEM BOUNTY] European Commission EFTG Project – Developing Investor's Portal API With Elastic Search"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@arcange ·
Congratulations @utopian.tasks!
Your post was mentioned in the [Steem Hit Parade](https://steemit.com/hit-parade/@arcange/daily-hit-parade-20190116) in the following category:

* Pending payout - Ranked 7 with $ 68,17
properties (22)
post_id68,929,071
authorarcange
permlinkre-steem-bounty-european-commission-eftg-project-developing-investor-s-portal-api-with-elastic-search-20190116t174307000z
categoryutopian-io
json_metadata{}
created2019-01-17 16:45:39
last_update2019-01-17 16:45:39
depth1
children0
net_rshares0
last_payout2019-01-24 16:45:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length218
author_reputation231,443,210,169,699
root_title"[STEEM BOUNTY] European Commission EFTG Project – Developing Investor's Portal API With Elastic Search"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000