java services controllers spring-boot maven swagger mockito junit authorization spring-security jwt-token api-rest role-based-access-control oath2 repositories aut e-commerce-project jpa-hibernate ...