[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).
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
Estimated Task Complexity:
Medium
Task Specifications:
Develop the API needed for the Investor's Portal.
The existing front end will utilize the API to connect to the project’s Elastic Search database.
Figure 1: Search Form Design
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
Figure 2: Investor's Portal
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
- The endpoint should be: /issuer_names.json
- Searchable field: issuer name with query string parameter name as issuer_name
- 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
- Page
- 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
- The endpoint should be: /identifiers.json
- 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
- Legal entity identifier value
- 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
- Page
- Response format:
The structure of the response should match below example
https://cdn.blkcc.xyz/identifiers.json
Figure 3: Search Results Design
Search endpoint
The search endpoint will return the search result submitted through the investor’s interface
The endpoint should be: /search.json
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
- Issuer name
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
- Page
Response format:
The structure of the response should match the example here:
https://cdn.blkcc.xyz/search.jsonTimestamp 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.
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
Congratulations @utopian.tasks! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word
STOP
To support your work, I also upvoted your post!
This post has been included in the latest edition of SOS Daily News - a digest of all you need to know about the State of Steem.
Editor of the The State of Steem SoS Daily News.
Promoter of The State of Steem SoS Weekly Forums.
Editor of the weekly listing of steem radio shows, podcasts & social broadcasts.
Founder of the A Dollar A Day charitable giving project.
Congratulations @utopian.tasks!
Your post was mentioned in the Steem Hit Parade in the following category: