This is a Spring Boot application that helps user store Employee and their addresses on the database.
This application uses MySql as the underlying database.
Project functionalities :-
-
Has endpoints to add new Employee and associated address(Here i've kept a one-one relationship).
-
User can add bulk data using Java Executor thread pool.
-
Caching is implemented in the application to reduce network latency and number of database calls. There are two levels of caches implemented. The First Level Cache contains the latest 5 minutes old data and the second level cache contains the entire data set in consideration to the fact that data set is small.
-
For mapping between classes (i.e from Entity to DTO and vice versa) Dozer Mapper has been used.
-
ehCache has been used for the caching mechanism.
-
Logging functionality is implemented in the application.