diff --git a/pom.xml b/pom.xml
index 71e5d21b02..50f4f85fd0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -621,6 +621,7 @@
tensorflow-java
spf4j
+ spring-boot-modules
spring-boot-config-jpa-error
spring-boot-flowable
spring-boot-mvc-2
@@ -707,6 +708,7 @@
spring-bom
spring-boot
+ spring-boot-modules
spring-boot-admin
spring-boot-angular
spring-boot-autoconfiguration
@@ -733,7 +735,6 @@
spring-boot-runtime/disabling-console-log4j2
spring-boot-runtime/disabling-console-logback
spring-boot-artifacts
- spring-boot-rest
spring-boot-data
spring-boot-parent
spring-boot-property-exp
@@ -1252,6 +1253,7 @@
rxjava-libraries
oauth2-framework-impl
spf4j
+ spring-boot-modules
spring-boot-performance
spring-boot-properties
spring-mvc-basics
@@ -1316,6 +1318,7 @@
spring-bom
spring-boot
+ spring-boot-modules
spring-boot-admin
spring-boot-angular
spring-boot-autoconfiguration
@@ -1339,7 +1342,6 @@
spring-boot-runtime/disabling-console-log4j2
spring-boot-runtime/disabling-console-logback
spring-boot-artifacts
- spring-boot-rest
spring-boot-data
spring-boot-parent
spring-boot-property-exp
diff --git a/spring-boot-modules/README.md b/spring-boot-modules/README.md
new file mode 100644
index 0000000000..214437f45e
--- /dev/null
+++ b/spring-boot-modules/README.md
@@ -0,0 +1,3 @@
+## Core Java Modules
+
+This module contains modules about Sprint Boot
diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml
new file mode 100644
index 0000000000..da4fb26e2e
--- /dev/null
+++ b/spring-boot-modules/pom.xml
@@ -0,0 +1,20 @@
+
+
+ 4.0.0
+ com.baeldung.spring-boot-modules
+ spring-boot-modules
+ spring-boot-modules
+ pom
+
+
+ com.baeldung
+ parent-modules
+ 1.0.0-SNAPSHOT
+
+
+
+ spring-boot-rest
+
+
+
diff --git a/spring-boot-rest/README.md b/spring-boot-modules/spring-boot-rest/README.md
similarity index 100%
rename from spring-boot-rest/README.md
rename to spring-boot-modules/spring-boot-rest/README.md
diff --git a/spring-boot-rest/pom.xml b/spring-boot-modules/spring-boot-rest/pom.xml
similarity index 98%
rename from spring-boot-rest/pom.xml
rename to spring-boot-modules/spring-boot-rest/pom.xml
index 10dacf99e8..c3bd984391 100644
--- a/spring-boot-rest/pom.xml
+++ b/spring-boot-modules/spring-boot-rest/pom.xml
@@ -13,7 +13,7 @@
com.baeldung
parent-boot-2
0.0.1-SNAPSHOT
- ../parent-boot-2
+ ../../parent-boot-2
diff --git a/spring-boot-rest/src/main/java/com/baeldung/SpringBootRestApplication.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/SpringBootRestApplication.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/SpringBootRestApplication.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/SpringBootRestApplication.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/persistence/IOperations.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/IOperations.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/persistence/IOperations.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/IOperations.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/persistence/dao/IFooDao.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/dao/IFooDao.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/persistence/dao/IFooDao.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/dao/IFooDao.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/persistence/model/Customer.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/model/Customer.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/persistence/model/Customer.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/model/Customer.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/persistence/model/Foo.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/model/Foo.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/persistence/model/Foo.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/model/Foo.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/persistence/model/Order.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/model/Order.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/persistence/model/Order.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/model/Order.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/persistence/service/IFooService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/service/IFooService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/persistence/service/IFooService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/service/IFooService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/persistence/service/common/AbstractService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/service/common/AbstractService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/persistence/service/common/AbstractService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/service/common/AbstractService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/persistence/service/impl/FooService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/service/impl/FooService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/persistence/service/impl/FooService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/persistence/service/impl/FooService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/ExamplePostController.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/ExamplePostController.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/ExamplePostController.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/ExamplePostController.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/LoginForm.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/LoginForm.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/LoginForm.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/LoginForm.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/ResponseTransfer.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/ResponseTransfer.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/ResponseTransfer.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/requestresponsebody/ResponseTransfer.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/services/CustomerService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/services/CustomerService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/services/CustomerService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/services/CustomerService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/services/CustomerServiceImpl.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/services/CustomerServiceImpl.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/services/CustomerServiceImpl.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/services/CustomerServiceImpl.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/services/ExampleService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/services/ExampleService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/services/ExampleService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/services/ExampleService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/services/OrderService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/services/OrderService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/services/OrderService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/services/OrderService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/services/OrderServiceImpl.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/services/OrderServiceImpl.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/services/OrderServiceImpl.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/services/OrderServiceImpl.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/spring/PersistenceConfig.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/spring/PersistenceConfig.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/spring/PersistenceConfig.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/spring/PersistenceConfig.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/spring/WebConfig.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/spring/WebConfig.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/spring/WebConfig.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/spring/WebConfig.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/controller/PostRestController.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/controller/PostRestController.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/controller/PostRestController.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/controller/PostRestController.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/dto/PostDto.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/dto/PostDto.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/dto/PostDto.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/dto/PostDto.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/dto/UserDto.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/dto/UserDto.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/dto/UserDto.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/dto/UserDto.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Post.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Post.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Post.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Post.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Preference.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Preference.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Preference.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Preference.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Subject.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Subject.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Subject.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/Subject.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/User.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/User.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/model/User.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/model/User.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/repository/PostRepository.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/repository/PostRepository.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/repository/PostRepository.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/repository/PostRepository.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/repository/SubjectRepository.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/repository/SubjectRepository.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/repository/SubjectRepository.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/repository/SubjectRepository.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/IPostService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/IPostService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/service/IPostService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/IPostService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/IUserService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/IUserService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/service/IUserService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/IUserService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/PostService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/PostService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/service/PostService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/PostService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/UserService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/UserService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/springpagination/service/UserService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/springpagination/service/UserService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/config/MyCustomErrorAttributes.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/config/MyCustomErrorAttributes.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/config/MyCustomErrorAttributes.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/config/MyCustomErrorAttributes.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/config/MyErrorController.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/config/MyErrorController.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/config/MyErrorController.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/config/MyErrorController.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/controller/CustomerController.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/CustomerController.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/controller/CustomerController.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/CustomerController.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/controller/FaultyRestController.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/FaultyRestController.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/controller/FaultyRestController.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/FaultyRestController.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/controller/FooController.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/FooController.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/controller/FooController.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/FooController.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/controller/RootController.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/RootController.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/controller/RootController.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/RootController.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/controller/students/Student.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/students/Student.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/controller/students/Student.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/students/Student.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/controller/students/StudentController.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/students/StudentController.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/controller/students/StudentController.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/students/StudentController.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/controller/students/StudentService.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/students/StudentService.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/controller/students/StudentService.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/controller/students/StudentService.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/exception/BadRequestException.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/exception/BadRequestException.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/exception/BadRequestException.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/exception/BadRequestException.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/exception/MyResourceNotFoundException.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/exception/MyResourceNotFoundException.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/exception/MyResourceNotFoundException.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/exception/MyResourceNotFoundException.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/exception/ResourceNotFoundException.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/exception/ResourceNotFoundException.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/exception/ResourceNotFoundException.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/exception/ResourceNotFoundException.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/PaginatedResultsRetrievedEvent.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/PaginatedResultsRetrievedEvent.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/PaginatedResultsRetrievedEvent.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/PaginatedResultsRetrievedEvent.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/ResourceCreatedEvent.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/ResourceCreatedEvent.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/ResourceCreatedEvent.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/ResourceCreatedEvent.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/SingleResourceRetrievedEvent.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/SingleResourceRetrievedEvent.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/SingleResourceRetrievedEvent.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/event/SingleResourceRetrievedEvent.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/PaginatedResultsRetrievedDiscoverabilityListener.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/PaginatedResultsRetrievedDiscoverabilityListener.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/PaginatedResultsRetrievedDiscoverabilityListener.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/PaginatedResultsRetrievedDiscoverabilityListener.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/ResourceCreatedDiscoverabilityListener.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/ResourceCreatedDiscoverabilityListener.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/ResourceCreatedDiscoverabilityListener.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/ResourceCreatedDiscoverabilityListener.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/SingleResourceRetrievedDiscoverabilityListener.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/SingleResourceRetrievedDiscoverabilityListener.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/SingleResourceRetrievedDiscoverabilityListener.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/hateoas/listener/SingleResourceRetrievedDiscoverabilityListener.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/util/LinkUtil.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/util/LinkUtil.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/util/LinkUtil.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/util/LinkUtil.java
diff --git a/spring-boot-rest/src/main/java/com/baeldung/web/util/RestPreconditions.java b/spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/util/RestPreconditions.java
similarity index 100%
rename from spring-boot-rest/src/main/java/com/baeldung/web/util/RestPreconditions.java
rename to spring-boot-modules/spring-boot-rest/src/main/java/com/baeldung/web/util/RestPreconditions.java
diff --git a/spring-boot-rest/src/main/resources/WEB-INF/api-servlet.xml b/spring-boot-modules/spring-boot-rest/src/main/resources/WEB-INF/api-servlet.xml
similarity index 100%
rename from spring-boot-rest/src/main/resources/WEB-INF/api-servlet.xml
rename to spring-boot-modules/spring-boot-rest/src/main/resources/WEB-INF/api-servlet.xml
diff --git a/spring-boot-rest/src/main/resources/WEB-INF/web.xml b/spring-boot-modules/spring-boot-rest/src/main/resources/WEB-INF/web.xml
similarity index 100%
rename from spring-boot-rest/src/main/resources/WEB-INF/web.xml
rename to spring-boot-modules/spring-boot-rest/src/main/resources/WEB-INF/web.xml
diff --git a/spring-boot-rest/src/main/resources/application.properties b/spring-boot-modules/spring-boot-rest/src/main/resources/application.properties
similarity index 100%
rename from spring-boot-rest/src/main/resources/application.properties
rename to spring-boot-modules/spring-boot-rest/src/main/resources/application.properties
diff --git a/spring-boot-rest/src/main/resources/persistence-h2.properties b/spring-boot-modules/spring-boot-rest/src/main/resources/persistence-h2.properties
similarity index 100%
rename from spring-boot-rest/src/main/resources/persistence-h2.properties
rename to spring-boot-modules/spring-boot-rest/src/main/resources/persistence-h2.properties
diff --git a/spring-boot-rest/src/main/resources/persistence-mysql.properties b/spring-boot-modules/spring-boot-rest/src/main/resources/persistence-mysql.properties
similarity index 100%
rename from spring-boot-rest/src/main/resources/persistence-mysql.properties
rename to spring-boot-modules/spring-boot-rest/src/main/resources/persistence-mysql.properties
diff --git a/spring-boot-rest/src/test/java/com/baeldung/Consts.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/Consts.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/Consts.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/Consts.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/SpringContextTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractBasicLiveTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractBasicLiveTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractBasicLiveTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractBasicLiveTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractDiscoverabilityLiveTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractDiscoverabilityLiveTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractDiscoverabilityLiveTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractDiscoverabilityLiveTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractLiveTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractLiveTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractLiveTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/common/web/AbstractLiveTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/controllers/ExamplePostControllerRequestIntegrationTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/controllers/ExamplePostControllerRequestIntegrationTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/controllers/ExamplePostControllerRequestIntegrationTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/controllers/ExamplePostControllerRequestIntegrationTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/controllers/ExamplePostControllerResponseIntegrationTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/controllers/ExamplePostControllerResponseIntegrationTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/controllers/ExamplePostControllerResponseIntegrationTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/controllers/ExamplePostControllerResponseIntegrationTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/rest/GitHubUser.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/rest/GitHubUser.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/rest/GitHubUser.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/rest/GitHubUser.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/rest/GithubBasicLiveTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/rest/GithubBasicLiveTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/rest/GithubBasicLiveTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/rest/GithubBasicLiveTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/rest/RetrieveUtil.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/rest/RetrieveUtil.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/rest/RetrieveUtil.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/rest/RetrieveUtil.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/spring/ConfigIntegrationTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/spring/ConfigIntegrationTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/spring/ConfigIntegrationTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/spring/ConfigIntegrationTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/springhateoas/CustomerControllerIntegrationTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/springhateoas/CustomerControllerIntegrationTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/springhateoas/CustomerControllerIntegrationTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/springhateoas/CustomerControllerIntegrationTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/springpagination/PostDtoUnitTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/springpagination/PostDtoUnitTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/springpagination/PostDtoUnitTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/springpagination/PostDtoUnitTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/test/IMarshaller.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/test/IMarshaller.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/test/IMarshaller.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/test/IMarshaller.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/test/JacksonMarshaller.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/test/JacksonMarshaller.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/test/JacksonMarshaller.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/test/JacksonMarshaller.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/test/TestMarshallerFactory.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/test/TestMarshallerFactory.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/test/TestMarshallerFactory.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/test/TestMarshallerFactory.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/test/XStreamMarshaller.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/test/XStreamMarshaller.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/test/XStreamMarshaller.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/test/XStreamMarshaller.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/web/FooControllerAppIntegrationTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooControllerAppIntegrationTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/web/FooControllerAppIntegrationTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooControllerAppIntegrationTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/web/FooControllerCustomEtagIntegrationTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooControllerCustomEtagIntegrationTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/web/FooControllerCustomEtagIntegrationTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooControllerCustomEtagIntegrationTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/web/FooControllerWebLayerIntegrationTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooControllerWebLayerIntegrationTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/web/FooControllerWebLayerIntegrationTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooControllerWebLayerIntegrationTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/web/FooDiscoverabilityLiveTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooDiscoverabilityLiveTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/web/FooDiscoverabilityLiveTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooDiscoverabilityLiveTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/web/FooLiveTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooLiveTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/web/FooLiveTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooLiveTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/web/FooPageableLiveTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooPageableLiveTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/web/FooPageableLiveTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/FooPageableLiveTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/web/LiveTestSuiteLiveTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/LiveTestSuiteLiveTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/web/LiveTestSuiteLiveTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/LiveTestSuiteLiveTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/web/StudentControllerIntegrationTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/StudentControllerIntegrationTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/web/StudentControllerIntegrationTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/StudentControllerIntegrationTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/web/error/ErrorHandlingLiveTest.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/error/ErrorHandlingLiveTest.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/web/error/ErrorHandlingLiveTest.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/error/ErrorHandlingLiveTest.java
diff --git a/spring-boot-rest/src/test/java/com/baeldung/web/util/HTTPLinkHeaderUtil.java b/spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/util/HTTPLinkHeaderUtil.java
similarity index 100%
rename from spring-boot-rest/src/test/java/com/baeldung/web/util/HTTPLinkHeaderUtil.java
rename to spring-boot-modules/spring-boot-rest/src/test/java/com/baeldung/web/util/HTTPLinkHeaderUtil.java
diff --git a/spring-boot-rest/src/test/resources/foo_API_test.postman_collection.json b/spring-boot-modules/spring-boot-rest/src/test/resources/foo_API_test.postman_collection.json
similarity index 100%
rename from spring-boot-rest/src/test/resources/foo_API_test.postman_collection.json
rename to spring-boot-modules/spring-boot-rest/src/test/resources/foo_API_test.postman_collection.json