# leaseweb - coding assignment

Hi {candidate},

We would like to congratulate you on progressing to the next phase of the Leaseweb interview process. 

This stage involves a technical evaluation which will be discussed in more detail below.

For review purposes, we&#39;d like you to create an example for us to sample your code.

Assignment: 

Using the given endpoint provided, display the list of servers and then implement the filter functionality as mentioned 
in the document.

The endpoint http://85.17.31.99:4300/ exposes a collection of servers which can be filtered by its properties (HD Size, 
HDD Type, RAM, Location). Please refer to the endpoint document here.

| Name     | Type         | Values                                                           |
| :------- |:------------ | :--------------------------------------------------------------- |
| Storage  | Range slider | 0, 250GB, 500GB, 1TB, 2TB, 3TB, 4TB, 8TB, 12TB, 24TB, 48TB, 72TB |
| RAM      | Checkboxes   | 2GB, 4GB, 8GB, 12GB, 16GB, 24GB, 32GB, 48GB, 64GB, 96GB          |
| HDD      | Dropdown     | SAS, SATA, SSD                                                   |
| Location | Dropdown     | Refer to Location list                                           |

The idea is to have a single page application built with Angular (minimum Angular 2) with the list of servers with the 
possibility to reduce the list using the filters as shown in the following table.

We would like to see the following:
- Unit testing
- Functional testing
- End to End testing is a plus

Bonus points:
- Code quality
- Application structure
- User Interface
- Optimization (load times and rendering performance)

Delivery requirements:
- We would like you to demo your project for us. 
- Please prepare to show us the product as well as explain the technical approach that you took. 
- The format will be that of a sprint review where the entire team will be present.

Please also:
- Share your GIT repository.
- We will prefer the project to be hosted somewhere where we can access it.
- We should be able to get the project up and running per your instructions if you prefer not host it yourself.

Keep in mind that we would like you to show off your front-end skills.

You can make reasonable assumptions if something is unclear regarding the scope of the assignment.

## Instuctions 

Build image: 

```
docker build -t lsw-assignment-api .
```

Run container 

```
docker run -d -p 4300:4300 lsw-assignment-api
```

### [Access API on http://localhost:4300/](http://localhost:4300/)
