Create a company search application using Angular 7 or above.
- A user can search for a company by name or company number
- The result of the search is displayed
- The user can click on any company to view its details
- Use Material Design or Bootstrap for styling
- Provide input validation
- Restrict access to details page (you may mock the user authentication)
- Implement paging of the result
- Use Stylus, SASS, LESS or plain CSS for style sheets
- Use any NPM components you feel is appropriate for the task
Search for Company:
https://angular-exercise.trunarrative.cloud/TruProxyAPI/rest/Companies/v1/Search?Query={search_term}
Response Example
{
"page_number": 1,
"kind": "search#companies",
"total_results": 20,
"items": [
{
"company_status": "active",
"address_snippet": "Boswell Cottage Main Street, North Leverton, Retford, England, DN22 0AD",
"date_of_creation": "2008-02-11",
"matches": {
"title": [
1,
3
]
},
"description": "06500244 - Incorporated on 11 February 2008",
"links": {
"self": "/company/06500244"
},
"company_number": "06500244",
"title": "BBC LIMITED",
"company_type": "ltd",
"address": {
"premises": "Boswell Cottage Main Street",
"postal_code": "DN22 0AD",
"country": "England",
"locality": "Retford",
"address_line_1": "North Leverton"
},
"kind": "searchresults#company",
"description_identifier": [
"incorporated-on"
]
}]
}
Get Company Officers:
https://angular-exercise.trunarrative.cloud/TruProxyAPI/rest/Companies/v1/Officers?CompanyNumber={number}
Response Example
{
"etag": "6dd2261e61776d79c2c50685145fac364e75e24e",
"links": {
"self": "/company/10241297/officers"
},
"kind": "officer-list",
"items_per_page": 35,
"items": [
{
"address": {
"premises": "The Leeming Building",
"postal_code": "LS2 7JF",
"country": "England",
"locality": "Leeds",
"address_line_1": "Vicar Lane"
},
"name": "ANTLES, Kerri",
"appointed_on": "2017-04-01",
"officer_role": "director",
"links": {
"officer": {
"appointments": "/officers/4R8_9bZ44w0_cRlrxoC-wRwaMiE/appointments"
}
},
"date_of_birth": {
"month": 6,
"year": 1969
},
"occupation": "Finance And Accounting",
"country_of_residence": "United States",
"nationality": "American"
}]
}
Authentication:
Use the API key provided in your request header when calling the endpoints.
Example: curl -s -H 'x-api-key: xxxxxxxxxxxxx' "https://angular-exercise.trunarrative.cloud/TruProxyAPI/rest/Companies/v1/Officers?CompanyNumber=10241297"
API credentials will be provided seperately
