Java Spring-Boot & Core-Java senior 4 redmine API -- 2
Budget: $10 – $80 USD
We look for Java Spring-Boog and Core-Java senior expert developer
Your job will be to implement unit tests by our requirements which are mutually agreed against an existing redmine API
https://www.redmine.org/projects/redmine/wiki/rest_api
The Java side of the API client is already implemented and needs to be configured against an redmine instance and to run the unit tests against it.
Mandatory!!!!
You have to have a installed redmine on your local environment as docker to be able to use it properly and to test it properly!
You will also get an integration/approval redmine instance from our side. But it is not production reliable
you can run locally via:
https://hub.docker.com/_/redmine/
Milestones
MS1:
Implement a rest api call to
- find all users and return the users as full DTO (use jsonschema2pojo to get all fields generated)
List<UserDTO> findAllUsers()
List<UserDTO> findUsers(List<UserDTO> pUsersByExampleToFind)
- add users
List<UserDTO> addUsers(List<UserDTO> pUsersToAdd)
- update update users
List<UserDTO> updateUsers(List<UserDTO> pUsersToUpdate)
- block/ban users
List<UserDTO> blockUsers(List<UserDTO> pUsersToDelete)
- delete users
List<UserDTO> deleteUsers(List<UserDTO> pUsersToDelete)
MS2:
- same as above except for groups
- operations to add or remove users from specific groups (as set operations)
MS3:
- you need to be able to add issues by specific tracker-types
List<Issue> createIssues(List<Issues> pNewIssues)
- you need to be able to update issues by specific tracker-types
List<Issue> updateIssues(List<Issues> pNewIssues)
- you need to be able to link by link type the issues together
List<Issue> addSubtasks(List<Issue> pIssues, Issue pParent)
List<Issue> addSubtasks(Issue, List<Issue> pChildIssues)
List<Issue> addBlockedBy(Issue, List<Issue> pBlockedByIssues)
List<Issue> addBlockeds(Issue, List<Issue> pBlocksIssues)
List<Issue> addPrecedes(Issue, List<Issue> pPrecedesIssues, )
List<Issue> addFollow(Issue, List<Issue> pFollowsIssues, )
List<Issue> addRelated(Issue, List<Issue> pRelatedIssues)
MS4:
add for all methods singular wrappers for convenience programming (wrap isngle item into a collection and call above developed methods)
Implementations:
- a Interface representing the above methods
- the impl of the interface
- the DTOs are hardcoded examples in multiple JUnit tests, so that the JUnit tests is basically your "main" method replacement with multiple entry points
NO UI for now required!
NO database required!
No REST endpoint exposing for the above named methods required! (only consuming the apis in the given links)
Your background is:
- multiple years of experience with Java
- multiple years of experience with REST APIs
If you are a good fit, you are open to get more tasks about implementing solutions fully on your own (e.g. with your team)
Budget?
will not be disclosed, place your best bid to get considered
What is next?
We will share you a NDA and afterwards a paid test task.
Payment?
- you estimate in a WBS (optimistic, expected, pessimistic, where optimistic < expected < pessimistic) after getting the task
- we discuss about clearances and effort
- we mutually agree to effort
- we assign you the task after mutually agreed
- 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!
Deliveries?
- in our on premise git (access will be granted to you)
- full sources
- maven
- libs, need prior confirm and we prefer to use mostly latest stable versions
- JDK 17 (mostly LTS)
- CI/CD works fine with checkstyle, pmd, spotbugs
- works on our side too
Your job will be to implement unit tests by our requirements which are mutually agreed against an existing redmine API
https://www.redmine.org/projects/redmine/wiki/rest_api
The Java side of the API client is already implemented and needs to be configured against an redmine instance and to run the unit tests against it.
Mandatory!!!!
You have to have a installed redmine on your local environment as docker to be able to use it properly and to test it properly!
You will also get an integration/approval redmine instance from our side. But it is not production reliable
you can run locally via:
https://hub.docker.com/_/redmine/
Milestones
MS1:
Implement a rest api call to
- find all users and return the users as full DTO (use jsonschema2pojo to get all fields generated)
List<UserDTO> findAllUsers()
List<UserDTO> findUsers(List<UserDTO> pUsersByExampleToFind)
- add users
List<UserDTO> addUsers(List<UserDTO> pUsersToAdd)
- update update users
List<UserDTO> updateUsers(List<UserDTO> pUsersToUpdate)
- block/ban users
List<UserDTO> blockUsers(List<UserDTO> pUsersToDelete)
- delete users
List<UserDTO> deleteUsers(List<UserDTO> pUsersToDelete)
MS2:
- same as above except for groups
- operations to add or remove users from specific groups (as set operations)
MS3:
- you need to be able to add issues by specific tracker-types
List<Issue> createIssues(List<Issues> pNewIssues)
- you need to be able to update issues by specific tracker-types
List<Issue> updateIssues(List<Issues> pNewIssues)
- you need to be able to link by link type the issues together
List<Issue> addSubtasks(List<Issue> pIssues, Issue pParent)
List<Issue> addSubtasks(Issue, List<Issue> pChildIssues)
List<Issue> addBlockedBy(Issue, List<Issue> pBlockedByIssues)
List<Issue> addBlockeds(Issue, List<Issue> pBlocksIssues)
List<Issue> addPrecedes(Issue, List<Issue> pPrecedesIssues, )
List<Issue> addFollow(Issue, List<Issue> pFollowsIssues, )
List<Issue> addRelated(Issue, List<Issue> pRelatedIssues)
MS4:
add for all methods singular wrappers for convenience programming (wrap isngle item into a collection and call above developed methods)
Implementations:
- a Interface representing the above methods
- the impl of the interface
- the DTOs are hardcoded examples in multiple JUnit tests, so that the JUnit tests is basically your "main" method replacement with multiple entry points
NO UI for now required!
NO database required!
No REST endpoint exposing for the above named methods required! (only consuming the apis in the given links)
Your background is:
- multiple years of experience with Java
- multiple years of experience with REST APIs
If you are a good fit, you are open to get more tasks about implementing solutions fully on your own (e.g. with your team)
Budget?
will not be disclosed, place your best bid to get considered
What is next?
We will share you a NDA and afterwards a paid test task.
Payment?
- you estimate in a WBS (optimistic, expected, pessimistic, where optimistic < expected < pessimistic) after getting the task
- we discuss about clearances and effort
- we mutually agree to effort
- we assign you the task after mutually agreed
- 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!
Deliveries?
- in our on premise git (access will be granted to you)
- full sources
- maven
- libs, need prior confirm and we prefer to use mostly latest stable versions
- JDK 17 (mostly LTS)
- CI/CD works fine with checkstyle, pmd, spotbugs
- works on our side too
Related categories:
Business, Accounting, Human Resources & Legal
Java Spring
RESTful API
Spring Boot