Models a simple Restful service that manages some sample resources just for exploring the best practice in this kind of projects.
* main:
https://spring.io/guides/tutorials/rest/
* https://howtodoinjava.com/spring5/hateoas/spring-hateoas-tutorial/
* https://opencredo.com/blogs/hal-hypermedia-api-spring-hateoas/
* https://www.baeldung.com/spring-boot-jasypt
* https://www.baeldung.com/spring-boot-bean-validation
* https://dzone.com/articles/java-springboot-rest-api-to-uploaddownload-file-on
* https://www.javaguides.net/2018/11/spring-boot-2-file-upload-and-download-rest-api-tutorial.html
* https://blog.ippon.tech/boost-the-performance-of-your-spring-data-jpa-application/
* https://thorben-janssen.com/entity-mappings-introduction-jpa-fetchtypes/
* https://www.baeldung.com/spring-data-criteria-queries
* https://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-part-four-jpa-criteria-queries/
* Provide a unit test for the endpoints.
* Use Swagger for building Api docs.
* Deploy the solution on a public AWS cloud platform.
* Provide documentation on the API endpoints with sample test data.
* Writing some technical notes (Design decisions, Data structures used, applied best pratices).
* Applying more methods to handle employee documents such as:
1- Get /payroll/v1/employees/{id}/documents
2- Get /payroll/v1/employees/{id}/documents/{id}
3- Get /payroll/v1/employees/{id}/documents/{documentCode}
4- DELETE /payroll/v1/employees/{id}/documents
5- DELETE /payroll/v1/employees/{id}/documents/{id}
6- DELETE /payroll/v1/employees/{id}/documents/{documentCode}