Implement REST API client with filter function like shown in python
Budget: $10 – $80 USD
your job is to implement a rest api client in Java to query and to provide filtering functions like this code:
https://github.com/danielskowronski/hetzner-auction-hunter/blob/master/hah.py#L142
It is even the same API!
todos:
- implement models via jsonschema2pojo
=> 1st generated and working version is provided to you!
=> you need to tidy up based on logical features (disk, ram, cpu, network, ...) into custom classes
- implement filtering on top of JPA CriteriaBuilder/compiletime safty
- CPUs
- disk size, type, count
- RAM total, modules-count, ecc
- networking
see also here: https://github.com/danielskowronski/hetzner-auction-hunter/blob/master/hah.py#L142
milestones:
ms1:
implement Entities & spring repositories and implement SQL-query-(filters) by given command from github args above in the link via JPA CriteriaBuilder (compile time safety)
map DTOs to Entities
implement model 2 entity mapping (preferably mapstruct or similar)
implement sample test cases are implemented to reuse (see https://xenovation.com/tmp/exampleJUnit.java)
this is already provided to you in MS1:
spring-boot project is created,
API access to hetzner is implemented and working,
mapping hetzner API-json to java model DTO is implemented an working
hint:
get json from api https://www.hetzner.com/_resources/app/jsondata/live_data_sb.json?m=1692859846457
and check the data
ms2:
track servers via a scheduled job (each hour) and persist changes as a revision per server
ms3:
define one history Entity for json as "file" and persist json-file as brotli compressed data
(read https://dkomanov.medium.com/java-compression-performance-fb373078cfde )
so we can reproduce data every time in the past
ms4:
provide rest endpoint to accept searchDTO and the result is a list of servers matching to it
provide rest endpoing to get history of a specific server
rest api will be using the same methods you have implemented in the tests in MS1
Deliveries?
- in our on premise git (access will be granted to you)
- full sources
- docker compose for openldap + keycloak
- maven
- JDK 17
Requirements:
- clean code
- code checked with checkstyle, pmd, spotbugs
Payment?
- you estimate in a WBS after getting the task
- we discuss about clearances and effort
- we mutually agree to effort
- we assign you the task after agree
- you implement & delivery
- we pay
(basically the rules of freelancer)
Closed book vs open book?
We work only on open book.
Closed book means you are unwilling to define a WBS for the work and you add only a price tag to the task. We are sorry we will not hire you in such a case!
budget?
we do not disclose the budget, but we know how much time such a task requires.
Be aware that the person interviewing you in the chat has developer background and thus requires clear technical answers.
https://github.com/danielskowronski/hetzner-auction-hunter/blob/master/hah.py#L142
It is even the same API!
todos:
- implement models via jsonschema2pojo
=> 1st generated and working version is provided to you!
=> you need to tidy up based on logical features (disk, ram, cpu, network, ...) into custom classes
- implement filtering on top of JPA CriteriaBuilder/compiletime safty
- CPUs
- disk size, type, count
- RAM total, modules-count, ecc
- networking
see also here: https://github.com/danielskowronski/hetzner-auction-hunter/blob/master/hah.py#L142
milestones:
ms1:
implement Entities & spring repositories and implement SQL-query-(filters) by given command from github args above in the link via JPA CriteriaBuilder (compile time safety)
map DTOs to Entities
implement model 2 entity mapping (preferably mapstruct or similar)
implement sample test cases are implemented to reuse (see https://xenovation.com/tmp/exampleJUnit.java)
this is already provided to you in MS1:
spring-boot project is created,
API access to hetzner is implemented and working,
mapping hetzner API-json to java model DTO is implemented an working
hint:
get json from api https://www.hetzner.com/_resources/app/jsondata/live_data_sb.json?m=1692859846457
and check the data
ms2:
track servers via a scheduled job (each hour) and persist changes as a revision per server
ms3:
define one history Entity for json as "file" and persist json-file as brotli compressed data
(read https://dkomanov.medium.com/java-compression-performance-fb373078cfde )
so we can reproduce data every time in the past
ms4:
provide rest endpoint to accept searchDTO and the result is a list of servers matching to it
provide rest endpoing to get history of a specific server
rest api will be using the same methods you have implemented in the tests in MS1
Deliveries?
- in our on premise git (access will be granted to you)
- full sources
- docker compose for openldap + keycloak
- maven
- JDK 17
Requirements:
- clean code
- code checked with checkstyle, pmd, spotbugs
Payment?
- you estimate in a WBS after getting the task
- we discuss about clearances and effort
- we mutually agree to effort
- we assign you the task after agree
- you implement & delivery
- we pay
(basically the rules of freelancer)
Closed book vs open book?
We work only on open book.
Closed book means you are unwilling to define a WBS for the work and you add only a price tag to the task. We are sorry we will not hire you in such a case!
budget?
we do not disclose the budget, but we know how much time such a task requires.
Be aware that the person interviewing you in the chat has developer background and thus requires clear technical answers.
Related categories:
Business, Accounting, Human Resources & Legal
JSON
Spring Boot
Spring JPA
REST API