Initial commit
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Backend dev technical test
|
||||
We want to offer a new feature to our customers showing similar products to the one they are browsing. To do this we agreed with out front end applications to create a new REST API that will provide them the product detail of the similar products to a given one. [Here](./similarProducts.yaml) is the contract we agreed.
|
||||
|
||||
We already have an endpoint that provides the product Ids similar to a given one. We also have another endpoint that returns the product detail by productId. [Here](./existingApis.yaml) is the documentation of the existing APIs.
|
||||
|
||||
**Create a Spring boot application that exposes the agreed REST API on port 5000.**
|
||||
|
||||

|
||||
|
||||
Note that _Test_ and _Mocks_ components are given, you must only implement _yourApp_.
|
||||
|
||||
## Testing and Self-evaluation
|
||||
You can run the same test we will put through your application. You just need to have docker installed.
|
||||
|
||||
First of all you may need to enable file sharing for the `shared` folder on your docker dashboard -> settings -> resources -> file sharing.
|
||||
|
||||
Then you can start the mocks and other needed infrastructure with the following command.
|
||||
```
|
||||
docker-compose up -d simulado influxdb grafana
|
||||
```
|
||||
Check that mocks are working with a sample request to [http://localhost:3001/product/1/similarids](http://localhost:3001/product/1/similarids).
|
||||
|
||||
To execute the test run:
|
||||
```
|
||||
docker-compose run --rm k6 run scripts/test.js
|
||||
```
|
||||
Browse [http://localhost:3000/d/Le2Ku9NMk/k6-performance-test](http://localhost:3000/d/Le2Ku9NMk/k6-performance-test) to view the results.
|
||||
|
||||
## Evaluation
|
||||
The following topics will be considered:
|
||||
- Code clarity and maintainability
|
||||
- Performance
|
||||
- Resilence
|
||||
Reference in New Issue
Block a user