Angular project and WebApi
Budget: £10 – £20 GBP
Business Goal
The challenge is to create a simple web application that allows a user to list and search for hotels.
Platform Choice
The platforms we prefer you to use are:
• Angular / Typescript for the Web UI.
• .NET Core/ C# for the Web API.
For the purposes of this coding test it is not necessary to serve the dataset from a database. Serving it from
memory or a static file will suffice.
Technical Requirements
Spend as much or as little time on the exercises as you think is necessary. The following technical
requirements need to be met. We would advise between 1 and 3 hours.
• Create a front-end web application which communicates with a Web API backend.
• Implement the user stories detailed in the following section.
• Your code can be compiled and run in one step.
• You can use any additional frameworks / libraries / packages you think appropriate.
• Do not use any components which require licensing.
• For the data source, create a JSON file which contains data for at least 20 hotels.
• You must include all tests – we are unable to review your code without them.
• Do not include artefacts from your local build (such as NuGet / NPM packages or the bin folder(s)).
User Stories
Given I am a user
When I first access the hotel search application
Then I can see a list of hotels which are available
Given I am a user looking for a specific hotel
When I enter a search criterion
Then I will see the list of hotels filtered to where the name partially or fully matches
Given I am a user wanting to filter the list of hotels by rating
When I filter by a selected rating
Then I will see the list of hotels filtered to the associated rating
Given I am a user wanting to see the highest rated hotels
When I sort by rating descending
Then I will see the hotels with the highest rating at the top of the list
Acceptance Criteria
The following attributes are displayed for each hotel:
o Name
o Brief Description o Location o Rating
When searching for hotels it should either fully or partially match the hotel name.
The search is case-insensitive.
The ratings range from 1 - 5 stars where 5 stars is the highest rating.
The rating display is visually quick and easy to identify.
The challenge is to create a simple web application that allows a user to list and search for hotels.
Platform Choice
The platforms we prefer you to use are:
• Angular / Typescript for the Web UI.
• .NET Core/ C# for the Web API.
For the purposes of this coding test it is not necessary to serve the dataset from a database. Serving it from
memory or a static file will suffice.
Technical Requirements
Spend as much or as little time on the exercises as you think is necessary. The following technical
requirements need to be met. We would advise between 1 and 3 hours.
• Create a front-end web application which communicates with a Web API backend.
• Implement the user stories detailed in the following section.
• Your code can be compiled and run in one step.
• You can use any additional frameworks / libraries / packages you think appropriate.
• Do not use any components which require licensing.
• For the data source, create a JSON file which contains data for at least 20 hotels.
• You must include all tests – we are unable to review your code without them.
• Do not include artefacts from your local build (such as NuGet / NPM packages or the bin folder(s)).
User Stories
Given I am a user
When I first access the hotel search application
Then I can see a list of hotels which are available
Given I am a user looking for a specific hotel
When I enter a search criterion
Then I will see the list of hotels filtered to where the name partially or fully matches
Given I am a user wanting to filter the list of hotels by rating
When I filter by a selected rating
Then I will see the list of hotels filtered to the associated rating
Given I am a user wanting to see the highest rated hotels
When I sort by rating descending
Then I will see the hotels with the highest rating at the top of the list
Acceptance Criteria
The following attributes are displayed for each hotel:
o Name
o Brief Description o Location o Rating
When searching for hotels it should either fully or partially match the hotel name.
The search is case-insensitive.
The ratings range from 1 - 5 stars where 5 stars is the highest rating.
The rating display is visually quick and easy to identify.