Approximate Time Per Task
- Project setup ~ 10 minutes
- Initial DB with liquibase ~ 30 minutes
- APIs And Project structure (Initial Controllers, Services, Entities etc) ~ 2 hours
- CORS ~ 15 minutes
- Liquibase new column ~ 10 minutes
- Custom Exception handling (Checks on unique employee email, unique department name etc.) ~ 30 minutes
- Spring Security ~ 1.5 hour
Additional Notes
- I have also created CustomUserDetails and AuditorResolver in order to populate correctly the created_by updated_by columns using the @CreatedBy and @LastModifiedBy annotations
- I have also added a couple of unit tests for the EmployeeController