- Built with Kotlin and Spring Boot with Spring Web
- Default port is 8080
## Running locally
$ ./gradlew bootRun- Implemented unit tests with MOCKK, JUnit5 and AssertK
# unit tests
$ ./gradlew test
curl --location 'localhost:8080/products?searchTerm=Table'
Response:
{
"items": [
{
"id": 2,
"name": "Modern Table",
"options": [
{
"id": 6,
"name": "Wood",
"price": 1223
},
{
"id": 7,
"name": "Metal",
"price": 2154
}
],
"priceRange": "US$1223.00-US$2154.00"
}
],
"meta": {
"searchTerm": "Table",
"count": 1
}
}
- com.productsearch.productsearch.app
- Containing Plumbing/Framework related code
- com.productsearch.productsearch.app
- Code containing core logic of the service, free of framework specific code