messageDispatcherServlet(ApplicationContext applicationContext) {
+ MessageDispatcherServlet servlet = new MessageDispatcherServlet();
+ servlet.setApplicationContext(applicationContext);
+ servlet.setTransformWsdlLocations(true);
+ return new ServletRegistrationBean<>(servlet, "/ws/*");
+ }
+
+ @Bean(name = "products")
+ public DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema productsSchema) {
+ DefaultWsdl11Definition wsdl11Definition = new DefaultWsdl11Definition();
+ wsdl11Definition.setPortTypeName("ProductsPort");
+ wsdl11Definition.setLocationUri("/ws");
+ wsdl11Definition.setTargetNamespace("http://baeldung.com/spring-boot-web-service");
+ wsdl11Definition.setSchema(productsSchema);
+ return wsdl11Definition;
+ }
+
+ @Bean
+ public XsdSchema productsSchema() {
+ return new SimpleXsdSchema(new ClassPathResource("webservice/products.xsd"));
+ }
+
+
+
+
+}
diff --git a/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/GetProductRequest.java b/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/GetProductRequest.java
new file mode 100644
index 0000000000..d04302456b
--- /dev/null
+++ b/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/GetProductRequest.java
@@ -0,0 +1,64 @@
+
+package com.baeldung.webservice.generated;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Java class for anonymous complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "id"
+})
+@XmlRootElement(name = "getProductRequest")
+public class GetProductRequest {
+
+ @XmlElement(required = true)
+ protected String id;
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
+
+}
diff --git a/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/GetProductResponse.java b/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/GetProductResponse.java
new file mode 100644
index 0000000000..f8fcaa094f
--- /dev/null
+++ b/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/GetProductResponse.java
@@ -0,0 +1,64 @@
+
+package com.baeldung.webservice.generated;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Java class for anonymous complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="product" type="{http://baeldung.com/spring-boot-web-service}product"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "product"
+})
+@XmlRootElement(name = "getProductResponse")
+public class GetProductResponse {
+
+ @XmlElement(required = true)
+ protected Product product;
+
+ /**
+ * Gets the value of the product property.
+ *
+ * @return
+ * possible object is
+ * {@link Product }
+ *
+ */
+ public Product getProduct() {
+ return product;
+ }
+
+ /**
+ * Sets the value of the product property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Product }
+ *
+ */
+ public void setProduct(Product value) {
+ this.product = value;
+ }
+
+}
diff --git a/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/ObjectFactory.java b/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/ObjectFactory.java
new file mode 100644
index 0000000000..015ecc3f0a
--- /dev/null
+++ b/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/ObjectFactory.java
@@ -0,0 +1,56 @@
+
+package com.baeldung.webservice.generated;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the com.baeldung.webservice.generated package.
+ * An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.baeldung.webservice.generated
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link GetProductRequest }
+ *
+ */
+ public GetProductRequest createGetProductRequest() {
+ return new GetProductRequest();
+ }
+
+ /**
+ * Create an instance of {@link GetProductResponse }
+ *
+ */
+ public GetProductResponse createGetProductResponse() {
+ return new GetProductResponse();
+ }
+
+ /**
+ * Create an instance of {@link Product }
+ *
+ */
+ public Product createProduct() {
+ return new Product();
+ }
+
+}
diff --git a/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/Product.java b/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/Product.java
new file mode 100644
index 0000000000..5957aa44b4
--- /dev/null
+++ b/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/Product.java
@@ -0,0 +1,90 @@
+
+package com.baeldung.webservice.generated;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ *
Java class for product complex type.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
+ * <complexType name="product">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ *
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "product", propOrder = {
+ "id",
+ "name"
+})
+public class Product {
+
+ @XmlElement(required = true)
+ protected String id;
+ @XmlElement(required = true)
+ protected String name;
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+}
diff --git a/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/package-info.java b/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/package-info.java
new file mode 100644
index 0000000000..298ae9374b
--- /dev/null
+++ b/spring-boot-modules/spring-boot-testing-2/src/main/java/com/baeldung/webservice/generated/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://baeldung.com/spring-boot-web-service", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package com.baeldung.webservice.generated;
diff --git a/spring-boot-modules/spring-boot-testing-2/src/main/resources/webservice/products.xsd b/spring-boot-modules/spring-boot-testing-2/src/main/resources/webservice/products.xsd
new file mode 100644
index 0000000000..3819b465be
--- /dev/null
+++ b/spring-boot-modules/spring-boot-testing-2/src/main/resources/webservice/products.xsd
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-boot-modules/spring-boot-testing-2/src/test/java/com/baeldung/webservice/ProductEndpointIntegrationTest.java b/spring-boot-modules/spring-boot-testing-2/src/test/java/com/baeldung/webservice/ProductEndpointIntegrationTest.java
new file mode 100644
index 0000000000..ea9924193b
--- /dev/null
+++ b/spring-boot-modules/spring-boot-testing-2/src/test/java/com/baeldung/webservice/ProductEndpointIntegrationTest.java
@@ -0,0 +1,69 @@
+package com.baeldung.webservice;
+
+import com.baeldung.webservice.generated.Product;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.webservices.server.WebServiceServerTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.ws.test.server.MockWebServiceClient;
+import org.springframework.xml.transform.StringSource;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.mockito.Mockito.when;
+import static org.springframework.ws.test.server.RequestCreators.withPayload;
+import static org.springframework.ws.test.server.ResponseMatchers.noFault;
+import static org.springframework.ws.test.server.ResponseMatchers.payload;
+import static org.springframework.ws.test.server.ResponseMatchers.validPayload;
+import static org.springframework.ws.test.server.ResponseMatchers.xpath;
+
+@WebServiceServerTest
+class ProductEndpointIntegrationTest {
+
+ private static final Map NAMESPACE_MAPPING = createMapping();
+
+ @Autowired
+ private MockWebServiceClient client;
+
+ @MockBean
+ private ProductRepository productRepository;
+
+ @Test
+ void givenXmlRequest_whenServiceInvoked_thenValidResponse() throws IOException {
+ Product product = new Product();
+ product.setId("1");
+ product.setName("Product 1");
+
+ when(productRepository.findProduct("1")).thenReturn(product);
+
+ StringSource request = new StringSource(
+ "" +
+ "1" +
+ ""
+ );
+ StringSource response = new StringSource(
+ "" +
+ "" +
+ "1" +
+ "Product 1" +
+ "" +
+ ""
+ );
+
+ client.sendRequest(withPayload(request))
+ .andExpect(noFault())
+ .andExpect(validPayload(new ClassPathResource("webservice/products.xsd")))
+ .andExpect(xpath("/bd:getProductResponse/bd:product[1]/bd:name", NAMESPACE_MAPPING)
+ .evaluatesTo("Product 1"))
+ .andExpect(payload(response));
+ }
+
+ private static Map createMapping() {
+ Map mapping = new HashMap<>();
+ mapping.put("bd", "http://baeldung.com/spring-boot-web-service");
+ return mapping;
+ }
+}
diff --git a/spring-cloud/README.md b/spring-cloud-modules/README.md
similarity index 100%
rename from spring-cloud/README.md
rename to spring-cloud-modules/README.md
diff --git a/spring-cloud/pom.xml b/spring-cloud-modules/pom.xml
similarity index 97%
rename from spring-cloud/pom.xml
rename to spring-cloud-modules/pom.xml
index f58e1aec5c..d2f3845922 100644
--- a/spring-cloud/pom.xml
+++ b/spring-cloud-modules/pom.xml
@@ -4,9 +4,9 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
- spring-cloud
+ spring-cloud-modules
pom
diff --git a/spring-cloud/spring-cloud-archaius/README.md b/spring-cloud-modules/spring-cloud-archaius/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/README.md
rename to spring-cloud-modules/spring-cloud-archaius/README.md
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/pom.xml b/spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/additional-sources-simple/pom.xml
rename to spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/pom.xml
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/AdditionalSourcesSimpleApplication.java b/spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/AdditionalSourcesSimpleApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/AdditionalSourcesSimpleApplication.java
rename to spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/AdditionalSourcesSimpleApplication.java
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/config/ApplicationPropertiesConfigurations.java b/spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/config/ApplicationPropertiesConfigurations.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/config/ApplicationPropertiesConfigurations.java
rename to spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/config/ApplicationPropertiesConfigurations.java
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/controller/ConfigPropertiesController.java b/spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/controller/ConfigPropertiesController.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/controller/ConfigPropertiesController.java
rename to spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/java/com/baeldung/spring/cloud/archaius/additionalsources/controller/ConfigPropertiesController.java
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/resources/config.properties b/spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/resources/config.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/resources/config.properties
rename to spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/resources/config.properties
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/resources/other-config.properties b/spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/resources/other-config.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/additional-sources-simple/src/main/resources/other-config.properties
rename to spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/main/resources/other-config.properties
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/ArchaiusAdditionalSourcesLiveTest.java b/spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/ArchaiusAdditionalSourcesLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/ArchaiusAdditionalSourcesLiveTest.java
rename to spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/ArchaiusAdditionalSourcesLiveTest.java
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/SpringContextTest.java b/spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/test/java/com/baeldung/spring/cloud/archaius/additionalsources/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-archaius/additional-sources-simple/src/test/resources/logback-test.xml b/spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/test/resources/logback-test.xml
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/additional-sources-simple/src/test/resources/logback-test.xml
rename to spring-cloud-modules/spring-cloud-archaius/additional-sources-simple/src/test/resources/logback-test.xml
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/pom.xml b/spring-cloud-modules/spring-cloud-archaius/basic-config/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/pom.xml
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/pom.xml
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/main/java/com/baeldung/spring/cloud/archaius/basic/BasicArchaiusApplication.java b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/main/java/com/baeldung/spring/cloud/archaius/basic/BasicArchaiusApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/main/java/com/baeldung/spring/cloud/archaius/basic/BasicArchaiusApplication.java
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/main/java/com/baeldung/spring/cloud/archaius/basic/BasicArchaiusApplication.java
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/main/java/com/baeldung/spring/cloud/archaius/basic/controller/ConfigPropertiesController.java b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/main/java/com/baeldung/spring/cloud/archaius/basic/controller/ConfigPropertiesController.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/main/java/com/baeldung/spring/cloud/archaius/basic/controller/ConfigPropertiesController.java
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/main/java/com/baeldung/spring/cloud/archaius/basic/controller/ConfigPropertiesController.java
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/main/resources/config.properties b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/main/resources/config.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/main/resources/config.properties
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/main/resources/config.properties
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/main/resources/other.properties b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/main/resources/other.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/main/resources/other.properties
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/main/resources/other.properties
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/ArchaiusBasicConfigurationIntegrationTest.java b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/ArchaiusBasicConfigurationIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/ArchaiusBasicConfigurationIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/ArchaiusBasicConfigurationIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/ArchaiusBasicConfigurationLiveTest.java b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/ArchaiusBasicConfigurationLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/ArchaiusBasicConfigurationLiveTest.java
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/ArchaiusBasicConfigurationLiveTest.java
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/SpringContextTest.java b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/java/com/baeldung/spring/cloud/archaius/basic/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/test/resources/config.properties b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/resources/config.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/test/resources/config.properties
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/resources/config.properties
diff --git a/spring-cloud/spring-cloud-archaius/basic-config/src/test/resources/logback-test.xml b/spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/resources/logback-test.xml
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/basic-config/src/test/resources/logback-test.xml
rename to spring-cloud-modules/spring-cloud-archaius/basic-config/src/test/resources/logback-test.xml
diff --git a/spring-cloud/spring-cloud-archaius/dynamodb-config/pom.xml b/spring-cloud-modules/spring-cloud-archaius/dynamodb-config/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/dynamodb-config/pom.xml
rename to spring-cloud-modules/spring-cloud-archaius/dynamodb-config/pom.xml
diff --git a/spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/DynamoSourcesApplication.java b/spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/DynamoSourcesApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/DynamoSourcesApplication.java
rename to spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/DynamoSourcesApplication.java
diff --git a/spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/config/ApplicationPropertiesConfigurations.java b/spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/config/ApplicationPropertiesConfigurations.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/config/ApplicationPropertiesConfigurations.java
rename to spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/config/ApplicationPropertiesConfigurations.java
diff --git a/spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/config/DynamoDbConfiguration.java b/spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/config/DynamoDbConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/config/DynamoDbConfiguration.java
rename to spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/config/DynamoDbConfiguration.java
diff --git a/spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/controller/ConfigPropertiesController.java b/spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/controller/ConfigPropertiesController.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/controller/ConfigPropertiesController.java
rename to spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/controller/ConfigPropertiesController.java
diff --git a/spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/dynamodb/ArchaiusProperties.java b/spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/dynamodb/ArchaiusProperties.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/dynamodb/ArchaiusProperties.java
rename to spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/dynamodb/ArchaiusProperties.java
diff --git a/spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/dynamodb/ArchaiusPropertiesRepository.java b/spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/dynamodb/ArchaiusPropertiesRepository.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/dynamodb/ArchaiusPropertiesRepository.java
rename to spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/java/com/baeldung/spring/cloud/archaius/dynamosources/dynamodb/ArchaiusPropertiesRepository.java
diff --git a/spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/dynamodb-config/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-archaius/dynamodb-config/src/test/java/com/baeldung/spring/cloud/archaius/dynamosources/ArchaiusDynamoDbLiveTest.java b/spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/test/java/com/baeldung/spring/cloud/archaius/dynamosources/ArchaiusDynamoDbLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/dynamodb-config/src/test/java/com/baeldung/spring/cloud/archaius/dynamosources/ArchaiusDynamoDbLiveTest.java
rename to spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/test/java/com/baeldung/spring/cloud/archaius/dynamosources/ArchaiusDynamoDbLiveTest.java
diff --git a/spring-cloud/spring-cloud-archaius/dynamodb-config/src/test/java/com/baeldung/spring/cloud/archaius/dynamosources/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/test/java/com/baeldung/spring/cloud/archaius/dynamosources/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/dynamodb-config/src/test/java/com/baeldung/spring/cloud/archaius/dynamosources/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-archaius/dynamodb-config/src/test/java/com/baeldung/spring/cloud/archaius/dynamosources/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-archaius/extra-configs/pom.xml b/spring-cloud-modules/spring-cloud-archaius/extra-configs/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/extra-configs/pom.xml
rename to spring-cloud-modules/spring-cloud-archaius/extra-configs/pom.xml
diff --git a/spring-cloud/spring-cloud-archaius/extra-configs/src/main/java/com/baeldung/spring/cloud/archaius/extraconfigs/ExtraConfigsApplication.java b/spring-cloud-modules/spring-cloud-archaius/extra-configs/src/main/java/com/baeldung/spring/cloud/archaius/extraconfigs/ExtraConfigsApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/extra-configs/src/main/java/com/baeldung/spring/cloud/archaius/extraconfigs/ExtraConfigsApplication.java
rename to spring-cloud-modules/spring-cloud-archaius/extra-configs/src/main/java/com/baeldung/spring/cloud/archaius/extraconfigs/ExtraConfigsApplication.java
diff --git a/spring-cloud/spring-cloud-archaius/extra-configs/src/main/java/com/baeldung/spring/cloud/archaius/extraconfigs/controllers/ConfigPropertiesController.java b/spring-cloud-modules/spring-cloud-archaius/extra-configs/src/main/java/com/baeldung/spring/cloud/archaius/extraconfigs/controllers/ConfigPropertiesController.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/extra-configs/src/main/java/com/baeldung/spring/cloud/archaius/extraconfigs/controllers/ConfigPropertiesController.java
rename to spring-cloud-modules/spring-cloud-archaius/extra-configs/src/main/java/com/baeldung/spring/cloud/archaius/extraconfigs/controllers/ConfigPropertiesController.java
diff --git a/spring-cloud/spring-cloud-archaius/extra-configs/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-archaius/extra-configs/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/extra-configs/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-archaius/extra-configs/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-archaius/extra-configs/src/main/resources/other-config-dir/extra.properties b/spring-cloud-modules/spring-cloud-archaius/extra-configs/src/main/resources/other-config-dir/extra.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/extra-configs/src/main/resources/other-config-dir/extra.properties
rename to spring-cloud-modules/spring-cloud-archaius/extra-configs/src/main/resources/other-config-dir/extra.properties
diff --git a/spring-cloud/spring-cloud-archaius/extra-configs/src/main/resources/other.properties b/spring-cloud-modules/spring-cloud-archaius/extra-configs/src/main/resources/other.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/extra-configs/src/main/resources/other.properties
rename to spring-cloud-modules/spring-cloud-archaius/extra-configs/src/main/resources/other.properties
diff --git a/spring-cloud/spring-cloud-archaius/extra-configs/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-archaius/extra-configs/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/extra-configs/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-archaius/extra-configs/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-archaius/extra-configs/src/test/java/com/baeldung/spring/cloud/archaius/extraconfigs/ArchaiusExtraConfigsLiveTest.java b/spring-cloud-modules/spring-cloud-archaius/extra-configs/src/test/java/com/baeldung/spring/cloud/archaius/extraconfigs/ArchaiusExtraConfigsLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/extra-configs/src/test/java/com/baeldung/spring/cloud/archaius/extraconfigs/ArchaiusExtraConfigsLiveTest.java
rename to spring-cloud-modules/spring-cloud-archaius/extra-configs/src/test/java/com/baeldung/spring/cloud/archaius/extraconfigs/ArchaiusExtraConfigsLiveTest.java
diff --git a/spring-cloud/spring-cloud-archaius/extra-configs/src/test/resources/logback-test.xml b/spring-cloud-modules/spring-cloud-archaius/extra-configs/src/test/resources/logback-test.xml
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/extra-configs/src/test/resources/logback-test.xml
rename to spring-cloud-modules/spring-cloud-archaius/extra-configs/src/test/resources/logback-test.xml
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/pom.xml b/spring-cloud-modules/spring-cloud-archaius/jdbc-config/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/jdbc-config/pom.xml
rename to spring-cloud-modules/spring-cloud-archaius/jdbc-config/pom.xml
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/JdbcSourcesApplication.java b/spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/JdbcSourcesApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/JdbcSourcesApplication.java
rename to spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/JdbcSourcesApplication.java
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/config/ApplicationPropertiesConfigurations.java b/spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/config/ApplicationPropertiesConfigurations.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/config/ApplicationPropertiesConfigurations.java
rename to spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/config/ApplicationPropertiesConfigurations.java
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/controller/ConfigPropertiesController.java b/spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/controller/ConfigPropertiesController.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/controller/ConfigPropertiesController.java
rename to spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/controller/ConfigPropertiesController.java
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/jdbc/Properties.java b/spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/jdbc/Properties.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/jdbc/Properties.java
rename to spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/java/com/baeldung/spring/cloud/archaius/jdbconfig/jdbc/Properties.java
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/jdbc-config/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/src/main/resources/data.sql b/spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/resources/data.sql
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/jdbc-config/src/main/resources/data.sql
rename to spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/main/resources/data.sql
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/ArchaiusJDBCSourceLiveTest.java b/spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/ArchaiusJDBCSourceLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/ArchaiusJDBCSourceLiveTest.java
rename to spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/ArchaiusJDBCSourceLiveTest.java
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/SpringContextTest.java b/spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/test/java/com/baeldung/spring/cloud/archaius/jdbconfig/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-archaius/jdbc-config/src/test/resources/logback-test.xml b/spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/test/resources/logback-test.xml
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/jdbc-config/src/test/resources/logback-test.xml
rename to spring-cloud-modules/spring-cloud-archaius/jdbc-config/src/test/resources/logback-test.xml
diff --git a/spring-cloud/spring-cloud-archaius/pom.xml b/spring-cloud-modules/spring-cloud-archaius/pom.xml
similarity index 97%
rename from spring-cloud/spring-cloud-archaius/pom.xml
rename to spring-cloud-modules/spring-cloud-archaius/pom.xml
index 058f383ec0..1208daaba6 100644
--- a/spring-cloud/spring-cloud-archaius/pom.xml
+++ b/spring-cloud-modules/spring-cloud-archaius/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-archaius/zookeeper-config/pom.xml b/spring-cloud-modules/spring-cloud-archaius/zookeeper-config/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/zookeeper-config/pom.xml
rename to spring-cloud-modules/spring-cloud-archaius/zookeeper-config/pom.xml
diff --git a/spring-cloud/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/ZookeeperConfigApplication.java b/spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/ZookeeperConfigApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/ZookeeperConfigApplication.java
rename to spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/ZookeeperConfigApplication.java
diff --git a/spring-cloud/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/config/ZookeeperConfigsInitializer.java b/spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/config/ZookeeperConfigsInitializer.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/config/ZookeeperConfigsInitializer.java
rename to spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/config/ZookeeperConfigsInitializer.java
diff --git a/spring-cloud/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/controller/ConfigPropertiesController.java b/spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/controller/ConfigPropertiesController.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/controller/ConfigPropertiesController.java
rename to spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/main/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/controller/ConfigPropertiesController.java
diff --git a/spring-cloud/spring-cloud-archaius/zookeeper-config/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/zookeeper-config/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-archaius/zookeeper-config/src/test/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/ArchaiusZookeeperLiveTest.java b/spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/test/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/ArchaiusZookeeperLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/zookeeper-config/src/test/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/ArchaiusZookeeperLiveTest.java
rename to spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/test/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/ArchaiusZookeeperLiveTest.java
diff --git a/spring-cloud/spring-cloud-archaius/zookeeper-config/src/test/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/test/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-archaius/zookeeper-config/src/test/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-archaius/zookeeper-config/src/test/java/com/baeldung/spring/cloud/archaius/zookeeperconfig/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-aws/README.md b/spring-cloud-modules/spring-cloud-aws/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-aws/README.md
rename to spring-cloud-modules/spring-cloud-aws/README.md
diff --git a/spring-cloud/spring-cloud-aws/pom.xml b/spring-cloud-modules/spring-cloud-aws/pom.xml
similarity index 98%
rename from spring-cloud/spring-cloud-aws/pom.xml
rename to spring-cloud-modules/spring-cloud-aws/pom.xml
index 312e800874..7c32bf5de5 100644
--- a/spring-cloud/spring-cloud-aws/pom.xml
+++ b/spring-cloud-modules/spring-cloud-aws/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/InstanceProfileAwsApplication.java b/spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/InstanceProfileAwsApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/InstanceProfileAwsApplication.java
rename to spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/InstanceProfileAwsApplication.java
diff --git a/spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/SpringCloudAwsApplication.java b/spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/SpringCloudAwsApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/SpringCloudAwsApplication.java
rename to spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/SpringCloudAwsApplication.java
diff --git a/spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/config/SpringCloudAwsConfig.java b/spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/config/SpringCloudAwsConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/config/SpringCloudAwsConfig.java
rename to spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/config/SpringCloudAwsConfig.java
diff --git a/spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/ec2/EC2EnableMetadata.java b/spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/ec2/EC2EnableMetadata.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/ec2/EC2EnableMetadata.java
rename to spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/ec2/EC2EnableMetadata.java
diff --git a/spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/ec2/EC2Metadata.java b/spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/ec2/EC2Metadata.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/ec2/EC2Metadata.java
rename to spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/ec2/EC2Metadata.java
diff --git a/spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3.java b/spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3.java
rename to spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3.java
diff --git a/spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3Service.java b/spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3Service.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3Service.java
rename to spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3Service.java
diff --git a/spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sns/SNSEndpointController.java b/spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sns/SNSEndpointController.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sns/SNSEndpointController.java
rename to spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sns/SNSEndpointController.java
diff --git a/spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sns/SNSMessageSender.java b/spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sns/SNSMessageSender.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sns/SNSMessageSender.java
rename to spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sns/SNSMessageSender.java
diff --git a/spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sqs/SpringCloudSQS.java b/spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sqs/SpringCloudSQS.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sqs/SpringCloudSQS.java
rename to spring-cloud-modules/spring-cloud-aws/src/main/java/com/baeldung/spring/cloud/aws/sqs/SpringCloudSQS.java
diff --git a/spring-cloud/spring-cloud-aws/src/main/resources/InstanceProfileFormation.yaml b/spring-cloud-modules/spring-cloud-aws/src/main/resources/InstanceProfileFormation.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/resources/InstanceProfileFormation.yaml
rename to spring-cloud-modules/spring-cloud-aws/src/main/resources/InstanceProfileFormation.yaml
diff --git a/spring-cloud/spring-cloud-aws/src/main/resources/application-instance-profile.properties b/spring-cloud-modules/spring-cloud-aws/src/main/resources/application-instance-profile.properties
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/resources/application-instance-profile.properties
rename to spring-cloud-modules/spring-cloud-aws/src/main/resources/application-instance-profile.properties
diff --git a/spring-cloud/spring-cloud-aws/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-aws/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-aws/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-aws/src/main/resources/aws-config.xml b/spring-cloud-modules/spring-cloud-aws/src/main/resources/aws-config.xml
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/main/resources/aws-config.xml
rename to spring-cloud-modules/spring-cloud-aws/src/main/resources/aws-config.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/config/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-aws/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/config/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-aws/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/SpringCloudAwsTestUtil.java b/spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/SpringCloudAwsTestUtil.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/SpringCloudAwsTestUtil.java
rename to spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/SpringCloudAwsTestUtil.java
diff --git a/spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/ec2/EC2MetadataLiveTest.java b/spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/ec2/EC2MetadataLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/ec2/EC2MetadataLiveTest.java
rename to spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/ec2/EC2MetadataLiveTest.java
diff --git a/spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/rds/SpringCloudRDSLiveTest.java b/spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/rds/SpringCloudRDSLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/rds/SpringCloudRDSLiveTest.java
rename to spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/rds/SpringCloudRDSLiveTest.java
diff --git a/spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3LiveTest.java b/spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3LiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3LiveTest.java
rename to spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/s3/SpringCloudS3LiveTest.java
diff --git a/spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sns/SNSEndpointControllerUnitTest.java b/spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sns/SNSEndpointControllerUnitTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sns/SNSEndpointControllerUnitTest.java
rename to spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sns/SNSEndpointControllerUnitTest.java
diff --git a/spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sns/SpringCloudSNSLiveTest.java b/spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sns/SpringCloudSNSLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sns/SpringCloudSNSLiveTest.java
rename to spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sns/SpringCloudSNSLiveTest.java
diff --git a/spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sqs/Greeting.java b/spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sqs/Greeting.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sqs/Greeting.java
rename to spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sqs/Greeting.java
diff --git a/spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sqs/SpringCloudSQSLiveTest.java b/spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sqs/SpringCloudSQSLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sqs/SpringCloudSQSLiveTest.java
rename to spring-cloud-modules/spring-cloud-aws/src/test/java/com/baeldung/spring/cloud/aws/sqs/SpringCloudSQSLiveTest.java
diff --git a/spring-cloud/spring-cloud-aws/src/test/resources/application-test.properties b/spring-cloud-modules/spring-cloud-aws/src/test/resources/application-test.properties
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/resources/application-test.properties
rename to spring-cloud-modules/spring-cloud-aws/src/test/resources/application-test.properties
diff --git a/spring-cloud/spring-cloud-aws/src/test/resources/test-file-upload.txt b/spring-cloud-modules/spring-cloud-aws/src/test/resources/test-file-upload.txt
similarity index 100%
rename from spring-cloud/spring-cloud-aws/src/test/resources/test-file-upload.txt
rename to spring-cloud-modules/spring-cloud-aws/src/test/resources/test-file-upload.txt
diff --git a/spring-cloud/spring-cloud-bootstrap/README.md b/spring-cloud-modules/spring-cloud-bootstrap/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/README.md
rename to spring-cloud-modules/spring-cloud-bootstrap/README.md
diff --git a/spring-cloud/spring-cloud-bootstrap/application-config/book-service.properties b/spring-cloud-modules/spring-cloud-bootstrap/application-config/book-service.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/application-config/book-service.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/application-config/book-service.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/application-config/discovery.properties b/spring-cloud-modules/spring-cloud-bootstrap/application-config/discovery.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/application-config/discovery.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/application-config/discovery.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/application-config/gateway.properties b/spring-cloud-modules/spring-cloud-bootstrap/application-config/gateway.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/application-config/gateway.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/application-config/gateway.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/application-config/rating-service.properties b/spring-cloud-modules/spring-cloud-bootstrap/application-config/rating-service.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/application-config/rating-service.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/application-config/rating-service.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/application-config/zipkin.properties b/spring-cloud-modules/spring-cloud-bootstrap/application-config/zipkin.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/application-config/zipkin.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/application-config/zipkin.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/config/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/config/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/config/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/config/pom.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/config/src/main/java/com/baeldung/spring/cloud/bootstrap/config/ConfigApplication.java b/spring-cloud-modules/spring-cloud-bootstrap/config/src/main/java/com/baeldung/spring/cloud/bootstrap/config/ConfigApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/config/src/main/java/com/baeldung/spring/cloud/bootstrap/config/ConfigApplication.java
rename to spring-cloud-modules/spring-cloud-bootstrap/config/src/main/java/com/baeldung/spring/cloud/bootstrap/config/ConfigApplication.java
diff --git a/spring-cloud/spring-cloud-bootstrap/config/src/main/java/com/baeldung/spring/cloud/bootstrap/config/SecurityConfig.java b/spring-cloud-modules/spring-cloud-bootstrap/config/src/main/java/com/baeldung/spring/cloud/bootstrap/config/SecurityConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/config/src/main/java/com/baeldung/spring/cloud/bootstrap/config/SecurityConfig.java
rename to spring-cloud-modules/spring-cloud-bootstrap/config/src/main/java/com/baeldung/spring/cloud/bootstrap/config/SecurityConfig.java
diff --git a/spring-cloud/spring-cloud-bootstrap/config/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-bootstrap/config/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/config/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/config/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/discovery/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-bootstrap/config/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/discovery/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/config/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/config/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-bootstrap/config/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/config/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-bootstrap/config/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-bootstrap/customer-service/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/customer-service/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/customer-service/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/customer-service/pom.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/Customer.java b/spring-cloud-modules/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/Customer.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/Customer.java
rename to spring-cloud-modules/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/Customer.java
diff --git a/spring-cloud/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/CustomerApplication.java b/spring-cloud-modules/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/CustomerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/CustomerApplication.java
rename to spring-cloud-modules/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/CustomerApplication.java
diff --git a/spring-cloud/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/CustomerService.java b/spring-cloud-modules/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/CustomerService.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/CustomerService.java
rename to spring-cloud-modules/spring-cloud-bootstrap/customer-service/src/main/java/com/baeldung/customerservice/CustomerService.java
diff --git a/spring-cloud/spring-cloud-bootstrap/customer-service/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-bootstrap/customer-service/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/customer-service/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/customer-service/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/customer-service/src/test/resources/application.properties b/spring-cloud-modules/spring-cloud-bootstrap/customer-service/src/test/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/customer-service/src/test/resources/application.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/customer-service/src/test/resources/application.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/discovery/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/discovery/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/discovery/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/discovery/pom.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/DiscoveryApplication.java b/spring-cloud-modules/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/DiscoveryApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/DiscoveryApplication.java
rename to spring-cloud-modules/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/DiscoveryApplication.java
diff --git a/spring-cloud/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/SecurityConfig.java b/spring-cloud-modules/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/SecurityConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/SecurityConfig.java
rename to spring-cloud-modules/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/SecurityConfig.java
diff --git a/spring-cloud/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/SessionConfig.java b/spring-cloud-modules/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/SessionConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/SessionConfig.java
rename to spring-cloud-modules/spring-cloud-bootstrap/discovery/src/main/java/com/baeldung/spring/cloud/bootstrap/discovery/SessionConfig.java
diff --git a/spring-cloud/spring-cloud-bootstrap/discovery/src/main/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-bootstrap/discovery/src/main/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/discovery/src/main/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/discovery/src/main/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-bootstrap/discovery/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/discovery/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/discovery/src/test/java/com/baeldung/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-bootstrap/discovery/src/test/java/com/baeldung/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/discovery/src/test/java/com/baeldung/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-bootstrap/discovery/src/test/java/com/baeldung/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/gateway/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/pom.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/.angular-cli.json b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/.angular-cli.json
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/.angular-cli.json
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/.angular-cli.json
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/.editorconfig b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/.editorconfig
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/.editorconfig
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/.editorconfig
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/.gitignore b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/.gitignore
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/.gitignore
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/README.md b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/README.md
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/README.md
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/app.e2e-spec.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/app.e2e-spec.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/app.e2e-spec.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/app.e2e-spec.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/app.po.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/app.po.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/app.po.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/app.po.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/tsconfig.e2e.json b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/tsconfig.e2e.json
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/tsconfig.e2e.json
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/e2e/tsconfig.e2e.json
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/karma.conf.js b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/karma.conf.js
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/karma.conf.js
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/karma.conf.js
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/package.json b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/package.json
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/package.json
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/package.json
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/protractor.conf.js b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/protractor.conf.js
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/protractor.conf.js
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/protractor.conf.js
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.css b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.css
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.css
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.css
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.html b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.html
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.html
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.html
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.module.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.module.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.module.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.module.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.css b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.css
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.css
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.css
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.html b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.html
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.html
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.html
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.css b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.css
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.css
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.css
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.html b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.html
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.html
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.html
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/click-stop-propagation.directive.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/click-stop-propagation.directive.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/click-stop-propagation.directive.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/click-stop-propagation.directive.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/http.service.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/http.service.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/http.service.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/http.service.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/principal.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/principal.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/principal.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/principal.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.css b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.css
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.css
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.css
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/assets/.gitkeep b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/assets/.gitkeep
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/assets/.gitkeep
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/assets/.gitkeep
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/environments/environment.prod.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/environments/environment.prod.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/environments/environment.prod.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/environments/environment.prod.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/environments/environment.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/environments/environment.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/environments/environment.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/environments/environment.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/favicon.ico b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/favicon.ico
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/favicon.ico
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/favicon.ico
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/index.html b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/index.html
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/index.html
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/index.html
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/main.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/main.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/main.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/main.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/polyfills.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/polyfills.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/polyfills.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/polyfills.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/styles.css b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/styles.css
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/styles.css
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/styles.css
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/test.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/test.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/test.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/test.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/tsconfig.app.json b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/tsconfig.app.json
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/tsconfig.app.json
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/tsconfig.app.json
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/tsconfig.spec.json b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/tsconfig.spec.json
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/tsconfig.spec.json
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/tsconfig.spec.json
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/typings.d.ts b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/typings.d.ts
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/typings.d.ts
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/typings.d.ts
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/tsconfig.json b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/tsconfig.json
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/tsconfig.json
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/tsconfig.json
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/tslint.json b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/tslint.json
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/tslint.json
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/angular/ui/tslint.json
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/AuthenticationController.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/AuthenticationController.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/AuthenticationController.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/AuthenticationController.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/ErrorPageConfig.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/ErrorPageConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/ErrorPageConfig.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/ErrorPageConfig.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/GatewayApplication.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/GatewayApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/GatewayApplication.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/GatewayApplication.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SecurityConfig.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SecurityConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SecurityConfig.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SecurityConfig.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SessionConfig.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SessionConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SessionConfig.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/SessionConfig.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/book/Book.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/book/Book.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/book/Book.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/book/Book.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/book/BooksClient.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/book/BooksClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/book/BooksClient.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/book/BooksClient.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/rating/Rating.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/rating/Rating.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/rating/Rating.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/rating/Rating.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/rating/RatingsClient.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/rating/RatingsClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/rating/RatingsClient.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/client/rating/RatingsClient.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/controller/CombinedController.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/controller/CombinedController.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/controller/CombinedController.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/controller/CombinedController.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/filter/SessionSavingZuulPreFilter.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/filter/SessionSavingZuulPreFilter.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/filter/SessionSavingZuulPreFilter.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/java/com/baeldung/spring/cloud/bootstrap/gateway/filter/SessionSavingZuulPreFilter.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/css/wro.css b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/css/wro.css
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/css/wro.css
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/css/wro.css
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.eot b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.eot
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.eot
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.eot
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.svg b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.svg
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.svg
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.svg
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.ttf b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.ttf
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.ttf
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.ttf
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.woff b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.woff
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.woff
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/montserrat-webfont.woff
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.eot b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.eot
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.eot
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.eot
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.svg b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.svg
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.svg
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.svg
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.ttf b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.ttf
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.ttf
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.ttf
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.woff b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.woff
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.woff
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/fonts/varela_round-webfont.woff
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/404-icon.png b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/404-icon.png
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/404-icon.png
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/404-icon.png
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/homepage-bg.jpg b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/homepage-bg.jpg
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/homepage-bg.jpg
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/homepage-bg.jpg
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/platform-bg.png b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/platform-bg.png
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/platform-bg.png
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/platform-bg.png
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/platform-spring-xd.png b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/platform-spring-xd.png
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/platform-spring-xd.png
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/platform-spring-xd.png
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/spring-logo-eureka-mobile.png b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/spring-logo-eureka-mobile.png
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/spring-logo-eureka-mobile.png
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/spring-logo-eureka-mobile.png
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/spring-logo-eureka.png b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/spring-logo-eureka.png
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/spring-logo-eureka.png
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/images/spring-logo-eureka.png
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/js/wro.js b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/js/wro.js
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/js/wro.js
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/eureka/js/wro.js
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/favicon.ico b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/favicon.ico
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/favicon.ico
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/favicon.ico
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/index.html b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/index.html
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/index.html
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/index.html
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/inline.bundle.js b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/inline.bundle.js
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/inline.bundle.js
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/inline.bundle.js
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/inline.bundle.js.map b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/inline.bundle.js.map
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/inline.bundle.js.map
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/inline.bundle.js.map
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/main.bundle.js b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/main.bundle.js
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/main.bundle.js
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/main.bundle.js
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/main.bundle.js.map b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/main.bundle.js.map
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/main.bundle.js.map
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/main.bundle.js.map
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/polyfills.bundle.js b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/polyfills.bundle.js
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/polyfills.bundle.js
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/polyfills.bundle.js
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/polyfills.bundle.js.map b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/polyfills.bundle.js.map
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/polyfills.bundle.js.map
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/polyfills.bundle.js.map
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/styles.bundle.js b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/styles.bundle.js
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/styles.bundle.js
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/styles.bundle.js
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/styles.bundle.js.map b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/styles.bundle.js.map
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/home/styles.bundle.js.map
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/home/styles.bundle.js.map
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/index.html b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/index.html
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/main/resources/static/index.html
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/main/resources/static/index.html
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/LiveTest.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/LiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/LiveTest.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/LiveTest.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/test/java/com/baeldung/spring/cloud/bootstrap/gateway/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/test/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-bootstrap/gateway/src/test/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/gateway/src/test/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/gateway/src/test/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-client/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-client/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/pom.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderClient.java b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderClient.java
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderClient.java
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderClientImpl.java b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderClientImpl.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderClientImpl.java
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderClientImpl.java
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderDTO.java b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderDTO.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderDTO.java
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderDTO.java
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderResponse.java b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderResponse.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderResponse.java
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/src/main/java/com/baeldung/orderservice/client/OrderResponse.java
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-client/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-client/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-client/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-server/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-server/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-server/pom.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/Order.java b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/Order.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/Order.java
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/Order.java
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/OrderApplication.java b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/OrderApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/OrderApplication.java
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/OrderApplication.java
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/OrderService.java b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/OrderService.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/OrderService.java
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-server/src/main/java/com/baeldung/orderservice/OrderService.java
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/order-server/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-bootstrap/order-service/order-server/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/order-server/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/order-server/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/order-service/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/order-service/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/order-service/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/order-service/pom.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/pom.xml
similarity index 93%
rename from spring-cloud/spring-cloud-bootstrap/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/pom.xml
index deba342d69..1e97082db1 100644
--- a/spring-cloud/spring-cloud-bootstrap/pom.xml
+++ b/spring-cloud-modules/spring-cloud-bootstrap/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/pom.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/BookServiceApplication.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/BookServiceApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/BookServiceApplication.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/BookServiceApplication.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/DataLoader.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/DataLoader.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/DataLoader.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/DataLoader.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/SecurityConfig.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/SecurityConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/SecurityConfig.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/SecurityConfig.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/SessionConfig.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/SessionConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/SessionConfig.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/SessionConfig.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/Book.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/Book.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/Book.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/Book.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookController.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookController.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookController.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookController.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookNotFoundException.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookNotFoundException.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookNotFoundException.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookNotFoundException.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookRepository.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookRepository.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookRepository.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookRepository.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookService.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookService.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookService.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/java/com/baeldung/spring/cloud/bootstrap/svcbook/book/BookService.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/main/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/main/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/test/java/com/baeldung/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/test/java/com/baeldung/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/test/java/com/baeldung/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/test/java/com/baeldung/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-book/src/test/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/test/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-book/src/test/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-book/src/test/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/pom.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/DataLoader.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/DataLoader.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/DataLoader.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/DataLoader.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/RatingServiceApplication.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/RatingServiceApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/RatingServiceApplication.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/RatingServiceApplication.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/SecurityConfig.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/SecurityConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/SecurityConfig.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/SecurityConfig.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/SessionConfig.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/SessionConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/SessionConfig.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/SessionConfig.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/Rating.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/Rating.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/Rating.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/Rating.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingCacheRepository.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingCacheRepository.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingCacheRepository.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingCacheRepository.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingController.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingController.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingController.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingNotFoundException.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingNotFoundException.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingNotFoundException.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingNotFoundException.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingRepository.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingRepository.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingRepository.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingRepository.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingService.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingService.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingService.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/java/com/baeldung/spring/cloud/bootstrap/svcrating/rating/RatingService.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/main/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/zipkin/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/zipkin/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/test/java/com/baeldung/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/test/java/com/baeldung/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/test/java/com/baeldung/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/test/java/com/baeldung/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-bootstrap/svc-rating/src/test/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/test/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/svc-rating/src/test/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/svc-rating/src/test/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-bootstrap/zipkin/pom.xml b/spring-cloud-modules/spring-cloud-bootstrap/zipkin/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/zipkin/pom.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/zipkin/pom.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/zipkin/src/main/java/com/baeldung/spring/cloud/bootstrap/zipkin/ZipkinApplication.java b/spring-cloud-modules/spring-cloud-bootstrap/zipkin/src/main/java/com/baeldung/spring/cloud/bootstrap/zipkin/ZipkinApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/zipkin/src/main/java/com/baeldung/spring/cloud/bootstrap/zipkin/ZipkinApplication.java
rename to spring-cloud-modules/spring-cloud-bootstrap/zipkin/src/main/java/com/baeldung/spring/cloud/bootstrap/zipkin/ZipkinApplication.java
diff --git a/spring-cloud/spring-cloud-bootstrap/zipkin/src/main/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-bootstrap/zipkin/src/main/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/zipkin/src/main/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-bootstrap/zipkin/src/main/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-bootstrap/zipkin/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-bootstrap/zipkin/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-bootstrap/zipkin/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-bootstrap/zipkin/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-bootstrap/zipkin/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-bootstrap/zipkin/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-circuit-breaker/README.md b/spring-cloud-modules/spring-cloud-circuit-breaker/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-circuit-breaker/README.md
rename to spring-cloud-modules/spring-cloud-circuit-breaker/README.md
diff --git a/spring-cloud/spring-cloud-circuit-breaker/pom.xml b/spring-cloud-modules/spring-cloud-circuit-breaker/pom.xml
similarity index 96%
rename from spring-cloud/spring-cloud-circuit-breaker/pom.xml
rename to spring-cloud-modules/spring-cloud-circuit-breaker/pom.xml
index 0b0dafee46..3fe060c0b6 100644
--- a/spring-cloud/spring-cloud-circuit-breaker/pom.xml
+++ b/spring-cloud-modules/spring-cloud-circuit-breaker/pom.xml
@@ -9,7 +9,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/AlbumService.java b/spring-cloud-modules/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/AlbumService.java
similarity index 100%
rename from spring-cloud/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/AlbumService.java
rename to spring-cloud-modules/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/AlbumService.java
diff --git a/spring-cloud/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/Controller.java b/spring-cloud-modules/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/Controller.java
similarity index 100%
rename from spring-cloud/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/Controller.java
rename to spring-cloud-modules/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/Controller.java
diff --git a/spring-cloud/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/SpringApp.java b/spring-cloud-modules/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/SpringApp.java
similarity index 100%
rename from spring-cloud/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/SpringApp.java
rename to spring-cloud-modules/spring-cloud-circuit-breaker/src/main/java/com/baeldung/circuitbreaker/SpringApp.java
diff --git a/spring-cloud/spring-cloud-circuit-breaker/src/main/resources/fallback-album-list.json b/spring-cloud-modules/spring-cloud-circuit-breaker/src/main/resources/fallback-album-list.json
similarity index 100%
rename from spring-cloud/spring-cloud-circuit-breaker/src/main/resources/fallback-album-list.json
rename to spring-cloud-modules/spring-cloud-circuit-breaker/src/main/resources/fallback-album-list.json
diff --git a/spring-cloud/spring-cloud-config/README.md b/spring-cloud-modules/spring-cloud-config/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-config/README.md
rename to spring-cloud-modules/spring-cloud-config/README.md
diff --git a/spring-cloud/spring-cloud-config/client/pom.xml b/spring-cloud-modules/spring-cloud-config/client/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-config/client/pom.xml
rename to spring-cloud-modules/spring-cloud-config/client/pom.xml
diff --git a/spring-cloud/spring-cloud-config/client/src/main/java/com/baeldung/spring/cloud/config/client/ConfigClient.java b/spring-cloud-modules/spring-cloud-config/client/src/main/java/com/baeldung/spring/cloud/config/client/ConfigClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-config/client/src/main/java/com/baeldung/spring/cloud/config/client/ConfigClient.java
rename to spring-cloud-modules/spring-cloud-config/client/src/main/java/com/baeldung/spring/cloud/config/client/ConfigClient.java
diff --git a/spring-cloud/spring-cloud-config/client/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-config/client/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-config/client/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-config/client/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-config/client/src/test/java/com/baeldung/spring/cloud/config/client/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-config/client/src/test/java/com/baeldung/spring/cloud/config/client/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-config/client/src/test/java/com/baeldung/spring/cloud/config/client/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-config/client/src/test/java/com/baeldung/spring/cloud/config/client/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-config/config-repo/config-client-development.properties b/spring-cloud-modules/spring-cloud-config/config-repo/config-client-development.properties
similarity index 100%
rename from spring-cloud/spring-cloud-config/config-repo/config-client-development.properties
rename to spring-cloud-modules/spring-cloud-config/config-repo/config-client-development.properties
diff --git a/spring-cloud/spring-cloud-config/config-repo/config-client-production.properties b/spring-cloud-modules/spring-cloud-config/config-repo/config-client-production.properties
similarity index 100%
rename from spring-cloud/spring-cloud-config/config-repo/config-client-production.properties
rename to spring-cloud-modules/spring-cloud-config/config-repo/config-client-production.properties
diff --git a/spring-cloud/spring-cloud-config/pom.xml b/spring-cloud-modules/spring-cloud-config/pom.xml
similarity index 95%
rename from spring-cloud/spring-cloud-config/pom.xml
rename to spring-cloud-modules/spring-cloud-config/pom.xml
index 1c8ada8a65..09be8ae1b8 100644
--- a/spring-cloud/spring-cloud-config/pom.xml
+++ b/spring-cloud-modules/spring-cloud-config/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-config/server/pom.xml b/spring-cloud-modules/spring-cloud-config/server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-config/server/pom.xml
rename to spring-cloud-modules/spring-cloud-config/server/pom.xml
diff --git a/spring-cloud/spring-cloud-config/server/src/main/java/com/baeldung/spring/cloud/config/server/ConfigServer.java b/spring-cloud-modules/spring-cloud-config/server/src/main/java/com/baeldung/spring/cloud/config/server/ConfigServer.java
similarity index 100%
rename from spring-cloud/spring-cloud-config/server/src/main/java/com/baeldung/spring/cloud/config/server/ConfigServer.java
rename to spring-cloud-modules/spring-cloud-config/server/src/main/java/com/baeldung/spring/cloud/config/server/ConfigServer.java
diff --git a/spring-cloud/spring-cloud-config/server/src/main/java/com/baeldung/spring/cloud/config/server/SecurityConfiguration.java b/spring-cloud-modules/spring-cloud-config/server/src/main/java/com/baeldung/spring/cloud/config/server/SecurityConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-config/server/src/main/java/com/baeldung/spring/cloud/config/server/SecurityConfiguration.java
rename to spring-cloud-modules/spring-cloud-config/server/src/main/java/com/baeldung/spring/cloud/config/server/SecurityConfiguration.java
diff --git a/spring-cloud/spring-cloud-config/server/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-config/server/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-config/server/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-config/server/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-config/server/src/main/resources/config-server.jks b/spring-cloud-modules/spring-cloud-config/server/src/main/resources/config-server.jks
similarity index 100%
rename from spring-cloud/spring-cloud-config/server/src/main/resources/config-server.jks
rename to spring-cloud-modules/spring-cloud-config/server/src/main/resources/config-server.jks
diff --git a/spring-cloud/spring-cloud-config/server/src/test/java/com/baeldung/spring/cloud/config/server/SpringContextTest.java b/spring-cloud-modules/spring-cloud-config/server/src/test/java/com/baeldung/spring/cloud/config/server/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-config/server/src/test/java/com/baeldung/spring/cloud/config/server/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-config/server/src/test/java/com/baeldung/spring/cloud/config/server/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-config/server/src/test/resources/application.properties b/spring-cloud-modules/spring-cloud-config/server/src/test/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-config/server/src/test/resources/application.properties
rename to spring-cloud-modules/spring-cloud-config/server/src/test/resources/application.properties
diff --git a/spring-cloud/spring-cloud-connectors-heroku/README.md b/spring-cloud-modules/spring-cloud-connectors-heroku/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/README.md
rename to spring-cloud-modules/spring-cloud-connectors-heroku/README.md
diff --git a/spring-cloud/spring-cloud-connectors-heroku/pom.xml b/spring-cloud-modules/spring-cloud-connectors-heroku/pom.xml
similarity index 97%
rename from spring-cloud/spring-cloud-connectors-heroku/pom.xml
rename to spring-cloud-modules/spring-cloud-connectors-heroku/pom.xml
index b38ede6d89..88e60f5ce8 100644
--- a/spring-cloud/spring-cloud-connectors-heroku/pom.xml
+++ b/spring-cloud-modules/spring-cloud-connectors-heroku/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/ConnectorsHerokuApplication.java b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/ConnectorsHerokuApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/ConnectorsHerokuApplication.java
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/ConnectorsHerokuApplication.java
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/Book.java b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/Book.java
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/Book.java
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/Book.java
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookController.java b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookController.java
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookController.java
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookController.java
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookRepository.java b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookRepository.java
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookRepository.java
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookRepository.java
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookService.java b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookService.java
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookService.java
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/book/BookService.java
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/Product.java b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/Product.java
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/Product.java
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/Product.java
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductController.java b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductController.java
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductController.java
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductController.java
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductRepository.java b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductRepository.java
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductRepository.java
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductRepository.java
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductService.java b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductService.java
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductService.java
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductService.java
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-consul/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-connectors-heroku/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/test/java/com/baeldung/spring/cloud/connectors/heroku/SpringContextTest.java b/spring-cloud-modules/spring-cloud-connectors-heroku/src/test/java/com/baeldung/spring/cloud/connectors/heroku/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/test/java/com/baeldung/spring/cloud/connectors/heroku/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/test/java/com/baeldung/spring/cloud/connectors/heroku/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/test/resources/application.properties b/spring-cloud-modules/spring-cloud-connectors-heroku/src/test/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-connectors-heroku/src/test/resources/application.properties
rename to spring-cloud-modules/spring-cloud-connectors-heroku/src/test/resources/application.properties
diff --git a/spring-cloud/spring-cloud-consul/README.md b/spring-cloud-modules/spring-cloud-consul/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-consul/README.md
rename to spring-cloud-modules/spring-cloud-consul/README.md
diff --git a/spring-cloud/spring-cloud-consul/pom.xml b/spring-cloud-modules/spring-cloud-consul/pom.xml
similarity index 93%
rename from spring-cloud/spring-cloud-consul/pom.xml
rename to spring-cloud-modules/spring-cloud-consul/pom.xml
index f21550e360..02823d3e07 100644
--- a/spring-cloud/spring-cloud-consul/pom.xml
+++ b/spring-cloud-modules/spring-cloud-consul/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
@@ -55,7 +55,7 @@
- 2.2.3.RELEASE
+ 3.1.1
0.3.1
com.baeldung.spring.cloud.consul.discovery.DiscoveryClientApplication
diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java b/spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java
rename to spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java
diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientController.java b/spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientController.java
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientController.java
rename to spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientController.java
diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/health/ServiceDiscoveryApplication.java b/spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/health/ServiceDiscoveryApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/health/ServiceDiscoveryApplication.java
rename to spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/health/ServiceDiscoveryApplication.java
diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/health/ServiceDiscoveryController.java b/spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/health/ServiceDiscoveryController.java
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/health/ServiceDiscoveryController.java
rename to spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/health/ServiceDiscoveryController.java
diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java b/spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java
rename to spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java
diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/DistributedPropertiesApplication.java b/spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/DistributedPropertiesApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/DistributedPropertiesApplication.java
rename to spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/DistributedPropertiesApplication.java
diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/DistributedPropertiesController.java b/spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/DistributedPropertiesController.java
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/DistributedPropertiesController.java
rename to spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/DistributedPropertiesController.java
diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/MyProperties.java b/spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/MyProperties.java
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/MyProperties.java
rename to spring-cloud-modules/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/MyProperties.java
diff --git a/spring-cloud/spring-cloud-consul/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-consul/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-consul/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-consul/src/main/resources/bootstrap.yml b/spring-cloud-modules/spring-cloud-consul/src/main/resources/bootstrap.yml
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/main/resources/bootstrap.yml
rename to spring-cloud-modules/spring-cloud-consul/src/main/resources/bootstrap.yml
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-consul/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-consul/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-consul/src/test/java/com/baeldung/spring/cloud/consul/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-consul/src/test/java/com/baeldung/spring/cloud/consul/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-consul/src/test/java/com/baeldung/spring/cloud/consul/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-consul/src/test/java/com/baeldung/spring/cloud/consul/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-contract/README.md b/spring-cloud-modules/spring-cloud-contract/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-contract/README.md
rename to spring-cloud-modules/spring-cloud-contract/README.md
diff --git a/spring-cloud/spring-cloud-contract/pom.xml b/spring-cloud-modules/spring-cloud-contract/pom.xml
similarity index 97%
rename from spring-cloud/spring-cloud-contract/pom.xml
rename to spring-cloud-modules/spring-cloud-contract/pom.xml
index 6e8b130ed1..bfbac19a81 100644
--- a/spring-cloud/spring-cloud-contract/pom.xml
+++ b/spring-cloud-modules/spring-cloud-contract/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/pom.xml b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/pom.xml
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/pom.xml
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/main/java/com/baeldung/spring/cloud/springcloudcontractconsumer/SpringCloudContractConsumerApplication.java b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/main/java/com/baeldung/spring/cloud/springcloudcontractconsumer/SpringCloudContractConsumerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/main/java/com/baeldung/spring/cloud/springcloudcontractconsumer/SpringCloudContractConsumerApplication.java
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/main/java/com/baeldung/spring/cloud/springcloudcontractconsumer/SpringCloudContractConsumerApplication.java
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/main/java/com/baeldung/spring/cloud/springcloudcontractconsumer/controller/BasicMathController.java b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/main/java/com/baeldung/spring/cloud/springcloudcontractconsumer/controller/BasicMathController.java
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/main/java/com/baeldung/spring/cloud/springcloudcontractconsumer/controller/BasicMathController.java
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/main/java/com/baeldung/spring/cloud/springcloudcontractconsumer/controller/BasicMathController.java
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/com/baeldung/spring/cloud/springcloudcontractconsumer/controller/BasicMathControllerIntegrationTest.java b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/com/baeldung/spring/cloud/springcloudcontractconsumer/controller/BasicMathControllerIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/com/baeldung/spring/cloud/springcloudcontractconsumer/controller/BasicMathControllerIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-consumer/src/test/java/com/baeldung/spring/cloud/springcloudcontractconsumer/controller/BasicMathControllerIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/pom.xml b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/pom.xml
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/pom.xml
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/main/java/com/baeldung/spring/cloud/springcloudcontractproducer/SpringCloudContractProducerApplication.java b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/main/java/com/baeldung/spring/cloud/springcloudcontractproducer/SpringCloudContractProducerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/main/java/com/baeldung/spring/cloud/springcloudcontractproducer/SpringCloudContractProducerApplication.java
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/main/java/com/baeldung/spring/cloud/springcloudcontractproducer/SpringCloudContractProducerApplication.java
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/main/java/com/baeldung/spring/cloud/springcloudcontractproducer/controller/EvenOddController.java b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/main/java/com/baeldung/spring/cloud/springcloudcontractproducer/controller/EvenOddController.java
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/main/java/com/baeldung/spring/cloud/springcloudcontractproducer/controller/EvenOddController.java
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/main/java/com/baeldung/spring/cloud/springcloudcontractproducer/controller/EvenOddController.java
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/com/baeldung/spring/cloud/springcloudcontractproducer/BaseTestClass.java b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/com/baeldung/spring/cloud/springcloudcontractproducer/BaseTestClass.java
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/com/baeldung/spring/cloud/springcloudcontractproducer/BaseTestClass.java
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/test/java/com/baeldung/spring/cloud/springcloudcontractproducer/BaseTestClass.java
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/resources/contracts/shouldReturnEvenWhenRequestParamIsEven.groovy b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/test/resources/contracts/shouldReturnEvenWhenRequestParamIsEven.groovy
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/resources/contracts/shouldReturnEvenWhenRequestParamIsEven.groovy
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/test/resources/contracts/shouldReturnEvenWhenRequestParamIsEven.groovy
diff --git a/spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/resources/contracts/shouldReturnOddWhenRequestParamIsOdd.groovy b/spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/test/resources/contracts/shouldReturnOddWhenRequestParamIsOdd.groovy
similarity index 100%
rename from spring-cloud/spring-cloud-contract/spring-cloud-contract-producer/src/test/resources/contracts/shouldReturnOddWhenRequestParamIsOdd.groovy
rename to spring-cloud-modules/spring-cloud-contract/spring-cloud-contract-producer/src/test/resources/contracts/shouldReturnOddWhenRequestParamIsOdd.groovy
diff --git a/spring-cloud/spring-cloud-dapr/README.md b/spring-cloud-modules/spring-cloud-dapr/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/README.md
rename to spring-cloud-modules/spring-cloud-dapr/README.md
diff --git a/spring-cloud/spring-cloud-dapr/dapr-config/basic-config.yaml b/spring-cloud-modules/spring-cloud-dapr/dapr-config/basic-config.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/dapr-config/basic-config.yaml
rename to spring-cloud-modules/spring-cloud-dapr/dapr-config/basic-config.yaml
diff --git a/spring-cloud/spring-cloud-dapr/dapr-config/consul-config.yaml b/spring-cloud-modules/spring-cloud-dapr/dapr-config/consul-config.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/dapr-config/consul-config.yaml
rename to spring-cloud-modules/spring-cloud-dapr/dapr-config/consul-config.yaml
diff --git a/spring-cloud/spring-cloud-dapr/dapr-config/consul-zipkin-config.yaml b/spring-cloud-modules/spring-cloud-dapr/dapr-config/consul-zipkin-config.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/dapr-config/consul-zipkin-config.yaml
rename to spring-cloud-modules/spring-cloud-dapr/dapr-config/consul-zipkin-config.yaml
diff --git a/spring-cloud/spring-cloud-dapr/gateway/pom.xml b/spring-cloud-modules/spring-cloud-dapr/gateway/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/gateway/pom.xml
rename to spring-cloud-modules/spring-cloud-dapr/gateway/pom.xml
diff --git a/spring-cloud/spring-cloud-dapr/gateway/src/main/java/com/baeldung/gateway/GatewayApp.java b/spring-cloud-modules/spring-cloud-dapr/gateway/src/main/java/com/baeldung/gateway/GatewayApp.java
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/gateway/src/main/java/com/baeldung/gateway/GatewayApp.java
rename to spring-cloud-modules/spring-cloud-dapr/gateway/src/main/java/com/baeldung/gateway/GatewayApp.java
diff --git a/spring-cloud/spring-cloud-dapr/gateway/src/main/resources/application-no-dapr.yml b/spring-cloud-modules/spring-cloud-dapr/gateway/src/main/resources/application-no-dapr.yml
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/gateway/src/main/resources/application-no-dapr.yml
rename to spring-cloud-modules/spring-cloud-dapr/gateway/src/main/resources/application-no-dapr.yml
diff --git a/spring-cloud/spring-cloud-dapr/gateway/src/main/resources/application-with-dapr.yml b/spring-cloud-modules/spring-cloud-dapr/gateway/src/main/resources/application-with-dapr.yml
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/gateway/src/main/resources/application-with-dapr.yml
rename to spring-cloud-modules/spring-cloud-dapr/gateway/src/main/resources/application-with-dapr.yml
diff --git a/spring-cloud/spring-cloud-dapr/greeting/pom.xml b/spring-cloud-modules/spring-cloud-dapr/greeting/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/greeting/pom.xml
rename to spring-cloud-modules/spring-cloud-dapr/greeting/pom.xml
diff --git a/spring-cloud/spring-cloud-dapr/greeting/src/main/java/com/baeldung/hello/GreetingApp.java b/spring-cloud-modules/spring-cloud-dapr/greeting/src/main/java/com/baeldung/hello/GreetingApp.java
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/greeting/src/main/java/com/baeldung/hello/GreetingApp.java
rename to spring-cloud-modules/spring-cloud-dapr/greeting/src/main/java/com/baeldung/hello/GreetingApp.java
diff --git a/spring-cloud/spring-cloud-dapr/greeting/src/main/java/com/baeldung/hello/GreetingController.java b/spring-cloud-modules/spring-cloud-dapr/greeting/src/main/java/com/baeldung/hello/GreetingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/greeting/src/main/java/com/baeldung/hello/GreetingController.java
rename to spring-cloud-modules/spring-cloud-dapr/greeting/src/main/java/com/baeldung/hello/GreetingController.java
diff --git a/spring-cloud/spring-cloud-dapr/greeting/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-dapr/greeting/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-dapr/greeting/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-dapr/greeting/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-dapr/pom.xml b/spring-cloud-modules/spring-cloud-dapr/pom.xml
similarity index 90%
rename from spring-cloud/spring-cloud-dapr/pom.xml
rename to spring-cloud-modules/spring-cloud-dapr/pom.xml
index 436666b08e..24b6c989bd 100644
--- a/spring-cloud/spring-cloud-dapr/pom.xml
+++ b/spring-cloud-modules/spring-cloud-dapr/pom.xml
@@ -8,7 +8,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-docker/README.md b/spring-cloud-modules/spring-cloud-docker/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-docker/README.md
rename to spring-cloud-modules/spring-cloud-docker/README.md
diff --git a/spring-cloud/spring-cloud-docker/docker-compose-scale.yml b/spring-cloud-modules/spring-cloud-docker/docker-compose-scale.yml
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-compose-scale.yml
rename to spring-cloud-modules/spring-cloud-docker/docker-compose-scale.yml
diff --git a/spring-cloud/spring-cloud-docker/docker-compose.yml b/spring-cloud-modules/spring-cloud-docker/docker-compose.yml
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-compose.yml
rename to spring-cloud-modules/spring-cloud-docker/docker-compose.yml
diff --git a/spring-cloud/spring-cloud-docker/docker-message-server/Dockerfile b/spring-cloud-modules/spring-cloud-docker/docker-message-server/Dockerfile
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-message-server/Dockerfile
rename to spring-cloud-modules/spring-cloud-docker/docker-message-server/Dockerfile
diff --git a/spring-cloud/spring-cloud-docker/docker-message-server/pom.xml b/spring-cloud-modules/spring-cloud-docker/docker-message-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-message-server/pom.xml
rename to spring-cloud-modules/spring-cloud-docker/docker-message-server/pom.xml
diff --git a/spring-cloud/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerMessageController.java b/spring-cloud-modules/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerMessageController.java
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerMessageController.java
rename to spring-cloud-modules/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerMessageController.java
diff --git a/spring-cloud/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java b/spring-cloud-modules/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java
rename to spring-cloud-modules/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java
diff --git a/spring-cloud/spring-cloud-docker/docker-message-server/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-docker/docker-message-server/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-message-server/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-docker/docker-message-server/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-docker/docker-product-server/Dockerfile b/spring-cloud-modules/spring-cloud-docker/docker-product-server/Dockerfile
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-product-server/Dockerfile
rename to spring-cloud-modules/spring-cloud-docker/docker-product-server/Dockerfile
diff --git a/spring-cloud/spring-cloud-docker/docker-product-server/pom.xml b/spring-cloud-modules/spring-cloud-docker/docker-product-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-product-server/pom.xml
rename to spring-cloud-modules/spring-cloud-docker/docker-product-server/pom.xml
diff --git a/spring-cloud/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerProductController.java b/spring-cloud-modules/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerProductController.java
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerProductController.java
rename to spring-cloud-modules/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerProductController.java
diff --git a/spring-cloud/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java b/spring-cloud-modules/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java
rename to spring-cloud-modules/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java
diff --git a/spring-cloud/spring-cloud-docker/docker-product-server/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-docker/docker-product-server/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-docker/docker-product-server/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-docker/docker-product-server/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-docker/pom.xml b/spring-cloud-modules/spring-cloud-docker/pom.xml
similarity index 92%
rename from spring-cloud/spring-cloud-docker/pom.xml
rename to spring-cloud-modules/spring-cloud-docker/pom.xml
index 735dae2ea7..4cc5f35bd9 100644
--- a/spring-cloud/spring-cloud-docker/pom.xml
+++ b/spring-cloud-modules/spring-cloud-docker/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/README.md b/spring-cloud-modules/spring-cloud-eureka-self-preservation/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-eureka-self-preservation/README.md
rename to spring-cloud-modules/spring-cloud-eureka-self-preservation/README.md
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/pom.xml b/spring-cloud-modules/spring-cloud-eureka-self-preservation/pom.xml
similarity index 96%
rename from spring-cloud/spring-cloud-eureka-self-preservation/pom.xml
rename to spring-cloud-modules/spring-cloud-eureka-self-preservation/pom.xml
index 5000adc164..9827c578a4 100644
--- a/spring-cloud/spring-cloud-eureka-self-preservation/pom.xml
+++ b/spring-cloud-modules/spring-cloud-eureka-self-preservation/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/pom.xml b/spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/pom.xml
rename to spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/pom.xml
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java b/spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
rename to spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/pom.xml b/spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/pom.xml
rename to spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/pom.xml
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java b/spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
rename to spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-eureka/README.md b/spring-cloud-modules/spring-cloud-eureka/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/README.md
rename to spring-cloud-modules/spring-cloud-eureka/README.md
diff --git a/spring-cloud/spring-cloud-eureka/pom.xml b/spring-cloud-modules/spring-cloud-eureka/pom.xml
similarity index 96%
rename from spring-cloud/spring-cloud-eureka/pom.xml
rename to spring-cloud-modules/spring-cloud-eureka/pom.xml
index 63190f7f20..2a9c4f5fde 100644
--- a/spring-cloud/spring-cloud-eureka/pom.xml
+++ b/spring-cloud-modules/spring-cloud-eureka/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/pom.xml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/pom.xml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/pom.xml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/java/com/baeldung/spring/cloud/eureka/client/controller/HelloWorldController.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/java/com/baeldung/spring/cloud/eureka/client/controller/HelloWorldController.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/java/com/baeldung/spring/cloud/eureka/client/controller/HelloWorldController.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/java/com/baeldung/spring/cloud/eureka/client/controller/HelloWorldController.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/resources/application-dev.properties b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/resources/application-dev.properties
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/resources/application-dev.properties
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/resources/application-dev.properties
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client-profiles/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/pom.xml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/pom.xml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/pom.xml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/GreetingController.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/GreetingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/GreetingController.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/GreetingController.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/pom.xml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/pom.xml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/pom.xml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/Application.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/Application.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/Application.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/Application.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/client/BooksClient.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/client/BooksClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/client/BooksClient.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/client/BooksClient.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/model/Book.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/model/Book.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/model/Book.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/main/java/com/baeldung/spring/cloud/model/Book.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/BookMocks.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/BookMocks.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/BookMocks.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/BookMocks.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/BooksClientIntegrationTest.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/BooksClientIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/BooksClientIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/BooksClientIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/EurekaContainerConfig.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/EurekaContainerConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/EurekaContainerConfig.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/EurekaContainerConfig.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/LoadBalancerBooksClientIntegrationTest.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/LoadBalancerBooksClientIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/LoadBalancerBooksClientIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/LoadBalancerBooksClientIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/MockBookServiceConfig.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/MockBookServiceConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/MockBookServiceConfig.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/MockBookServiceConfig.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/RibbonTestConfig.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/RibbonTestConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/RibbonTestConfig.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/RibbonTestConfig.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/ServiceDiscoveryBooksClientLiveTest.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/ServiceDiscoveryBooksClientLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/ServiceDiscoveryBooksClientLiveTest.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/ServiceDiscoveryBooksClientLiveTest.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/WireMockConfig.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/WireMockConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/WireMockConfig.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/java/com/baeldung/spring/cloud/client/WireMockConfig.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-eureka-test.yml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-eureka-test.yml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-eureka-test.yml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-eureka-test.yml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-ribbon-test.yml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-ribbon-test.yml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-ribbon-test.yml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-ribbon-test.yml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-test.yml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-test.yml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-test.yml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/application-test.yml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/payload/get-books-response.json b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/payload/get-books-response.json
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/payload/get-books-response.json
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client-integration-test/src/test/resources/payload/get-books-response.json
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/pom.xml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/pom.xml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/pom.xml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/FeignClientApplication.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/FeignClientApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/FeignClientApplication.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/FeignClientApplication.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/GreetingClient.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/GreetingClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/GreetingClient.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/GreetingClient.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/NoFeignClientController.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/NoFeignClientController.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/NoFeignClientController.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/java/com/baeldung/spring/cloud/feign/client/NoFeignClientController.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/templates/greeting-view.html b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/templates/greeting-view.html
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/templates/greeting-view.html
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/main/resources/templates/greeting-view.html
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/test/java/com/baeldung/spring/cloud/feign/client/SpringContextTest.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/test/java/com/baeldung/spring/cloud/feign/client/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/test/java/com/baeldung/spring/cloud/feign/client/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-feign-client/src/test/java/com/baeldung/spring/cloud/feign/client/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/pom.xml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/pom.xml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-server/pom.xml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-server/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-server/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-server/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-server/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java b/spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-eureka/spring-cloud-eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-eureka/spring-cloud-eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-functions/README.md b/spring-cloud-modules/spring-cloud-functions/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-functions/README.md
rename to spring-cloud-modules/spring-cloud-functions/README.md
diff --git a/spring-cloud/spring-cloud-functions/pom.xml b/spring-cloud-modules/spring-cloud-functions/pom.xml
similarity index 98%
rename from spring-cloud/spring-cloud-functions/pom.xml
rename to spring-cloud-modules/spring-cloud-functions/pom.xml
index d9f90c7a56..0b392daacf 100644
--- a/spring-cloud/spring-cloud-functions/pom.xml
+++ b/spring-cloud-modules/spring-cloud-functions/pom.xml
@@ -12,7 +12,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/CloudFunctionAwsApplication.java b/spring-cloud-modules/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/CloudFunctionAwsApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/CloudFunctionAwsApplication.java
rename to spring-cloud-modules/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/CloudFunctionAwsApplication.java
diff --git a/spring-cloud/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/StringReverseHandler.java b/spring-cloud-modules/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/StringReverseHandler.java
similarity index 100%
rename from spring-cloud/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/StringReverseHandler.java
rename to spring-cloud-modules/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/StringReverseHandler.java
diff --git a/spring-cloud/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/functions/Greeter.java b/spring-cloud-modules/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/functions/Greeter.java
similarity index 100%
rename from spring-cloud/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/functions/Greeter.java
rename to spring-cloud-modules/spring-cloud-functions/src/main/java/com/baeldung/spring/cloudfunction/aws/functions/Greeter.java
diff --git a/spring-cloud/spring-cloud-functions/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-functions/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-functions/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-functions/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/CloudFunctionApplicationUnitTest.java b/spring-cloud-modules/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/CloudFunctionApplicationUnitTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/CloudFunctionApplicationUnitTest.java
rename to spring-cloud-modules/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/CloudFunctionApplicationUnitTest.java
diff --git a/spring-cloud/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/SpringContextTest.java b/spring-cloud-modules/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-functions/src/test/java/com/baeldung/spring/cloudfunction/aws/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-functions/src/test/resources/logback-test.xml b/spring-cloud-modules/spring-cloud-functions/src/test/resources/logback-test.xml
similarity index 100%
rename from spring-cloud/spring-cloud-functions/src/test/resources/logback-test.xml
rename to spring-cloud-modules/spring-cloud-functions/src/test/resources/logback-test.xml
diff --git a/spring-cloud/spring-cloud-gateway/README-OAuth.md b/spring-cloud-modules/spring-cloud-gateway/README-OAuth.md
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/README-OAuth.md
rename to spring-cloud-modules/spring-cloud-gateway/README-OAuth.md
diff --git a/spring-cloud/spring-cloud-gateway/README.md b/spring-cloud-modules/spring-cloud-gateway/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/README.md
rename to spring-cloud-modules/spring-cloud-gateway/README.md
diff --git a/spring-cloud/spring-cloud-gateway/baeldung-realm.json b/spring-cloud-modules/spring-cloud-gateway/baeldung-realm.json
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/baeldung-realm.json
rename to spring-cloud-modules/spring-cloud-gateway/baeldung-realm.json
diff --git a/spring-cloud/spring-cloud-gateway/pom.xml b/spring-cloud-modules/spring-cloud-gateway/pom.xml
similarity index 99%
rename from spring-cloud/spring-cloud-gateway/pom.xml
rename to spring-cloud-modules/spring-cloud-gateway/pom.xml
index e8949cc039..76072a59ac 100644
--- a/spring-cloud/spring-cloud-gateway/pom.xml
+++ b/spring-cloud-modules/spring-cloud-gateway/pom.xml
@@ -9,7 +9,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/CustomFiltersGatewayApplication.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/CustomFiltersGatewayApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/CustomFiltersGatewayApplication.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/CustomFiltersGatewayApplication.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/config/WebClientConfig.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/config/WebClientConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/config/WebClientConfig.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/config/WebClientConfig.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ChainRequestGatewayFilterFactory.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ChainRequestGatewayFilterFactory.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ChainRequestGatewayFilterFactory.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ChainRequestGatewayFilterFactory.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/LoggingGatewayFilterFactory.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/LoggingGatewayFilterFactory.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/LoggingGatewayFilterFactory.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/LoggingGatewayFilterFactory.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ModifyRequestGatewayFilterFactory.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ModifyRequestGatewayFilterFactory.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ModifyRequestGatewayFilterFactory.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ModifyRequestGatewayFilterFactory.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ModifyResponseGatewayFilterFactory.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ModifyResponseGatewayFilterFactory.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ModifyResponseGatewayFilterFactory.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/factories/ModifyResponseGatewayFilterFactory.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/FirstPreLastPostGlobalFilter.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/FirstPreLastPostGlobalFilter.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/FirstPreLastPostGlobalFilter.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/FirstPreLastPostGlobalFilter.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/LoggingGlobalFiltersConfigurations.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/LoggingGlobalFiltersConfigurations.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/LoggingGlobalFiltersConfigurations.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/LoggingGlobalFiltersConfigurations.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/LoggingGlobalPreFilter.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/LoggingGlobalPreFilter.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/LoggingGlobalPreFilter.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/filters/global/LoggingGlobalPreFilter.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/routes/ServiceRouteConfiguration.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/routes/ServiceRouteConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/routes/ServiceRouteConfiguration.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/routes/ServiceRouteConfiguration.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/secondservice/SecondServiceApplication.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/secondservice/SecondServiceApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/secondservice/SecondServiceApplication.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/secondservice/SecondServiceApplication.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/secondservice/web/SecondServiceRestController.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/secondservice/web/SecondServiceRestController.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/secondservice/web/SecondServiceRestController.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/secondservice/web/SecondServiceRestController.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/service/ServiceApplication.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/service/ServiceApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/service/ServiceApplication.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/service/ServiceApplication.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/service/web/ServiceRestController.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/service/web/ServiceRestController.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/service/web/ServiceRestController.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/customfilters/service/web/ServiceRestController.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/CustomPredicatesApplication.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/CustomPredicatesApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/CustomPredicatesApplication.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/CustomPredicatesApplication.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/config/CustomPredicatesConfig.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/config/CustomPredicatesConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/config/CustomPredicatesConfig.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/config/CustomPredicatesConfig.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/factories/GoldenCustomerRoutePredicateFactory.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/factories/GoldenCustomerRoutePredicateFactory.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/factories/GoldenCustomerRoutePredicateFactory.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/factories/GoldenCustomerRoutePredicateFactory.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/service/GoldenCustomerService.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/service/GoldenCustomerService.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/service/GoldenCustomerService.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/custompredicates/service/GoldenCustomerService.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/introduction/IntroductionGatewayApplication.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/introduction/IntroductionGatewayApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/introduction/IntroductionGatewayApplication.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/introduction/IntroductionGatewayApplication.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/QuotesApplication.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/QuotesApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/QuotesApplication.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/QuotesApplication.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/domain/Quote.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/domain/Quote.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/domain/Quote.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/domain/Quote.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/web/QuoteApi.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/web/QuoteApi.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/web/QuoteApi.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/backend/web/QuoteApi.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/server/ResourceServerGatewayApplication.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/server/ResourceServerGatewayApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/server/ResourceServerGatewayApplication.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/server/ResourceServerGatewayApplication.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/shared/KeycloakReactiveTokenInstrospector.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/shared/KeycloakReactiveTokenInstrospector.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/shared/KeycloakReactiveTokenInstrospector.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/oauth/shared/KeycloakReactiveTokenInstrospector.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/rewrite/URLRewriteGatewayApplication.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/rewrite/URLRewriteGatewayApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/rewrite/URLRewriteGatewayApplication.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/rewrite/URLRewriteGatewayApplication.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/rewrite/routes/DynamicRewriteRoute.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/rewrite/routes/DynamicRewriteRoute.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/rewrite/routes/DynamicRewriteRoute.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/rewrite/routes/DynamicRewriteRoute.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/WebFilterGatewayApplication.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/WebFilterGatewayApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/WebFilterGatewayApplication.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/WebFilterGatewayApplication.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/config/ModifyBodyRouteConfig.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/config/ModifyBodyRouteConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/config/ModifyBodyRouteConfig.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/config/ModifyBodyRouteConfig.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/config/RequestRateLimiterResolverConfig.java b/spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/config/RequestRateLimiterResolverConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/config/RequestRateLimiterResolverConfig.java
rename to spring-cloud-modules/spring-cloud-gateway/src/main/java/com/baeldung/springcloudgateway/webfilters/config/RequestRateLimiterResolverConfig.java
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/application-customroutes.yml b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-customroutes.yml
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/application-customroutes.yml
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-customroutes.yml
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/application-nosecurity.yml b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-nosecurity.yml
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/application-nosecurity.yml
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-nosecurity.yml
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/application-oauth-client.yml b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-oauth-client.yml
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/application-oauth-client.yml
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-oauth-client.yml
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/application-resource-server.yml b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-resource-server.yml
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/application-resource-server.yml
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-resource-server.yml
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/application-url-rewrite.yml b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-url-rewrite.yml
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/application-url-rewrite.yml
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-url-rewrite.yml
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/application-webfilters.yml b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-webfilters.yml
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/application-webfilters.yml
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/application-webfilters.yml
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/customfilters-global-application.properties b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/customfilters-global-application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/customfilters-global-application.properties
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/customfilters-global-application.properties
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/introduction-application.properties b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/introduction-application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/introduction-application.properties
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/introduction-application.properties
diff --git a/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/quotes-application.properties b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/quotes-application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/quotes-application.properties
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/quotes-application.properties
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/secondservice-application.properties b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/secondservice-application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/secondservice-application.properties
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/secondservice-application.properties
diff --git a/spring-cloud/spring-cloud-gateway/src/main/resources/service-application.properties b/spring-cloud-modules/spring-cloud-gateway/src/main/resources/service-application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/main/resources/service-application.properties
rename to spring-cloud-modules/spring-cloud-gateway/src/main/resources/service-application.properties
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/CustomFiltersLiveTest.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/CustomFiltersLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/CustomFiltersLiveTest.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/CustomFiltersLiveTest.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/utils/LoggerListAppender.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/utils/LoggerListAppender.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/utils/LoggerListAppender.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/gatewayapp/utils/LoggerListAppender.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/secondservice/SecondServiceIntegrationTest.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/secondservice/SecondServiceIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/secondservice/SecondServiceIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/secondservice/SecondServiceIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/secondservice/SpringContextTest.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/secondservice/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/secondservice/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/secondservice/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/service/ServiceIntegrationTest.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/service/ServiceIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/service/ServiceIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/service/ServiceIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/service/SpringContextTest.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/service/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/service/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/customfilters/service/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/custompredicates/CustomPredicatesApplicationLiveTest.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/custompredicates/CustomPredicatesApplicationLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/custompredicates/CustomPredicatesApplicationLiveTest.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/custompredicates/CustomPredicatesApplicationLiveTest.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/introduction/SpringContextTest.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/introduction/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/introduction/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/introduction/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/rewrite/URLRewriteGatewayApplicationLiveTest.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/rewrite/URLRewriteGatewayApplicationLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/rewrite/URLRewriteGatewayApplicationLiveTest.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/rewrite/URLRewriteGatewayApplicationLiveTest.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/webfilters/RedisWebFilterFactoriesLiveTest.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/webfilters/RedisWebFilterFactoriesLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/webfilters/RedisWebFilterFactoriesLiveTest.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/webfilters/RedisWebFilterFactoriesLiveTest.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/webfilters/WebFilterFactoriesLiveTest.java b/spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/webfilters/WebFilterFactoriesLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/webfilters/WebFilterFactoriesLiveTest.java
rename to spring-cloud-modules/spring-cloud-gateway/src/test/java/com/baeldung/springcloudgateway/webfilters/WebFilterFactoriesLiveTest.java
diff --git a/spring-cloud/spring-cloud-gateway/src/test/postman/OAuth_Gateway.postman_collection.json b/spring-cloud-modules/spring-cloud-gateway/src/test/postman/OAuth_Gateway.postman_collection.json
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/postman/OAuth_Gateway.postman_collection.json
rename to spring-cloud-modules/spring-cloud-gateway/src/test/postman/OAuth_Gateway.postman_collection.json
diff --git a/spring-cloud/spring-cloud-gateway/src/test/resources/logback-test.xml b/spring-cloud-modules/spring-cloud-gateway/src/test/resources/logback-test.xml
similarity index 100%
rename from spring-cloud/spring-cloud-gateway/src/test/resources/logback-test.xml
rename to spring-cloud-modules/spring-cloud-gateway/src/test/resources/logback-test.xml
diff --git a/spring-cloud/spring-cloud-hystrix/README.md b/spring-cloud-modules/spring-cloud-hystrix/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/README.md
rename to spring-cloud-modules/spring-cloud-hystrix/README.md
diff --git a/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/pom.xml b/spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/feign-rest-consumer/pom.xml
rename to spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/pom.xml
diff --git a/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingClient.java b/spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingClient.java
rename to spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingClient.java
diff --git a/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingController.java b/spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingController.java
rename to spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingController.java
diff --git a/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/RestConsumerFeignApplication.java b/spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/RestConsumerFeignApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/RestConsumerFeignApplication.java
rename to spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/RestConsumerFeignApplication.java
diff --git a/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/templates/greeting-view.html b/spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/templates/greeting-view.html
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/templates/greeting-view.html
rename to spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/main/resources/templates/greeting-view.html
diff --git a/spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java b/spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/feign-rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-hystrix/feign-rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-hystrix/pom.xml b/spring-cloud-modules/spring-cloud-hystrix/pom.xml
similarity index 91%
rename from spring-cloud/spring-cloud-hystrix/pom.xml
rename to spring-cloud-modules/spring-cloud-hystrix/pom.xml
index 48216827c8..e1f30c25dc 100644
--- a/spring-cloud/spring-cloud-hystrix/pom.xml
+++ b/spring-cloud-modules/spring-cloud-hystrix/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-hystrix/rest-consumer/pom.xml b/spring-cloud-modules/spring-cloud-hystrix/rest-consumer/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-consumer/pom.xml
rename to spring-cloud-modules/spring-cloud-hystrix/rest-consumer/pom.xml
diff --git a/spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingController.java b/spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingController.java
rename to spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingController.java
diff --git a/spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingService.java b/spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingService.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingService.java
rename to spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/GreetingService.java
diff --git a/spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/RestConsumerApplication.java b/spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/RestConsumerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/RestConsumerApplication.java
rename to spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/consumer/RestConsumerApplication.java
diff --git a/spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-hystrix/rest-producer/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-producer/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/resources/templates/greeting-view.html b/spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/resources/templates/greeting-view.html
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-consumer/src/main/resources/templates/greeting-view.html
rename to spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/main/resources/templates/greeting-view.html
diff --git a/spring-cloud/spring-cloud-hystrix/rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java b/spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-hystrix/rest-consumer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/consumer/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-hystrix/rest-producer/pom.xml b/spring-cloud-modules/spring-cloud-hystrix/rest-producer/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-producer/pom.xml
rename to spring-cloud-modules/spring-cloud-hystrix/rest-producer/pom.xml
diff --git a/spring-cloud/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/GreetingController.java b/spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/GreetingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/GreetingController.java
rename to spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/GreetingController.java
diff --git a/spring-cloud/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/GreetingControllerImpl.java b/spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/GreetingControllerImpl.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/GreetingControllerImpl.java
rename to spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/GreetingControllerImpl.java
diff --git a/spring-cloud/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/RestProducerApplication.java b/spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/RestProducerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/RestProducerApplication.java
rename to spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/main/java/com/baeldung/spring/cloud/hystrix/rest/producer/RestProducerApplication.java
diff --git a/spring-cloud/spring-cloud-hystrix/rest-producer/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-producer/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-hystrix/rest-producer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/producer/SpringContextTest.java b/spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/producer/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-hystrix/rest-producer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/producer/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-hystrix/rest-producer/src/test/java/com/baeldung/spring/cloud/hystrix/rest/producer/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-kubernetes/README.md b/spring-cloud-modules/spring-cloud-kubernetes/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/README.md
rename to spring-cloud-modules/spring-cloud-kubernetes/README.md
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/.gitignore b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/.gitignore
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/.gitignore
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/Dockerfile b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/Dockerfile
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/Dockerfile
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/Dockerfile
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/client-config.yaml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/client-config.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/client-config.yaml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/client-config.yaml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/client-service-deployment.yaml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/client-service-deployment.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/client-service-deployment.yaml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/client-service-deployment.yaml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/pom.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/pom.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/Application.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/Application.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/Application.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/Application.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/ClientConfig.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/ClientConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/ClientConfig.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/ClientConfig.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/ClientController.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/ClientController.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/ClientController.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/ClientController.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/RibbonConfiguration.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/RibbonConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/RibbonConfiguration.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/RibbonConfiguration.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/TravelAgencyService.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/TravelAgencyService.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/TravelAgencyService.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/java/com/baeldung/spring/cloud/kubernetes/client/TravelAgencyService.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/resources/application.yaml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/resources/application.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/resources/application.yaml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/resources/application.yaml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/client-service/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/client-service/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/deployment-travel-client.sh b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/deployment-travel-client.sh
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/deployment-travel-client.sh
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/deployment-travel-client.sh
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/Dockerfile b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/Dockerfile
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/Dockerfile
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/Dockerfile
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/mongo-deployment.yaml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/mongo-deployment.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/mongo-deployment.yaml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/mongo-deployment.yaml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/pom.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/pom.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/secret.yaml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/secret.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/secret.yaml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/secret.yaml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/Application.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/Application.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/Application.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/Application.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/controller/TravelAgencyController.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/controller/TravelAgencyController.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/controller/TravelAgencyController.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/controller/TravelAgencyController.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/model/TravelDeal.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/model/TravelDeal.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/model/TravelDeal.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/model/TravelDeal.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/repository/TravelDealRepository.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/repository/TravelDealRepository.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/repository/TravelDealRepository.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/java/com/baeldung/spring/cloud/kubernetes/travelagency/repository/TravelDealRepository.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/logback-spring.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/logback-spring.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/logback-spring.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/logback-spring.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/test/java/com/baeldung/spring/cloud/kubernetes/travelagency/SpringContextTest.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/test/java/com/baeldung/spring/cloud/kubernetes/travelagency/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/test/java/com/baeldung/spring/cloud/kubernetes/travelagency/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/src/test/java/com/baeldung/spring/cloud/kubernetes/travelagency/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/travel-agency-deployment.yaml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/travel-agency-deployment.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/travel-agency-deployment.yaml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-guide/travel-agency-service/travel-agency-deployment.yaml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/.gitignore b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/.gitignore
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/.gitignore
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/Dockerfile b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/Dockerfile
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/Dockerfile
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/Dockerfile
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/pom.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/pom.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/java/com/baeldung/spring/cloud/kubernetes/backend/KubernetesBackendApplication.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/java/com/baeldung/spring/cloud/kubernetes/backend/KubernetesBackendApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/java/com/baeldung/spring/cloud/kubernetes/backend/KubernetesBackendApplication.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/java/com/baeldung/spring/cloud/kubernetes/backend/KubernetesBackendApplication.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-backend/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/.gitignore b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/.gitignore
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/.gitignore
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/Dockerfile b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/Dockerfile
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/Dockerfile
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/Dockerfile
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/pom.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/pom.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/java/com/baeldung/spring/cloud/kubernetes/frontend/KubernetesFrontendApplication.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/java/com/baeldung/spring/cloud/kubernetes/frontend/KubernetesFrontendApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/java/com/baeldung/spring/cloud/kubernetes/frontend/KubernetesFrontendApplication.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/java/com/baeldung/spring/cloud/kubernetes/frontend/KubernetesFrontendApplication.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/resources/resources/logback.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/resources/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/demo-frontend/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/object-configurations/backend-deployment.yaml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/object-configurations/backend-deployment.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/object-configurations/backend-deployment.yaml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/object-configurations/backend-deployment.yaml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/object-configurations/frontend-deployment.yaml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/object-configurations/frontend-deployment.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-minikube/object-configurations/frontend-deployment.yaml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-minikube/object-configurations/frontend-deployment.yaml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/Dockerfile b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/Dockerfile
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/Dockerfile
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/Dockerfile
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/pom.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/pom.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/java/com/baeldung/liveness/Application.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/java/com/baeldung/liveness/Application.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/java/com/baeldung/liveness/Application.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/java/com/baeldung/liveness/Application.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/java/com/baeldung/liveness/health/CustomHealthIndicator.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/java/com/baeldung/liveness/health/CustomHealthIndicator.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/java/com/baeldung/liveness/health/CustomHealthIndicator.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/java/com/baeldung/liveness/health/CustomHealthIndicator.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/resources/resources/application.properties b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/resources/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/resources/resources/application.properties
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/resources/resources/application.properties
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/resources/resources/logback.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/resources/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/resources/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/main/resources/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/test/resources/logback-test.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/test/resources/logback-test.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/test/resources/logback-test.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/liveness-example/src/test/resources/logback-test.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/object-configurations/liveness-example-k8s-template.yaml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/object-configurations/liveness-example-k8s-template.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/object-configurations/liveness-example-k8s-template.yaml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/object-configurations/liveness-example-k8s-template.yaml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/object-configurations/readiness-example-k8s-template.yaml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/object-configurations/readiness-example-k8s-template.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/object-configurations/readiness-example-k8s-template.yaml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/object-configurations/readiness-example-k8s-template.yaml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/Dockerfile b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/Dockerfile
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/Dockerfile
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/Dockerfile
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/pom.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/pom.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/java/com/baeldung/readiness/Application.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/java/com/baeldung/readiness/Application.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/java/com/baeldung/readiness/Application.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/java/com/baeldung/readiness/Application.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/java/com/baeldung/readiness/health/CustomHealthIndicator.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/java/com/baeldung/readiness/health/CustomHealthIndicator.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/java/com/baeldung/readiness/health/CustomHealthIndicator.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/java/com/baeldung/readiness/health/CustomHealthIndicator.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/resources/resources/application.properties b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/resources/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/resources/resources/application.properties
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/resources/resources/application.properties
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/resources/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/main/resources/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/test/resources/logback-test.xml b/spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/test/resources/logback-test.xml
similarity index 100%
rename from spring-cloud/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/test/resources/logback-test.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/kubernetes-selfhealing/readiness-example/src/test/resources/logback-test.xml
diff --git a/spring-cloud/spring-cloud-kubernetes/pom.xml b/spring-cloud-modules/spring-cloud-kubernetes/pom.xml
similarity index 96%
rename from spring-cloud/spring-cloud-kubernetes/pom.xml
rename to spring-cloud-modules/spring-cloud-kubernetes/pom.xml
index 698bdce1e5..1131db150a 100644
--- a/spring-cloud/spring-cloud-kubernetes/pom.xml
+++ b/spring-cloud-modules/spring-cloud-kubernetes/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-loadbalancer/README.md b/spring-cloud-modules/spring-cloud-loadbalancer/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/README.md
rename to spring-cloud-modules/spring-cloud-loadbalancer/README.md
diff --git a/spring-cloud/spring-cloud-loadbalancer/pom.xml b/spring-cloud-modules/spring-cloud-loadbalancer/pom.xml
similarity index 96%
rename from spring-cloud/spring-cloud-loadbalancer/pom.xml
rename to spring-cloud-modules/spring-cloud-loadbalancer/pom.xml
index 3b81def641..1a16877427 100644
--- a/spring-cloud/spring-cloud-loadbalancer/pom.xml
+++ b/spring-cloud-modules/spring-cloud-loadbalancer/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.gitignore b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.gitignore
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.gitignore
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/MavenWrapperDownloader.java b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/MavenWrapperDownloader.java
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/MavenWrapperDownloader.java
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/MavenWrapperDownloader.java
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/maven-wrapper.jar b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/maven-wrapper.jar
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/maven-wrapper.jar
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/maven-wrapper.jar
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/maven-wrapper.properties b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/maven-wrapper.properties
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/maven-wrapper.properties
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/.mvn/wrapper/maven-wrapper.properties
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/mvnw b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/mvnw
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/mvnw
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/mvnw
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/mvnw.cmd b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/mvnw.cmd
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/mvnw.cmd
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/mvnw.cmd
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/pom.xml b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/pom.xml
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/pom.xml
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/src/main/java/com/baeldung/spring/cloud/loadbalancer/client/ClientApplication.java b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/src/main/java/com/baeldung/spring/cloud/loadbalancer/client/ClientApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/src/main/java/com/baeldung/spring/cloud/loadbalancer/client/ClientApplication.java
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/src/main/java/com/baeldung/spring/cloud/loadbalancer/client/ClientApplication.java
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-client/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.gitignore b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.gitignore
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.gitignore
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/MavenWrapperDownloader.java b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/MavenWrapperDownloader.java
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/MavenWrapperDownloader.java
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/MavenWrapperDownloader.java
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/maven-wrapper.jar b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/maven-wrapper.jar
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/maven-wrapper.jar
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/maven-wrapper.jar
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/maven-wrapper.properties b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/maven-wrapper.properties
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/maven-wrapper.properties
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/.mvn/wrapper/maven-wrapper.properties
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/mvnw b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/mvnw
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/mvnw
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/mvnw
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/mvnw.cmd b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/mvnw.cmd
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/mvnw.cmd
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/mvnw.cmd
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/pom.xml b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/pom.xml
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/pom.xml
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/src/main/java/com/baeldung/spring/cloud/loadbalancer/server/ServerApplication.java b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/src/main/java/com/baeldung/spring/cloud/loadbalancer/server/ServerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/src/main/java/com/baeldung/spring/cloud/loadbalancer/server/ServerApplication.java
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/src/main/java/com/baeldung/spring/cloud/loadbalancer/server/ServerApplication.java
diff --git a/spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-loadbalancer/spring-cloud-loadbalancer-server/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-netflix-feign/README.md b/spring-cloud-modules/spring-cloud-netflix-feign/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/README.md
rename to spring-cloud-modules/spring-cloud-netflix-feign/README.md
diff --git a/spring-cloud/spring-cloud-netflix-feign/pom.xml b/spring-cloud-modules/spring-cloud-netflix-feign/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/pom.xml
rename to spring-cloud-modules/spring-cloud-netflix-feign/pom.xml
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/ExampleApplication.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/ExampleApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/ExampleApplication.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/ExampleApplication.java
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/client/JSONPlaceHolderClient.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/client/JSONPlaceHolderClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/client/JSONPlaceHolderClient.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/client/JSONPlaceHolderClient.java
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/config/ClientConfiguration.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/config/ClientConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/config/ClientConfiguration.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/config/ClientConfiguration.java
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/config/CustomErrorDecoder.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/config/CustomErrorDecoder.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/config/CustomErrorDecoder.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/config/CustomErrorDecoder.java
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/exception/BadRequestException.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/exception/BadRequestException.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/exception/BadRequestException.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/exception/BadRequestException.java
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/exception/NotFoundException.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/exception/NotFoundException.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/exception/NotFoundException.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/exception/NotFoundException.java
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/hystrix/JSONPlaceHolderFallback.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/hystrix/JSONPlaceHolderFallback.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/hystrix/JSONPlaceHolderFallback.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/hystrix/JSONPlaceHolderFallback.java
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/model/Post.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/model/Post.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/model/Post.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/model/Post.java
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/service/JSONPlaceHolderService.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/service/JSONPlaceHolderService.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/service/JSONPlaceHolderService.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/service/JSONPlaceHolderService.java
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/service/impl/JSONPlaceHolderServiceImpl.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/service/impl/JSONPlaceHolderServiceImpl.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/service/impl/JSONPlaceHolderServiceImpl.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/java/com/baeldung/cloud/netflix/feign/service/impl/JSONPlaceHolderServiceImpl.java
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-netflix-feign/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-netflix-feign/src/test/java/com/baeldung/cloud/netflix/feign/NetflixFeignUnitTest.java b/spring-cloud-modules/spring-cloud-netflix-feign/src/test/java/com/baeldung/cloud/netflix/feign/NetflixFeignUnitTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-netflix-feign/src/test/java/com/baeldung/cloud/netflix/feign/NetflixFeignUnitTest.java
rename to spring-cloud-modules/spring-cloud-netflix-feign/src/test/java/com/baeldung/cloud/netflix/feign/NetflixFeignUnitTest.java
diff --git a/spring-cloud/spring-cloud-open-service-broker/README.md b/spring-cloud-modules/spring-cloud-open-service-broker/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/README.md
rename to spring-cloud-modules/spring-cloud-open-service-broker/README.md
diff --git a/spring-cloud/spring-cloud-open-service-broker/pom.xml b/spring-cloud-modules/spring-cloud-open-service-broker/pom.xml
similarity index 96%
rename from spring-cloud/spring-cloud-open-service-broker/pom.xml
rename to spring-cloud-modules/spring-cloud-open-service-broker/pom.xml
index ca55bc2147..6dcb27773e 100644
--- a/spring-cloud/spring-cloud-open-service-broker/pom.xml
+++ b/spring-cloud-modules/spring-cloud-open-service-broker/pom.xml
@@ -9,7 +9,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/ServiceBrokerApplication.java b/spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/ServiceBrokerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/ServiceBrokerApplication.java
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/ServiceBrokerApplication.java
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/config/CatalogConfiguration.java b/spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/config/CatalogConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/config/CatalogConfiguration.java
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/config/CatalogConfiguration.java
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailController.java b/spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailController.java
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailController.java
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailController.java
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailService.java b/spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailService.java
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailService.java
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailService.java
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailServiceBinding.java b/spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailServiceBinding.java
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailServiceBinding.java
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailServiceBinding.java
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailServiceInstance.java b/spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailServiceInstance.java
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailServiceInstance.java
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/mail/MailServiceInstance.java
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceBindingService.java b/spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceBindingService.java
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceBindingService.java
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceBindingService.java
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceService.java b/spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceService.java
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceService.java
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/main/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceService.java
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-open-service-broker/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/test/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceBindingServiceUnitTest.java b/spring-cloud-modules/spring-cloud-open-service-broker/src/test/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceBindingServiceUnitTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/test/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceBindingServiceUnitTest.java
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/test/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceBindingServiceUnitTest.java
diff --git a/spring-cloud/spring-cloud-open-service-broker/src/test/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceServiceUnitTest.java b/spring-cloud-modules/spring-cloud-open-service-broker/src/test/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceServiceUnitTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-open-service-broker/src/test/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceServiceUnitTest.java
rename to spring-cloud-modules/spring-cloud-open-service-broker/src/test/java/com/baeldung/spring/cloud/openservicebroker/services/MailServiceInstanceServiceUnitTest.java
diff --git a/spring-cloud/spring-cloud-openfeign/README.md b/spring-cloud-modules/spring-cloud-openfeign/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/README.md
rename to spring-cloud-modules/spring-cloud-openfeign/README.md
diff --git a/spring-cloud/spring-cloud-openfeign/pom.xml b/spring-cloud-modules/spring-cloud-openfeign/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/pom.xml
rename to spring-cloud-modules/spring-cloud-openfeign/pom.xml
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/ExampleApplication.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/ExampleApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/ExampleApplication.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/ExampleApplication.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/JSONPlaceHolderClient.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/JSONPlaceHolderClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/JSONPlaceHolderClient.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/JSONPlaceHolderClient.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/PaymentClient.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/PaymentClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/PaymentClient.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/PaymentClient.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/UserClient.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/UserClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/UserClient.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/UserClient.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/ClientConfiguration.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/ClientConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/ClientConfiguration.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/ClientConfiguration.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/CustomErrorDecoder.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/CustomErrorDecoder.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/CustomErrorDecoder.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/CustomErrorDecoder.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/FeignConfig.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/FeignConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/FeignConfig.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/config/FeignConfig.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/controller/PaymentController.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/controller/PaymentController.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/controller/PaymentController.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/controller/PaymentController.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/exception/BadRequestException.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/exception/BadRequestException.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/exception/BadRequestException.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/exception/BadRequestException.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/exception/NotFoundException.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/exception/NotFoundException.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/exception/NotFoundException.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/exception/NotFoundException.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/ExceptionMessage.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/ExceptionMessage.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/ExceptionMessage.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/ExceptionMessage.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/FeignSupportConfig.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/FeignSupportConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/FeignSupportConfig.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/FeignSupportConfig.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/RetreiveMessageErrorDecoder.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/RetreiveMessageErrorDecoder.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/RetreiveMessageErrorDecoder.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/config/RetreiveMessageErrorDecoder.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/controller/FileController.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/controller/FileController.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/controller/FileController.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/controller/FileController.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadClient.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadClient.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadClient.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadResource.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadResource.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadResource.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadResource.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadService.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadService.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadService.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/fileupload/service/UploadService.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/hystrix/JSONPlaceHolderFallback.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/hystrix/JSONPlaceHolderFallback.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/hystrix/JSONPlaceHolderFallback.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/hystrix/JSONPlaceHolderFallback.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Payment.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Payment.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Payment.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Payment.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Post.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Post.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Post.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Post.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuth2WebSecurityConfigurerAdapter.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuth2WebSecurityConfigurerAdapter.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuth2WebSecurityConfigurerAdapter.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuth2WebSecurityConfigurerAdapter.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuthClientCredentialsFeignManager.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuthClientCredentialsFeignManager.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuthClientCredentialsFeignManager.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuthClientCredentialsFeignManager.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuthFeignConfig.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuthFeignConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuthFeignConfig.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/oauthfeign/OAuthFeignConfig.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/service/JSONPlaceHolderService.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/service/JSONPlaceHolderService.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/service/JSONPlaceHolderService.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/service/JSONPlaceHolderService.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/service/impl/JSONPlaceHolderServiceImpl.java b/spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/service/impl/JSONPlaceHolderServiceImpl.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/service/impl/JSONPlaceHolderServiceImpl.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/service/impl/JSONPlaceHolderServiceImpl.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-openfeign/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/resources/fileupload.txt b/spring-cloud-modules/spring-cloud-openfeign/src/main/resources/fileupload.txt
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/main/resources/fileupload.txt
rename to spring-cloud-modules/spring-cloud-openfeign/src/main/resources/fileupload.txt
diff --git a/spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignFileUploadLiveTest.java b/spring-cloud-modules/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignFileUploadLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignFileUploadLiveTest.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignFileUploadLiveTest.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignManualTest.java b/spring-cloud-modules/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignManualTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignManualTest.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignManualTest.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignOAuth2ManualTest.java b/spring-cloud-modules/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignOAuth2ManualTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignOAuth2ManualTest.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/OpenFeignOAuth2ManualTest.java
diff --git a/spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/SpringContextTest.java b/spring-cloud-modules/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-openfeign/src/test/java/com/baeldung/cloud/openfeign/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-rest/.gitignore b/spring-cloud-modules/spring-cloud-rest/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-rest/.gitignore
rename to spring-cloud-modules/spring-cloud-rest/.gitignore
diff --git a/spring-cloud/spring-cloud-rest/README.md b/spring-cloud-modules/spring-cloud-rest/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-rest/README.md
rename to spring-cloud-modules/spring-cloud-rest/README.md
diff --git a/spring-cloud/spring-cloud-rest/application-config/discovery.properties b/spring-cloud-modules/spring-cloud-rest/application-config/discovery.properties
similarity index 100%
rename from spring-cloud/spring-cloud-rest/application-config/discovery.properties
rename to spring-cloud-modules/spring-cloud-rest/application-config/discovery.properties
diff --git a/spring-cloud/spring-cloud-rest/application-config/resource.properties b/spring-cloud-modules/spring-cloud-rest/application-config/resource.properties
similarity index 100%
rename from spring-cloud/spring-cloud-rest/application-config/resource.properties
rename to spring-cloud-modules/spring-cloud-rest/application-config/resource.properties
diff --git a/spring-cloud/spring-cloud-rest/pom.xml b/spring-cloud-modules/spring-cloud-rest/pom.xml
similarity index 96%
rename from spring-cloud/spring-cloud-rest/pom.xml
rename to spring-cloud-modules/spring-cloud-rest/pom.xml
index 8f0b7b8dcc..0b3cda772a 100644
--- a/spring-cloud/spring-cloud-rest/pom.xml
+++ b/spring-cloud-modules/spring-cloud-rest/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/pom.xml b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/pom.xml
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/pom.xml
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/BooksApiApplication.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/BooksApiApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/BooksApiApplication.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/BooksApiApplication.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/SessionConfig.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/SessionConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/SessionConfig.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/SessionConfig.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/persistence/dao/BookRepository.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/persistence/dao/BookRepository.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/persistence/dao/BookRepository.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/persistence/dao/BookRepository.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/persistence/model/Book.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/persistence/model/Book.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/persistence/model/Book.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/java/com/baeldung/persistence/model/Book.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/main/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/BooksApiIntegrationTest.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/BooksApiIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/BooksApiIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/BooksApiIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/RestApiLiveTest.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/RestApiLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/RestApiLiveTest.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/RestApiLiveTest.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/SessionLiveTest.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/SessionLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/SessionLiveTest.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/SessionLiveTest.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/test/java/com/baeldung/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/test/resources/application.properties b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/test/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-books-api/src/test/resources/application.properties
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-books-api/src/test/resources/application.properties
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/.gitignore b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/.gitignore
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/.gitignore
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/pom.xml b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/pom.xml
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/pom.xml
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/main/java/com/baeldung/SpringCloudRestConfigApplication.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/src/main/java/com/baeldung/SpringCloudRestConfigApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/main/java/com/baeldung/SpringCloudRestConfigApplication.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/src/main/java/com/baeldung/SpringCloudRestConfigApplication.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-config-server/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-config-server/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/.gitignore b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/.gitignore
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/.gitignore
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/pom.xml b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/pom.xml
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/pom.xml
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/java/com/baeldung/SessionConfig.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/java/com/baeldung/SessionConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/java/com/baeldung/SessionConfig.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/java/com/baeldung/SessionConfig.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/java/com/baeldung/SpringCloudRestServerApplication.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/java/com/baeldung/SpringCloudRestServerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/java/com/baeldung/SpringCloudRestServerApplication.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/java/com/baeldung/SpringCloudRestServerApplication.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/test/java/com/baeldung/SpringCloudRestServerIntegrationTest.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/test/java/com/baeldung/SpringCloudRestServerIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/test/java/com/baeldung/SpringCloudRestServerIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/test/java/com/baeldung/SpringCloudRestServerIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/test/java/com/baeldung/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/test/java/com/baeldung/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-discovery-server/src/test/java/com/baeldung/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-discovery-server/src/test/java/com/baeldung/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/pom.xml b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/pom.xml
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/pom.xml
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/BookReviewsApiApplication.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/BookReviewsApiApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/BookReviewsApiApplication.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/BookReviewsApiApplication.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/SessionConfig.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/SessionConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/SessionConfig.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/SessionConfig.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/persistence/dao/BookReviewRepository.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/persistence/dao/BookReviewRepository.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/persistence/dao/BookReviewRepository.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/persistence/dao/BookReviewRepository.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/persistence/model/BookReview.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/persistence/model/BookReview.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/persistence/model/BookReview.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/java/com/baeldung/persistence/model/BookReview.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-ribbon-client/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-client/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/BookReviewsApiIntegrationTest.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/BookReviewsApiIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/BookReviewsApiIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/BookReviewsApiIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/RestApiLiveTest.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/RestApiLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/RestApiLiveTest.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/RestApiLiveTest.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/java/com/baeldung/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/resources/application.properties b/spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/resources/application.properties
rename to spring-cloud-modules/spring-cloud-rest/spring-cloud-rest-reviews-api/src/test/resources/application.properties
diff --git a/spring-cloud/spring-cloud-ribbon-client/README.md b/spring-cloud-modules/spring-cloud-ribbon-client/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-client/README.md
rename to spring-cloud-modules/spring-cloud-ribbon-client/README.md
diff --git a/spring-cloud/spring-cloud-ribbon-client/pom.xml b/spring-cloud-modules/spring-cloud-ribbon-client/pom.xml
similarity index 94%
rename from spring-cloud/spring-cloud-ribbon-client/pom.xml
rename to spring-cloud-modules/spring-cloud-ribbon-client/pom.xml
index 3f7d8e9284..b78f6ef5cf 100644
--- a/spring-cloud/spring-cloud-ribbon-client/pom.xml
+++ b/spring-cloud-modules/spring-cloud-ribbon-client/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RestTemplateConfiguration.java b/spring-cloud-modules/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RestTemplateConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RestTemplateConfiguration.java
rename to spring-cloud-modules/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RestTemplateConfiguration.java
diff --git a/spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RibbonConfiguration.java b/spring-cloud-modules/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RibbonConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RibbonConfiguration.java
rename to spring-cloud-modules/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/RibbonConfiguration.java
diff --git a/spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationApp.java b/spring-cloud-modules/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationApp.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationApp.java
rename to spring-cloud-modules/spring-cloud-ribbon-client/src/main/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationApp.java
diff --git a/spring-cloud/spring-cloud-ribbon-client/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-ribbon-client/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-client/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-ribbon-client/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-security/auth-client/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-ribbon-client/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-client/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-ribbon-client/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-ribbon-client/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-ribbon-client/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-client/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-ribbon-client/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationAppIntegrationTest.java b/spring-cloud-modules/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationAppIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationAppIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/ServerLocationAppIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/TestConfig.java b/spring-cloud-modules/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/TestConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/TestConfig.java
rename to spring-cloud-modules/spring-cloud-ribbon-client/src/test/java/com/baeldung/spring/cloud/ribbon/client/TestConfig.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/README.md b/spring-cloud-modules/spring-cloud-ribbon-retry/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/README.md
rename to spring-cloud-modules/spring-cloud-ribbon-retry/README.md
diff --git a/spring-cloud/spring-cloud-ribbon-retry/pom.xml b/spring-cloud-modules/spring-cloud-ribbon-retry/pom.xml
similarity index 96%
rename from spring-cloud/spring-cloud-ribbon-retry/pom.xml
rename to spring-cloud-modules/spring-cloud-ribbon-retry/pom.xml
index f167aaa56e..501dfec7dc 100644
--- a/spring-cloud/spring-cloud-ribbon-retry/pom.xml
+++ b/spring-cloud-modules/spring-cloud-ribbon-retry/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/pom.xml b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/pom.xml
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/pom.xml
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/RibbonClientApp.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/RibbonClientApp.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/RibbonClientApp.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/RibbonClientApp.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/ExponentialBackoffRetryFactory.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/ExponentialBackoffRetryFactory.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/ExponentialBackoffRetryFactory.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/ExponentialBackoffRetryFactory.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/ExponentialRandomBackoffRetryFactory.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/ExponentialRandomBackoffRetryFactory.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/ExponentialRandomBackoffRetryFactory.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/ExponentialRandomBackoffRetryFactory.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/FixedBackoffRetryFactory.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/FixedBackoffRetryFactory.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/FixedBackoffRetryFactory.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/backoff/FixedBackoffRetryFactory.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/config/RibbonConfiguration.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/config/RibbonConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/config/RibbonConfiguration.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/config/RibbonConfiguration.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/config/WeatherClientRibbonConfiguration.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/config/WeatherClientRibbonConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/config/WeatherClientRibbonConfiguration.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/config/WeatherClientRibbonConfiguration.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/controller/RibbonClientController.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/controller/RibbonClientController.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/controller/RibbonClientController.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/controller/RibbonClientController.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/test/java/com/baeldung/spring/cloud/ribbon/retry/RibbonRetryFailureManualTest.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/test/java/com/baeldung/spring/cloud/ribbon/retry/RibbonRetryFailureManualTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/test/java/com/baeldung/spring/cloud/ribbon/retry/RibbonRetryFailureManualTest.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/test/java/com/baeldung/spring/cloud/ribbon/retry/RibbonRetryFailureManualTest.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/test/java/com/baeldung/spring/cloud/ribbon/retry/RibbonRetrySuccessManualTest.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/test/java/com/baeldung/spring/cloud/ribbon/retry/RibbonRetrySuccessManualTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-client-service/src/test/java/com/baeldung/spring/cloud/ribbon/retry/RibbonRetrySuccessManualTest.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-client-service/src/test/java/com/baeldung/spring/cloud/ribbon/retry/RibbonRetrySuccessManualTest.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-weather-service/pom.xml b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-weather-service/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-weather-service/pom.xml
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-weather-service/pom.xml
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/RibbonWeatherServiceApp.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/RibbonWeatherServiceApp.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/RibbonWeatherServiceApp.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/RibbonWeatherServiceApp.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/WeatherController.java b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/WeatherController.java
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/WeatherController.java
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/java/com/baeldung/spring/cloud/ribbon/retry/WeatherController.java
diff --git a/spring-cloud/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-ribbon-retry/ribbon-weather-service/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-security/README.md b/spring-cloud-modules/spring-cloud-security/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-security/README.md
rename to spring-cloud-modules/spring-cloud-security/README.md
diff --git a/spring-cloud/spring-cloud-security/alias.rtf b/spring-cloud-modules/spring-cloud-security/alias.rtf
similarity index 100%
rename from spring-cloud/spring-cloud-security/alias.rtf
rename to spring-cloud-modules/spring-cloud-security/alias.rtf
diff --git a/spring-cloud/spring-cloud-security/auth-client/pom.xml b/spring-cloud-modules/spring-cloud-security/auth-client/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-client/pom.xml
rename to spring-cloud-modules/spring-cloud-security/auth-client/pom.xml
diff --git a/spring-cloud/spring-cloud-security/auth-client/src/main/java/com/baeldung/CloudSite.java b/spring-cloud-modules/spring-cloud-security/auth-client/src/main/java/com/baeldung/CloudSite.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-client/src/main/java/com/baeldung/CloudSite.java
rename to spring-cloud-modules/spring-cloud-security/auth-client/src/main/java/com/baeldung/CloudSite.java
diff --git a/spring-cloud/spring-cloud-security/auth-client/src/main/java/com/baeldung/config/SiteSecurityConfigurer.java b/spring-cloud-modules/spring-cloud-security/auth-client/src/main/java/com/baeldung/config/SiteSecurityConfigurer.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-client/src/main/java/com/baeldung/config/SiteSecurityConfigurer.java
rename to spring-cloud-modules/spring-cloud-security/auth-client/src/main/java/com/baeldung/config/SiteSecurityConfigurer.java
diff --git a/spring-cloud/spring-cloud-security/auth-client/src/main/java/com/baeldung/controller/CloudSiteController.java b/spring-cloud-modules/spring-cloud-security/auth-client/src/main/java/com/baeldung/controller/CloudSiteController.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-client/src/main/java/com/baeldung/controller/CloudSiteController.java
rename to spring-cloud-modules/spring-cloud-security/auth-client/src/main/java/com/baeldung/controller/CloudSiteController.java
diff --git a/spring-cloud/spring-cloud-security/auth-client/src/main/java/com/baeldung/filters/SimpleFilter.java b/spring-cloud-modules/spring-cloud-security/auth-client/src/main/java/com/baeldung/filters/SimpleFilter.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-client/src/main/java/com/baeldung/filters/SimpleFilter.java
rename to spring-cloud-modules/spring-cloud-security/auth-client/src/main/java/com/baeldung/filters/SimpleFilter.java
diff --git a/spring-cloud/spring-cloud-security/auth-client/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-security/auth-client/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-client/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-security/auth-client/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-security/auth-resource/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-security/auth-client/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-resource/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-security/auth-client/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-security/auth-client/src/main/resources/templates/personinfo.html b/spring-cloud-modules/spring-cloud-security/auth-client/src/main/resources/templates/personinfo.html
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-client/src/main/resources/templates/personinfo.html
rename to spring-cloud-modules/spring-cloud-security/auth-client/src/main/resources/templates/personinfo.html
diff --git a/spring-cloud/spring-cloud-security/auth-client/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-security/auth-client/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-client/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-security/auth-client/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-security/auth-client/src/test/java/com/baeldung/example/springoath2/Springoath2ApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-security/auth-client/src/test/java/com/baeldung/example/springoath2/Springoath2ApplicationIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-client/src/test/java/com/baeldung/example/springoath2/Springoath2ApplicationIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-security/auth-client/src/test/java/com/baeldung/example/springoath2/Springoath2ApplicationIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-security/auth-resource/pom.xml b/spring-cloud-modules/spring-cloud-security/auth-resource/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-resource/pom.xml
rename to spring-cloud-modules/spring-cloud-security/auth-resource/pom.xml
diff --git a/spring-cloud/spring-cloud-security/auth-resource/src/main/java/com/baeldung/Application.java b/spring-cloud-modules/spring-cloud-security/auth-resource/src/main/java/com/baeldung/Application.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-resource/src/main/java/com/baeldung/Application.java
rename to spring-cloud-modules/spring-cloud-security/auth-resource/src/main/java/com/baeldung/Application.java
diff --git a/spring-cloud/spring-cloud-security/auth-resource/src/main/java/com/baeldung/config/ResourceConfigurer.java b/spring-cloud-modules/spring-cloud-security/auth-resource/src/main/java/com/baeldung/config/ResourceConfigurer.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-resource/src/main/java/com/baeldung/config/ResourceConfigurer.java
rename to spring-cloud-modules/spring-cloud-security/auth-resource/src/main/java/com/baeldung/config/ResourceConfigurer.java
diff --git a/spring-cloud/spring-cloud-security/auth-resource/src/main/java/com/baeldung/controller/PersonInfoController.java b/spring-cloud-modules/spring-cloud-security/auth-resource/src/main/java/com/baeldung/controller/PersonInfoController.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-resource/src/main/java/com/baeldung/controller/PersonInfoController.java
rename to spring-cloud-modules/spring-cloud-security/auth-resource/src/main/java/com/baeldung/controller/PersonInfoController.java
diff --git a/spring-cloud/spring-cloud-security/auth-resource/src/main/java/com/baeldung/controller/ResourceController.java b/spring-cloud-modules/spring-cloud-security/auth-resource/src/main/java/com/baeldung/controller/ResourceController.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-resource/src/main/java/com/baeldung/controller/ResourceController.java
rename to spring-cloud-modules/spring-cloud-security/auth-resource/src/main/java/com/baeldung/controller/ResourceController.java
diff --git a/spring-cloud/spring-cloud-security/auth-resource/src/main/java/com/baeldung/model/Person.java b/spring-cloud-modules/spring-cloud-security/auth-resource/src/main/java/com/baeldung/model/Person.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-resource/src/main/java/com/baeldung/model/Person.java
rename to spring-cloud-modules/spring-cloud-security/auth-resource/src/main/java/com/baeldung/model/Person.java
diff --git a/spring-cloud/spring-cloud-security/auth-resource/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-security/auth-resource/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-resource/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-security/auth-resource/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-security/auth-server/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-security/auth-resource/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-server/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-security/auth-resource/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-security/auth-resource/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-security/auth-resource/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-resource/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-security/auth-resource/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-security/auth-resource/src/test/java/com/baeldung/service/personservice/PersonserviceApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-security/auth-resource/src/test/java/com/baeldung/service/personservice/PersonserviceApplicationIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-resource/src/test/java/com/baeldung/service/personservice/PersonserviceApplicationIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-security/auth-resource/src/test/java/com/baeldung/service/personservice/PersonserviceApplicationIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-security/auth-server/pom.xml b/spring-cloud-modules/spring-cloud-security/auth-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-server/pom.xml
rename to spring-cloud-modules/spring-cloud-security/auth-server/pom.xml
diff --git a/spring-cloud/spring-cloud-security/auth-server/src/main/java/com/baeldung/AuthServer.java b/spring-cloud-modules/spring-cloud-security/auth-server/src/main/java/com/baeldung/AuthServer.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-server/src/main/java/com/baeldung/AuthServer.java
rename to spring-cloud-modules/spring-cloud-security/auth-server/src/main/java/com/baeldung/AuthServer.java
diff --git a/spring-cloud/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/AuthServerConfigurer.java b/spring-cloud-modules/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/AuthServerConfigurer.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/AuthServerConfigurer.java
rename to spring-cloud-modules/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/AuthServerConfigurer.java
diff --git a/spring-cloud/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/WebMvcConfig.java b/spring-cloud-modules/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/WebMvcConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/WebMvcConfig.java
rename to spring-cloud-modules/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/WebMvcConfig.java
diff --git a/spring-cloud/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/WebSecurityConfigurer.java b/spring-cloud-modules/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/WebSecurityConfigurer.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/WebSecurityConfigurer.java
rename to spring-cloud-modules/spring-cloud-security/auth-server/src/main/java/com/baeldung/config/WebSecurityConfigurer.java
diff --git a/spring-cloud/spring-cloud-security/auth-server/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-security/auth-server/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-server/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-security/auth-server/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-security/auth-server/src/main/resources/certificate/mykeystore.jks b/spring-cloud-modules/spring-cloud-security/auth-server/src/main/resources/certificate/mykeystore.jks
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-server/src/main/resources/certificate/mykeystore.jks
rename to spring-cloud-modules/spring-cloud-security/auth-server/src/main/resources/certificate/mykeystore.jks
diff --git a/spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-security/auth-server/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-security/auth-server/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-security/auth-server/src/main/resources/templates/login.html b/spring-cloud-modules/spring-cloud-security/auth-server/src/main/resources/templates/login.html
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-server/src/main/resources/templates/login.html
rename to spring-cloud-modules/spring-cloud-security/auth-server/src/main/resources/templates/login.html
diff --git a/spring-cloud/spring-cloud-security/auth-server/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-security/auth-server/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-security/auth-server/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-security/auth-server/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-security/mykeystore.jks b/spring-cloud-modules/spring-cloud-security/mykeystore.jks
similarity index 100%
rename from spring-cloud/spring-cloud-security/mykeystore.jks
rename to spring-cloud-modules/spring-cloud-security/mykeystore.jks
diff --git a/spring-cloud/spring-cloud-security/pom.xml b/spring-cloud-modules/spring-cloud-security/pom.xml
similarity index 95%
rename from spring-cloud/spring-cloud-security/pom.xml
rename to spring-cloud-modules/spring-cloud-security/pom.xml
index 001c9a5c7e..43eb6e61e8 100644
--- a/spring-cloud/spring-cloud-security/pom.xml
+++ b/spring-cloud-modules/spring-cloud-security/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-security/pubkey.txt b/spring-cloud-modules/spring-cloud-security/pubkey.txt
similarity index 100%
rename from spring-cloud/spring-cloud-security/pubkey.txt
rename to spring-cloud-modules/spring-cloud-security/pubkey.txt
diff --git a/spring-cloud/spring-cloud-sentinel/README.md b/spring-cloud-modules/spring-cloud-sentinel/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-sentinel/README.md
rename to spring-cloud-modules/spring-cloud-sentinel/README.md
diff --git a/spring-cloud/spring-cloud-sentinel/pom.xml b/spring-cloud-modules/spring-cloud-sentinel/pom.xml
similarity index 95%
rename from spring-cloud/spring-cloud-sentinel/pom.xml
rename to spring-cloud-modules/spring-cloud-sentinel/pom.xml
index f26a13f6f8..bd2630c78d 100644
--- a/spring-cloud/spring-cloud-sentinel/pom.xml
+++ b/spring-cloud-modules/spring-cloud-sentinel/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/SentinelApplication.java b/spring-cloud-modules/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/SentinelApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/SentinelApplication.java
rename to spring-cloud-modules/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/SentinelApplication.java
diff --git a/spring-cloud/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/config/SentinelAspectConfiguration.java b/spring-cloud-modules/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/config/SentinelAspectConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/config/SentinelAspectConfiguration.java
rename to spring-cloud-modules/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/config/SentinelAspectConfiguration.java
diff --git a/spring-cloud/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/controller/GreetingController.java b/spring-cloud-modules/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/controller/GreetingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/controller/GreetingController.java
rename to spring-cloud-modules/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/controller/GreetingController.java
diff --git a/spring-cloud/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/service/GreetingService.java b/spring-cloud-modules/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/service/GreetingService.java
similarity index 100%
rename from spring-cloud/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/service/GreetingService.java
rename to spring-cloud-modules/spring-cloud-sentinel/src/main/java/com/baeldung/spring/cloud/sentinel/service/GreetingService.java
diff --git a/spring-cloud/spring-cloud-stream-starters/README.md b/spring-cloud-modules/spring-cloud-stream-starters/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/README.md
rename to spring-cloud-modules/spring-cloud-stream-starters/README.md
diff --git a/spring-cloud/spring-cloud-stream-starters/bash/hadoop.sh b/spring-cloud-modules/spring-cloud-stream-starters/bash/hadoop.sh
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/bash/hadoop.sh
rename to spring-cloud-modules/spring-cloud-stream-starters/bash/hadoop.sh
diff --git a/spring-cloud/spring-cloud-stream-starters/hdfs/application.properties b/spring-cloud-modules/spring-cloud-stream-starters/hdfs/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/hdfs/application.properties
rename to spring-cloud-modules/spring-cloud-stream-starters/hdfs/application.properties
diff --git a/spring-cloud/spring-cloud-stream-starters/hdfs/hdfs.sh b/spring-cloud-modules/spring-cloud-stream-starters/hdfs/hdfs.sh
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/hdfs/hdfs.sh
rename to spring-cloud-modules/spring-cloud-stream-starters/hdfs/hdfs.sh
diff --git a/spring-cloud/spring-cloud-stream-starters/twitter/application.properties b/spring-cloud-modules/spring-cloud-stream-starters/twitter/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitter/application.properties
rename to spring-cloud-modules/spring-cloud-stream-starters/twitter/application.properties
diff --git a/spring-cloud/spring-cloud-stream-starters/twitter/twitter.sh b/spring-cloud-modules/spring-cloud-stream-starters/twitter/twitter.sh
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitter/twitter.sh
rename to spring-cloud-modules/spring-cloud-stream-starters/twitter/twitter.sh
diff --git a/spring-cloud/spring-cloud-stream-starters/twitterhdfs/.gitignore b/spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitterhdfs/.gitignore
rename to spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/.gitignore
diff --git a/spring-cloud/spring-cloud-stream-starters/twitterhdfs/pom.xml b/spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitterhdfs/pom.xml
rename to spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/pom.xml
diff --git a/spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/aggregate/AggregateApp.java b/spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/aggregate/AggregateApp.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/aggregate/AggregateApp.java
rename to spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/aggregate/AggregateApp.java
diff --git a/spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/processor/ProcessorApp.java b/spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/processor/ProcessorApp.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/processor/ProcessorApp.java
rename to spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/processor/ProcessorApp.java
diff --git a/spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/sink/SinkApp.java b/spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/sink/SinkApp.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/sink/SinkApp.java
rename to spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/sink/SinkApp.java
diff --git a/spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/source/SourceApp.java b/spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/source/SourceApp.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/source/SourceApp.java
rename to spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/java/com/baeldung/twitterhdfs/source/SourceApp.java
diff --git a/spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/test/java/com/baeldung/twitterhdfs/aggregate/SpringContextTest.java b/spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/test/java/com/baeldung/twitterhdfs/aggregate/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream-starters/twitterhdfs/src/test/java/com/baeldung/twitterhdfs/aggregate/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-stream-starters/twitterhdfs/src/test/java/com/baeldung/twitterhdfs/aggregate/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-stream/README.md b/spring-cloud-modules/spring-cloud-stream/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-stream/README.md
rename to spring-cloud-modules/spring-cloud-stream/README.md
diff --git a/spring-cloud/spring-cloud-stream/pom.xml b/spring-cloud-modules/spring-cloud-stream/pom.xml
similarity index 96%
rename from spring-cloud/spring-cloud-stream/pom.xml
rename to spring-cloud-modules/spring-cloud-stream/pom.xml
index 96a7ad012b..1eed9ae8a9 100644
--- a/spring-cloud/spring-cloud-stream/pom.xml
+++ b/spring-cloud-modules/spring-cloud-stream/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/README.md b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/README.md
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/README.md
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/pom.xml b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/pom.xml
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/pom.xml
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/AvroKafkaApplication.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/AvroKafkaApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/AvroKafkaApplication.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/AvroKafkaApplication.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/config/SchemRegistryConfig.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/config/SchemRegistryConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/config/SchemRegistryConfig.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/config/SchemRegistryConfig.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/consumer/AvroConsumer.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/consumer/AvroConsumer.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/consumer/AvroConsumer.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/consumer/AvroConsumer.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/controller/AvroController.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/controller/AvroController.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/controller/AvroController.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/controller/AvroController.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/producer/AvroProducer.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/producer/AvroProducer.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/producer/AvroProducer.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/producer/AvroProducer.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/application.yaml b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/application.yaml
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/application.yaml
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/application.yaml
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/employee-key-schema.avsc b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/employee-key-schema.avsc
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/employee-key-schema.avsc
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/employee-key-schema.avsc
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/employee-schema.avsc b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/employee-schema.avsc
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/employee-schema.avsc
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kafka/src/main/resources/employee-schema.avsc
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kinesis/pom.xml b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kinesis/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kinesis/pom.xml
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kinesis/pom.xml
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kinesis/src/main/java/com/baeldung/KinesisApplication.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kinesis/src/main/java/com/baeldung/KinesisApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kinesis/src/main/java/com/baeldung/KinesisApplication.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kinesis/src/main/java/com/baeldung/KinesisApplication.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kinesis/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kinesis/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kinesis/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kinesis/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kinesis/src/test/java/com/baeldung/KinesisApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kinesis/src/test/java/com/baeldung/KinesisApplicationIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kinesis/src/test/java/com/baeldung/KinesisApplicationIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kinesis/src/test/java/com/baeldung/KinesisApplicationIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kinesis/src/test/resources/application.properties b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kinesis/src/test/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-kinesis/src/test/resources/application.properties
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-kinesis/src/test/resources/application.properties
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/pom.xml b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/pom.xml
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/pom.xml
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsServiceApplication.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsServiceApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsServiceApplication.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsServiceApplication.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsWithConditionsServiceApplication.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsWithConditionsServiceApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsWithConditionsServiceApplication.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsWithConditionsServiceApplication.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MyLoggerServiceApplication.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MyLoggerServiceApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MyLoggerServiceApplication.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/MyLoggerServiceApplication.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/messages/TextPlainMessageConverter.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/messages/TextPlainMessageConverter.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/messages/TextPlainMessageConverter.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/messages/TextPlainMessageConverter.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/model/LogMessage.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/model/LogMessage.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/model/LogMessage.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/model/LogMessage.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/processor/MyProcessor.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/processor/MyProcessor.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/processor/MyProcessor.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/java/com/baeldung/spring/cloud/stream/rabbit/processor/MyProcessor.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsServiceApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsServiceApplicationIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsServiceApplicationIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsServiceApplicationIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsWithConditionsServiceIntegrationTest.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsWithConditionsServiceIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsWithConditionsServiceIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MultipleOutputsWithConditionsServiceIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MyLoggerApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MyLoggerApplicationIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MyLoggerApplicationIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-stream/spring-cloud-stream-rabbit/src/test/java/com/baeldung/spring/cloud/stream/rabbit/MyLoggerApplicationIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-task/README.md b/spring-cloud-modules/spring-cloud-task/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-task/README.md
rename to spring-cloud-modules/spring-cloud-task/README.md
diff --git a/spring-cloud/spring-cloud-task/pom.xml b/spring-cloud-modules/spring-cloud-task/pom.xml
similarity index 96%
rename from spring-cloud/spring-cloud-task/pom.xml
rename to spring-cloud-modules/spring-cloud-task/pom.xml
index e1567b300f..bbe5d6d49d 100644
--- a/spring-cloud/spring-cloud-task/pom.xml
+++ b/spring-cloud-modules/spring-cloud-task/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/.gitignore b/spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/.gitignore
rename to spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/.gitignore
diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/pom.xml b/spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/pom.xml
rename to spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/pom.xml
diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/HelloWorldTaskConfigurer.java b/spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/HelloWorldTaskConfigurer.java
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/HelloWorldTaskConfigurer.java
rename to spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/HelloWorldTaskConfigurer.java
diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/JobConfiguration.java b/spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/JobConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/JobConfiguration.java
rename to spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/JobConfiguration.java
diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskDemo.java b/spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskDemo.java
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskDemo.java
rename to spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskDemo.java
diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskListener.java b/spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskListener.java
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskListener.java
rename to spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskListener.java
diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-task/springcloudtasksink/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtasksink/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/resources/application.yml b/spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/test/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/resources/application.yml
rename to spring-cloud-modules/spring-cloud-task/springcloudtaskbatch/src/test/resources/application.yml
diff --git a/spring-cloud/spring-cloud-task/springcloudtasksink/.gitignore b/spring-cloud-modules/spring-cloud-task/springcloudtasksink/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtasksink/.gitignore
rename to spring-cloud-modules/spring-cloud-task/springcloudtasksink/.gitignore
diff --git a/spring-cloud/spring-cloud-task/springcloudtasksink/pom.xml b/spring-cloud-modules/spring-cloud-task/springcloudtasksink/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtasksink/pom.xml
rename to spring-cloud-modules/spring-cloud-task/springcloudtasksink/pom.xml
diff --git a/spring-cloud/spring-cloud-task/springcloudtasksink/src/main/java/com/baeldung/SpringCloudTaskFinal/SpringCloudTaskSinkApplication.java b/spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/main/java/com/baeldung/SpringCloudTaskFinal/SpringCloudTaskSinkApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtasksink/src/main/java/com/baeldung/SpringCloudTaskFinal/SpringCloudTaskSinkApplication.java
rename to spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/main/java/com/baeldung/SpringCloudTaskFinal/SpringCloudTaskSinkApplication.java
diff --git a/spring-cloud/spring-cloud-task/springcloudtasksink/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtasksink/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-zookeeper/Greeting/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/Greeting/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringCloudTaskFinal/SpringCloudTaskSinkApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringCloudTaskFinal/SpringCloudTaskSinkApplicationIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringCloudTaskFinal/SpringCloudTaskSinkApplicationIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringCloudTaskFinal/SpringCloudTaskSinkApplicationIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringCloudTaskFinal/TaskSinkConfiguration.java b/spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringCloudTaskFinal/TaskSinkConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringCloudTaskFinal/TaskSinkConfiguration.java
rename to spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringCloudTaskFinal/TaskSinkConfiguration.java
diff --git a/spring-cloud/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-task/springcloudtasksink/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-vault/.gitignore b/spring-cloud-modules/spring-cloud-vault/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-vault/.gitignore
rename to spring-cloud-modules/spring-cloud-vault/.gitignore
diff --git a/spring-cloud/spring-cloud-vault/README.md b/spring-cloud-modules/spring-cloud-vault/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-vault/README.md
rename to spring-cloud-modules/spring-cloud-vault/README.md
diff --git a/spring-cloud/spring-cloud-vault/database-setup.sql b/spring-cloud-modules/spring-cloud-vault/database-setup.sql
similarity index 100%
rename from spring-cloud/spring-cloud-vault/database-setup.sql
rename to spring-cloud-modules/spring-cloud-vault/database-setup.sql
diff --git a/spring-cloud/spring-cloud-vault/pom.xml b/spring-cloud-modules/spring-cloud-vault/pom.xml
similarity index 97%
rename from spring-cloud/spring-cloud-vault/pom.xml
rename to spring-cloud-modules/spring-cloud-vault/pom.xml
index f24861ed6e..e4cf020986 100644
--- a/spring-cloud/spring-cloud-vault/pom.xml
+++ b/spring-cloud-modules/spring-cloud-vault/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-vault/sample-policy.hcl b/spring-cloud-modules/spring-cloud-vault/sample-policy.hcl
similarity index 100%
rename from spring-cloud/spring-cloud-vault/sample-policy.hcl
rename to spring-cloud-modules/spring-cloud-vault/sample-policy.hcl
diff --git a/spring-cloud/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/AccountRepo.java b/spring-cloud-modules/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/AccountRepo.java
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/AccountRepo.java
rename to spring-cloud-modules/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/AccountRepo.java
diff --git a/spring-cloud/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/AccountResource.java b/spring-cloud-modules/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/AccountResource.java
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/AccountResource.java
rename to spring-cloud-modules/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/AccountResource.java
diff --git a/spring-cloud/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/SecretResource.java b/spring-cloud-modules/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/SecretResource.java
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/SecretResource.java
rename to spring-cloud-modules/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/SecretResource.java
diff --git a/spring-cloud/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/VaultSampleApplication.java b/spring-cloud-modules/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/VaultSampleApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/VaultSampleApplication.java
rename to spring-cloud-modules/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/VaultSampleApplication.java
diff --git a/spring-cloud/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/domain/Account.java b/spring-cloud-modules/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/domain/Account.java
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/domain/Account.java
rename to spring-cloud-modules/spring-cloud-vault/src/main/java/com/baeldung/spring/cloud/vaultsample/domain/Account.java
diff --git a/spring-cloud/spring-cloud-vault/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-vault/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-vault/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-vault/src/main/resources/vault.jks b/spring-cloud-modules/spring-cloud-vault/src/main/resources/vault.jks
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/main/resources/vault.jks
rename to spring-cloud-modules/spring-cloud-vault/src/main/resources/vault.jks
diff --git a/spring-cloud/spring-cloud-vault/src/test/java/com/baeldung/spring/cloud/vaultsample/SpringContextLiveTest.java b/spring-cloud-modules/spring-cloud-vault/src/test/java/com/baeldung/spring/cloud/vaultsample/SpringContextLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/test/java/com/baeldung/spring/cloud/vaultsample/SpringContextLiveTest.java
rename to spring-cloud-modules/spring-cloud-vault/src/test/java/com/baeldung/spring/cloud/vaultsample/SpringContextLiveTest.java
diff --git a/spring-cloud/spring-cloud-vault/src/test/java/com/baeldung/spring/cloud/vaultsample/VaultSampleApplicationLiveTest.java b/spring-cloud-modules/spring-cloud-vault/src/test/java/com/baeldung/spring/cloud/vaultsample/VaultSampleApplicationLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/test/java/com/baeldung/spring/cloud/vaultsample/VaultSampleApplicationLiveTest.java
rename to spring-cloud-modules/spring-cloud-vault/src/test/java/com/baeldung/spring/cloud/vaultsample/VaultSampleApplicationLiveTest.java
diff --git a/spring-cloud/spring-cloud-vault/src/test/resources/bootstrap.properties b/spring-cloud-modules/spring-cloud-vault/src/test/resources/bootstrap.properties
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/test/resources/bootstrap.properties
rename to spring-cloud-modules/spring-cloud-vault/src/test/resources/bootstrap.properties
diff --git a/spring-cloud/spring-cloud-vault/src/test/resources/vault.jks b/spring-cloud-modules/spring-cloud-vault/src/test/resources/vault.jks
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/test/resources/vault.jks
rename to spring-cloud-modules/spring-cloud-vault/src/test/resources/vault.jks
diff --git a/spring-cloud/spring-cloud-vault/src/test/vault-config/localhost.cert b/spring-cloud-modules/spring-cloud-vault/src/test/vault-config/localhost.cert
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/test/vault-config/localhost.cert
rename to spring-cloud-modules/spring-cloud-vault/src/test/vault-config/localhost.cert
diff --git a/spring-cloud/spring-cloud-vault/src/test/vault-config/localhost.key b/spring-cloud-modules/spring-cloud-vault/src/test/vault-config/localhost.key
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/test/vault-config/localhost.key
rename to spring-cloud-modules/spring-cloud-vault/src/test/vault-config/localhost.key
diff --git a/spring-cloud/spring-cloud-vault/src/test/vault-config/vault-test.hcl b/spring-cloud-modules/spring-cloud-vault/src/test/vault-config/vault-test.hcl
similarity index 100%
rename from spring-cloud/spring-cloud-vault/src/test/vault-config/vault-test.hcl
rename to spring-cloud-modules/spring-cloud-vault/src/test/vault-config/vault-test.hcl
diff --git a/spring-cloud/spring-cloud-vault/vault-cheatsheet.txt b/spring-cloud-modules/spring-cloud-vault/vault-cheatsheet.txt
similarity index 100%
rename from spring-cloud/spring-cloud-vault/vault-cheatsheet.txt
rename to spring-cloud-modules/spring-cloud-vault/vault-cheatsheet.txt
diff --git a/spring-cloud/spring-cloud-vault/vault-env.bat b/spring-cloud-modules/spring-cloud-vault/vault-env.bat
similarity index 100%
rename from spring-cloud/spring-cloud-vault/vault-env.bat
rename to spring-cloud-modules/spring-cloud-vault/vault-env.bat
diff --git a/spring-cloud/spring-cloud-vault/vault-env.sh b/spring-cloud-modules/spring-cloud-vault/vault-env.sh
similarity index 100%
rename from spring-cloud/spring-cloud-vault/vault-env.sh
rename to spring-cloud-modules/spring-cloud-vault/vault-env.sh
diff --git a/spring-cloud/spring-cloud-vault/vault-start.bat b/spring-cloud-modules/spring-cloud-vault/vault-start.bat
similarity index 100%
rename from spring-cloud/spring-cloud-vault/vault-start.bat
rename to spring-cloud-modules/spring-cloud-vault/vault-start.bat
diff --git a/spring-cloud/spring-cloud-vault/vault-start.sh b/spring-cloud-modules/spring-cloud-vault/vault-start.sh
similarity index 100%
rename from spring-cloud/spring-cloud-vault/vault-start.sh
rename to spring-cloud-modules/spring-cloud-vault/vault-start.sh
diff --git a/spring-cloud/spring-cloud-vault/vault-unseal.bat b/spring-cloud-modules/spring-cloud-vault/vault-unseal.bat
similarity index 100%
rename from spring-cloud/spring-cloud-vault/vault-unseal.bat
rename to spring-cloud-modules/spring-cloud-vault/vault-unseal.bat
diff --git a/spring-cloud/spring-cloud-vault/vault-unseal.sh b/spring-cloud-modules/spring-cloud-vault/vault-unseal.sh
similarity index 100%
rename from spring-cloud/spring-cloud-vault/vault-unseal.sh
rename to spring-cloud-modules/spring-cloud-vault/vault-unseal.sh
diff --git a/spring-cloud/spring-cloud-zookeeper/Greeting/pom.xml b/spring-cloud-modules/spring-cloud-zookeeper/Greeting/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/Greeting/pom.xml
rename to spring-cloud-modules/spring-cloud-zookeeper/Greeting/pom.xml
diff --git a/spring-cloud/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/GreetingApplication.java b/spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/GreetingApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/GreetingApplication.java
rename to spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/GreetingApplication.java
diff --git a/spring-cloud/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/GreetingController.java b/spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/GreetingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/GreetingController.java
rename to spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/GreetingController.java
diff --git a/spring-cloud/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/HelloWorldClient.java b/spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/HelloWorldClient.java
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/HelloWorldClient.java
rename to spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/java/com/baeldung/spring/cloud/greeting/HelloWorldClient.java
diff --git a/spring-cloud/spring-cloud-zookeeper/Greeting/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/Greeting/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-zookeeper/HelloWorld/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/HelloWorld/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-zookeeper/Greeting/src/main/resources/templates/greeting-view.html b/spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/resources/templates/greeting-view.html
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/Greeting/src/main/resources/templates/greeting-view.html
rename to spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/main/resources/templates/greeting-view.html
diff --git a/spring-cloud/spring-cloud-zookeeper/Greeting/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/Greeting/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-zookeeper/Greeting/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-zookeeper/HelloWorld/pom.xml b/spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/HelloWorld/pom.xml
rename to spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/pom.xml
diff --git a/spring-cloud/spring-cloud-zookeeper/HelloWorld/src/main/java/com/baeldung/spring/cloud/helloworld/HelloWorldApplication.java b/spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/src/main/java/com/baeldung/spring/cloud/helloworld/HelloWorldApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/HelloWorld/src/main/java/com/baeldung/spring/cloud/helloworld/HelloWorldApplication.java
rename to spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/src/main/java/com/baeldung/spring/cloud/helloworld/HelloWorldApplication.java
diff --git a/spring-cloud/spring-cloud-zookeeper/HelloWorld/src/main/java/com/baeldung/spring/cloud/helloworld/HelloWorldController.java b/spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/src/main/java/com/baeldung/spring/cloud/helloworld/HelloWorldController.java
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/HelloWorld/src/main/java/com/baeldung/spring/cloud/helloworld/HelloWorldController.java
rename to spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/src/main/java/com/baeldung/spring/cloud/helloworld/HelloWorldController.java
diff --git a/spring-cloud/spring-cloud-zookeeper/HelloWorld/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/HelloWorld/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-zookeeper/HelloWorld/src/test/java/com/baeldung/spring/cloud/helloworld/SpringContextTest.java b/spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/src/test/java/com/baeldung/spring/cloud/helloworld/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/HelloWorld/src/test/java/com/baeldung/spring/cloud/helloworld/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-zookeeper/HelloWorld/src/test/java/com/baeldung/spring/cloud/helloworld/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-zookeeper/README.md b/spring-cloud-modules/spring-cloud-zookeeper/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-zookeeper/README.md
rename to spring-cloud-modules/spring-cloud-zookeeper/README.md
diff --git a/spring-cloud/spring-cloud-zookeeper/pom.xml b/spring-cloud-modules/spring-cloud-zookeeper/pom.xml
similarity index 90%
rename from spring-cloud/spring-cloud-zookeeper/pom.xml
rename to spring-cloud-modules/spring-cloud-zookeeper/pom.xml
index 3fb899ec47..a3567adb06 100644
--- a/spring-cloud/spring-cloud-zookeeper/pom.xml
+++ b/spring-cloud-modules/spring-cloud-zookeeper/pom.xml
@@ -9,7 +9,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/README.md b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/README.md
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/README.md
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/pom.xml b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/pom.xml
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/GreetingController.java b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/GreetingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/GreetingController.java
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/GreetingController.java
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-client/src/test/java/com/baeldung/spring/cloud/eureka/client/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/pom.xml b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-server/pom.xml
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-server/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-server/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-server/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-server/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-server/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-server/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/eureka-server/src/test/java/com/baeldung/spring/cloud/eureka/server/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/pom.xml b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/pom.xml
similarity index 94%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/pom.xml
index ceb85fe080..efc3e155bb 100644
--- a/spring-cloud/spring-cloud-zuul-eureka-integration/pom.xml
+++ b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/pom.xml b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/zuul-server/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/zuul-server/pom.xml
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/main/java/com/baeldung/spring/cloud/zuul/config/ZuulConfig.java b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/zuul-server/src/main/java/com/baeldung/spring/cloud/zuul/config/ZuulConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/main/java/com/baeldung/spring/cloud/zuul/config/ZuulConfig.java
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/zuul-server/src/main/java/com/baeldung/spring/cloud/zuul/config/ZuulConfig.java
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/zuul-server/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/zuul-server/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/zuul-server/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/zuul-server/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/test/java/com/baeldung/spring/cloud/zuul/config/SpringContextTest.java b/spring-cloud-modules/spring-cloud-zuul-eureka-integration/zuul-server/src/test/java/com/baeldung/spring/cloud/zuul/config/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-eureka-integration/zuul-server/src/test/java/com/baeldung/spring/cloud/zuul/config/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-zuul-eureka-integration/zuul-server/src/test/java/com/baeldung/spring/cloud/zuul/config/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/README.md b/spring-cloud-modules/spring-cloud-zuul-fallback/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/README.md
rename to spring-cloud-modules/spring-cloud-zuul-fallback/README.md
diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/pom.xml b/spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/api-gateway/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/pom.xml
diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplication.java b/spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplication.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplication.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayClientResponse.java b/spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayClientResponse.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayClientResponse.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayClientResponse.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallback.java b/spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallback.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallback.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallback.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallback.java b/spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallback.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallback.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/main/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallback.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplicationIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplicationIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/ApiGatewayApplicationIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallbackUnitTest.java b/spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallbackUnitTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallbackUnitTest.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/GatewayServiceFallbackUnitTest.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallbackUnitTest.java b/spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallbackUnitTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallbackUnitTest.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/test/java/com/baeldung/spring/cloud/apigateway/fallback/WeatherServiceFallbackUnitTest.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/resources/logback.xml b/spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/test/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/api-gateway/src/test/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-zuul-fallback/api-gateway/src/test/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-zuul-fallback/pom.xml b/spring-cloud-modules/spring-cloud-zuul-fallback/pom.xml
similarity index 93%
rename from spring-cloud/spring-cloud-zuul-fallback/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul-fallback/pom.xml
index d55930c6e8..7cddec48fe 100644
--- a/spring-cloud/spring-cloud-zuul-fallback/pom.xml
+++ b/spring-cloud-modules/spring-cloud-zuul-fallback/pom.xml
@@ -10,7 +10,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
@@ -25,4 +25,4 @@
3.1.1
-
\ No newline at end of file
+
diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/pom.xml b/spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/weather-service/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/pom.xml
diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherController.java b/spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherController.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherController.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherController.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplication.java b/spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplication.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/src/main/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplication.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherControllerIntegrationTest.java b/spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherControllerIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherControllerIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherControllerIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplicationIntegrationTest.java b/spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplicationIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplicationIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-zuul-fallback/weather-service/src/test/java/com/baeldung/spring/cloud/weatherservice/WeatherServiceApplicationIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-zuul/README.md b/spring-cloud-modules/spring-cloud-zuul/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/README.md
rename to spring-cloud-modules/spring-cloud-zuul/README.md
diff --git a/spring-cloud/spring-cloud-zuul/pom.xml b/spring-cloud-modules/spring-cloud-zuul/pom.xml
similarity index 97%
rename from spring-cloud/spring-cloud-zuul/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul/pom.xml
index 7e56a8c359..e99cbdf355 100644
--- a/spring-cloud/spring-cloud-zuul/pom.xml
+++ b/spring-cloud-modules/spring-cloud-zuul/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.spring.cloud
- spring-cloud
+ spring-cloud-modules
1.0.0-SNAPSHOT
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/pom.xml b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/pom.xml
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/config/ResourceServerApplication.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/config/ResourceServerApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/config/ResourceServerApplication.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/config/ResourceServerApplication.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/config/ResourceServerWebConfig.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/config/ResourceServerWebConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/config/ResourceServerWebConfig.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/config/ResourceServerWebConfig.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/web/controller/FooController.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/web/controller/FooController.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/web/controller/FooController.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/web/controller/FooController.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/web/dto/Foo.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/web/dto/Foo.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/web/dto/Foo.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/java/com/baeldung/web/dto/Foo.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/resources/application.properties b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/main/resources/application.properties
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/resources/application.properties
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/main/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-foos-resource/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-foos-resource/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/.gitignore b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/.gitignore
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/.gitignore
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/pom.xml b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/pom.xml
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/ZuulPostFilterApplication.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/ZuulPostFilterApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/ZuulPostFilterApplication.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/ZuulPostFilterApplication.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/controllers/GreetingController.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/controllers/GreetingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/controllers/GreetingController.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/controllers/GreetingController.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/filters/ResponseLogFilter.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/filters/ResponseLogFilter.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/filters/ResponseLogFilter.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/src/main/java/com/baeldung/filters/ResponseLogFilter.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/src/test/java/com/baeldung/ZuulPostFilterLiveTest.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/src/test/java/com/baeldung/ZuulPostFilterLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-post-filter/src/test/java/com/baeldung/ZuulPostFilterLiveTest.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-post-filter/src/test/java/com/baeldung/ZuulPostFilterLiveTest.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/pom.xml b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/pom.xml
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/java/com/baeldung/spring/cloud/zuulratelimitdemo/ZuulRatelimitDemoApplication.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/java/com/baeldung/spring/cloud/zuulratelimitdemo/ZuulRatelimitDemoApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/java/com/baeldung/spring/cloud/zuulratelimitdemo/ZuulRatelimitDemoApplication.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/java/com/baeldung/spring/cloud/zuulratelimitdemo/ZuulRatelimitDemoApplication.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/GreetingController.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/GreetingController.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/GreetingController.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/GreetingController.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/main/resources/application.yml
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/GreetingControllerIntegrationTest.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/GreetingControllerIntegrationTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/GreetingControllerIntegrationTest.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/GreetingControllerIntegrationTest.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/SpringContextTest.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/java/com/baeldung/spring/cloud/zuulratelimitdemo/controller/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/resources/application.properties b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/resources/application.properties
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/resources/application.properties
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/resources/application.properties
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/resources/logback.xml b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/resources/logback.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/resources/logback.xml
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-rate-limiting/src/test/resources/logback.xml
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/README.md b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/README.md
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/README.md
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/README.md
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/pom.xml b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/pom.xml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/pom.xml
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/pom.xml
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/CustomZuulFilter.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/CustomZuulFilter.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/CustomZuulFilter.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/CustomZuulFilter.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/UiApplication.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/UiApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/UiApplication.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/UiApplication.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/UiWebConfig.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/UiWebConfig.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/UiWebConfig.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/config/UiWebConfig.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorApplication.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorApplication.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorApplication.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorApplication.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorFilter.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorFilter.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorFilter.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorFilter.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/ZuulConfiguration.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/ZuulConfiguration.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/ZuulConfiguration.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/java/com/baeldung/spring/cloud/zuul/filter/ZuulConfiguration.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/resources/application.yml b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/resources/application.yml
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/resources/application.yml
diff --git a/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/resources/logback.xml b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/resources/logback.xml
new file mode 100644
index 0000000000..7d900d8ea8
--- /dev/null
+++ b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/resources/logback.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/resources/templates/index.html b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/resources/templates/index.html
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/resources/templates/index.html
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/resources/templates/index.html
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/webapp/resources/angular-utf8-base64.min.js b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/webapp/resources/angular-utf8-base64.min.js
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/main/webapp/resources/angular-utf8-base64.min.js
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/main/webapp/resources/angular-utf8-base64.min.js
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/SpringContextTest.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/SpringContextTest.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorFilterLiveTest.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorFilterLiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorFilterLiveTest.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/spring/cloud/zuul/filter/CustomZuulErrorFilterLiveTest.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/web/LiveTest.java b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/web/LiveTest.java
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/web/LiveTest.java
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/test/java/com/baeldung/web/LiveTest.java
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/test/resources/.gitignore b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/test/resources/.gitignore
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/test/resources/.gitignore
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/test/resources/.gitignore
diff --git a/spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/test/resources/persistence-mysql.properties b/spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/test/resources/persistence-mysql.properties
similarity index 100%
rename from spring-cloud/spring-cloud-zuul/spring-zuul-ui/src/test/resources/persistence-mysql.properties
rename to spring-cloud-modules/spring-cloud-zuul/spring-zuul-ui/src/test/resources/persistence-mysql.properties
diff --git a/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/pom.xml b/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/pom.xml
new file mode 100644
index 0000000000..60b6eab020
--- /dev/null
+++ b/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/pom.xml
@@ -0,0 +1,48 @@
+
+
+ 4.0.0
+ echo-demo
+ echo-demo
+ Demo for echo endpoint
+
+ com.baeldung.cloud
+ spring-cloud-netflix-sidecar
+ 0.0.1-SNAPSHOT
+ ../pom.xml
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-zuul
+ 2.2.10.RELEASE
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-eureka-client
+ 2.2.10.RELEASE
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/src/main/java/com/baeldung/cloud/echo/EchoApplication.java b/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/src/main/java/com/baeldung/cloud/echo/EchoApplication.java
new file mode 100644
index 0000000000..d869ba8f65
--- /dev/null
+++ b/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/src/main/java/com/baeldung/cloud/echo/EchoApplication.java
@@ -0,0 +1,48 @@
+package com.baeldung.cloud.echo;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.ServiceInstance;
+import org.springframework.cloud.client.discovery.DiscoveryClient;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
+import org.springframework.context.annotation.Bean;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.List;
+
+@SpringBootApplication
+@EnableEurekaClient
+@EnableZuulProxy
+@RestController
+public class EchoApplication {
+ @Autowired
+ DiscoveryClient discoveryClient;
+ @Autowired
+ RestTemplate restTemplate;
+
+ @Bean
+ public RestTemplate restTemplate() {
+ return new RestTemplate();
+ }
+
+ @GetMapping("/hello/{me}")
+ public ResponseEntity echo(@PathVariable("me") String me) {
+ List instances = discoveryClient.getInstances("sidecar");
+ if (instances.isEmpty()) {
+ return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).body("hello service is down");
+ }
+ String url = instances.get(0).getUri().toString();
+ return ResponseEntity.ok(restTemplate.getForObject(url + "/hello/" + me, String.class));
+ }
+
+ public static void main(String[] args) {
+ SpringApplication.run(EchoApplication.class, args);
+ }
+}
diff --git a/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/src/main/resources/application.yml b/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/src/main/resources/application.yml
new file mode 100644
index 0000000000..7b13600b73
--- /dev/null
+++ b/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/src/main/resources/application.yml
@@ -0,0 +1,14 @@
+server.port: 8085
+spring:
+ application:
+ name: echo
+eureka:
+ instance:
+ hostname: localhost
+ leaseRenewalIntervalInSeconds: 1
+ leaseExpirationDurationInSeconds: 2
+ client:
+ service-url:
+ defaultZone: http://127.0.0.1:8761/eureka
+ healthcheck:
+ enabled: true
diff --git a/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/src/test/java/com/baeldung/cloud/echo/SpringContextTest.java b/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/src/test/java/com/baeldung/cloud/echo/SpringContextTest.java
new file mode 100644
index 0000000000..af4ba8c71a
--- /dev/null
+++ b/spring-cloud/spring-cloud-netflix-sidecar/echo-demo/src/test/java/com/baeldung/cloud/echo/SpringContextTest.java
@@ -0,0 +1,11 @@
+package com.baeldung.cloud.echo;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+public class SpringContextTest {
+ @Test
+ void contextLoads() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-netflix-sidecar/pom.xml b/spring-cloud/spring-cloud-netflix-sidecar/pom.xml
new file mode 100644
index 0000000000..254a0376b6
--- /dev/null
+++ b/spring-cloud/spring-cloud-netflix-sidecar/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+ com.baeldung.cloud
+ spring-cloud-netflix-sidecar
+ 0.0.1-SNAPSHOT
+ pom
+ spring-cloud-netflix-sidecar
+ Netflix Sidecar project for Spring Boot
+
+
+ com.baeldung
+ parent-boot-2
+ 0.0.1-SNAPSHOT
+ ../../parent-boot-2
+
+
+ sidecar-demo
+ echo-demo
+
+
+ 2.2.10.RELEASE
+ 2.3.12.RELEASE
+
+
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/nodejs/hello.js b/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/nodejs/hello.js
new file mode 100644
index 0000000000..207bd5449b
--- /dev/null
+++ b/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/nodejs/hello.js
@@ -0,0 +1,19 @@
+const express = require('express')
+const app = express()
+const port = 3000
+
+app.get('/', (req, res) => {
+ res.send('Hello World!')
+})
+
+app.get('/health', (req, res) => {
+ res.send({ "status":"UP"})
+})
+
+app.get('/hello/:me', (req, res) => {
+ res.send('Hello ' + req.params.me + '!')
+})
+
+app.listen(port, () => {
+ console.log(`Hello app listening on port ${port}`)
+})
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/pom.xml b/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/pom.xml
new file mode 100644
index 0000000000..22032d5081
--- /dev/null
+++ b/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/pom.xml
@@ -0,0 +1,52 @@
+
+
+ 4.0.0
+ sidecar-demo
+ sidecar-demo
+ Sidecar demo for hello endpoint
+
+ com.baeldung.cloud
+ spring-cloud-netflix-sidecar
+ 0.0.1-SNAPSHOT
+ ../pom.xml
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ org.springframework.cloud
+ spring-cloud-netflix-sidecar
+ ${netflix.cloud.version}
+
+
+ io.projectreactor
+ reactor-core
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ test
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/src/main/java/com/baeldung/cloud/sidecar/SidecarApplication.java b/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/src/main/java/com/baeldung/cloud/sidecar/SidecarApplication.java
new file mode 100644
index 0000000000..83508e73d2
--- /dev/null
+++ b/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/src/main/java/com/baeldung/cloud/sidecar/SidecarApplication.java
@@ -0,0 +1,13 @@
+package com.baeldung.cloud.sidecar;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.netflix.sidecar.EnableSidecar;
+
+@SpringBootApplication
+@EnableSidecar
+public class SidecarApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(SidecarApplication.class, args);
+ }
+}
diff --git a/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/src/main/resources/application.yml b/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/src/main/resources/application.yml
new file mode 100644
index 0000000000..29e03551c2
--- /dev/null
+++ b/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/src/main/resources/application.yml
@@ -0,0 +1,17 @@
+server.port: 8084
+spring:
+ application:
+ name: sidecar
+eureka:
+ instance:
+ hostname: localhost
+ leaseRenewalIntervalInSeconds: 1
+ leaseExpirationDurationInSeconds: 2
+ client:
+ service-url:
+ defaultZone: http://127.0.0.1:8761/eureka
+ healthcheck:
+ enabled: true
+sidecar:
+ port: 3000
+ health-uri: http://localhost:3000/health
diff --git a/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/src/test/java/com/baeldung/cloud/sidecar/SpringContextTest.java b/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/src/test/java/com/baeldung/cloud/sidecar/SpringContextTest.java
new file mode 100644
index 0000000000..66f818d9b8
--- /dev/null
+++ b/spring-cloud/spring-cloud-netflix-sidecar/sidecar-demo/src/test/java/com/baeldung/cloud/sidecar/SpringContextTest.java
@@ -0,0 +1,11 @@
+package com.baeldung.cloud.sidecar;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+public class SpringContextTest {
+ @Test
+ void contextLoads() {
+ }
+}
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/EmployeeClient.java b/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/EmployeeClient.java
new file mode 100644
index 0000000000..569401bdcf
--- /dev/null
+++ b/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/client/EmployeeClient.java
@@ -0,0 +1,12 @@
+package com.baeldung.cloud.openfeign.client;
+
+import com.baeldung.cloud.openfeign.model.Employee;
+import feign.Headers;
+import feign.Param;
+import feign.RequestLine;
+
+public interface EmployeeClient {
+ @RequestLine("GET /empployee/{id}?active={isActive}")
+ @Headers("Content-Type: application/json")
+ Employee getEmployee(@Param long id, @Param boolean isActive);
+}
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/controller/EmployeeController.java b/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/controller/EmployeeController.java
new file mode 100644
index 0000000000..65897ad48e
--- /dev/null
+++ b/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/controller/EmployeeController.java
@@ -0,0 +1,22 @@
+package com.baeldung.cloud.openfeign.controller;
+
+import com.baeldung.cloud.openfeign.client.EmployeeClient;
+import com.baeldung.cloud.openfeign.model.Employee;
+import feign.Feign;
+import feign.form.spring.SpringFormEncoder;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class EmployeeController {
+
+ private static final String HTTP_FILE_EMPLOYEE_URL = "http://localhost:8081";
+
+ @GetMapping("/employee/{id}")
+ public Employee getEmployee(@RequestParam("id") long id) {
+ EmployeeClient employeeResource = Feign.builder().encoder(new SpringFormEncoder())
+ .target(EmployeeClient.class, HTTP_FILE_EMPLOYEE_URL);
+ return employeeResource.getEmployee(id, true);
+ }
+}
diff --git a/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Employee.java b/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Employee.java
new file mode 100644
index 0000000000..7b8ed1232b
--- /dev/null
+++ b/spring-cloud/spring-cloud-openfeign/src/main/java/com/baeldung/cloud/openfeign/model/Employee.java
@@ -0,0 +1,15 @@
+package com.baeldung.cloud.openfeign.model;
+
+public class Employee {
+
+ private Long id;
+ private String name;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+}
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/schema/Employee.java b/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/schema/Employee.java
new file mode 100644
index 0000000000..a805491cea
--- /dev/null
+++ b/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/schema/Employee.java
@@ -0,0 +1,517 @@
+/**
+ * Autogenerated by Avro
+ *
+ * DO NOT EDIT DIRECTLY
+ */
+package com.baeldung.schema;
+
+import org.apache.avro.specific.SpecificData;
+import org.apache.avro.message.BinaryMessageEncoder;
+import org.apache.avro.message.BinaryMessageDecoder;
+import org.apache.avro.message.SchemaStore;
+
+@SuppressWarnings("all")
+@org.apache.avro.specific.AvroGenerated
+public class Employee extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+ private static final long serialVersionUID = 7340575283344282036L;
+ public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"Employee\",\"namespace\":\"com.baeldung.schema\",\"fields\":[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"firstName\",\"type\":\"string\"},{\"name\":\"lastName\",\"type\":\"string\"},{\"name\":\"department\",\"type\":\"string\",\"default\":\"IT \"},{\"name\":\"designation\",\"type\":\"string\",\"default\":\"Software Engineer\"}]}");
+ public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
+
+ private static SpecificData MODEL$ = new SpecificData();
+
+ private static final BinaryMessageEncoder ENCODER =
+ new BinaryMessageEncoder(MODEL$, SCHEMA$);
+
+ private static final BinaryMessageDecoder DECODER =
+ new BinaryMessageDecoder(MODEL$, SCHEMA$);
+
+ /**
+ * Return the BinaryMessageDecoder instance used by this class.
+ */
+ public static BinaryMessageDecoder getDecoder() {
+ return DECODER;
+ }
+
+ /**
+ * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
+ * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
+ */
+ public static BinaryMessageDecoder createDecoder(SchemaStore resolver) {
+ return new BinaryMessageDecoder(MODEL$, SCHEMA$, resolver);
+ }
+
+ /** Serializes this Employee to a ByteBuffer. */
+ public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
+ return ENCODER.encode(this);
+ }
+
+ /** Deserializes a Employee from a ByteBuffer. */
+ public static Employee fromByteBuffer(
+ java.nio.ByteBuffer b) throws java.io.IOException {
+ return DECODER.decode(b);
+ }
+
+ @Deprecated public int id;
+ @Deprecated public java.lang.CharSequence firstName;
+ @Deprecated public java.lang.CharSequence lastName;
+ @Deprecated public java.lang.CharSequence department;
+ @Deprecated public java.lang.CharSequence designation;
+
+ /**
+ * Default constructor. Note that this does not initialize fields
+ * to their default values from the schema. If that is desired then
+ * one should use newBuilder().
+ */
+ public Employee() {}
+
+ /**
+ * All-args constructor.
+ * @param id The new value for id
+ * @param firstName The new value for firstName
+ * @param lastName The new value for lastName
+ * @param department The new value for department
+ * @param designation The new value for designation
+ */
+ public Employee(java.lang.Integer id, java.lang.CharSequence firstName, java.lang.CharSequence lastName, java.lang.CharSequence department, java.lang.CharSequence designation) {
+ this.id = id;
+ this.firstName = firstName;
+ this.lastName = lastName;
+ this.department = department;
+ this.designation = designation;
+ }
+
+ public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+ // Used by DatumWriter. Applications should not call.
+ public java.lang.Object get(int field$) {
+ switch (field$) {
+ case 0: return id;
+ case 1: return firstName;
+ case 2: return lastName;
+ case 3: return department;
+ case 4: return designation;
+ default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+ }
+ }
+
+ // Used by DatumReader. Applications should not call.
+ @SuppressWarnings(value="unchecked")
+ public void put(int field$, java.lang.Object value$) {
+ switch (field$) {
+ case 0: id = (java.lang.Integer)value$; break;
+ case 1: firstName = (java.lang.CharSequence)value$; break;
+ case 2: lastName = (java.lang.CharSequence)value$; break;
+ case 3: department = (java.lang.CharSequence)value$; break;
+ case 4: designation = (java.lang.CharSequence)value$; break;
+ default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+ }
+ }
+
+ /**
+ * Gets the value of the 'id' field.
+ * @return The value of the 'id' field.
+ */
+ public java.lang.Integer getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the 'id' field.
+ * @param value the value to set.
+ */
+ public void setId(java.lang.Integer value) {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the 'firstName' field.
+ * @return The value of the 'firstName' field.
+ */
+ public java.lang.CharSequence getFirstName() {
+ return firstName;
+ }
+
+ /**
+ * Sets the value of the 'firstName' field.
+ * @param value the value to set.
+ */
+ public void setFirstName(java.lang.CharSequence value) {
+ this.firstName = value;
+ }
+
+ /**
+ * Gets the value of the 'lastName' field.
+ * @return The value of the 'lastName' field.
+ */
+ public java.lang.CharSequence getLastName() {
+ return lastName;
+ }
+
+ /**
+ * Sets the value of the 'lastName' field.
+ * @param value the value to set.
+ */
+ public void setLastName(java.lang.CharSequence value) {
+ this.lastName = value;
+ }
+
+ /**
+ * Gets the value of the 'department' field.
+ * @return The value of the 'department' field.
+ */
+ public java.lang.CharSequence getDepartment() {
+ return department;
+ }
+
+ /**
+ * Sets the value of the 'department' field.
+ * @param value the value to set.
+ */
+ public void setDepartment(java.lang.CharSequence value) {
+ this.department = value;
+ }
+
+ /**
+ * Gets the value of the 'designation' field.
+ * @return The value of the 'designation' field.
+ */
+ public java.lang.CharSequence getDesignation() {
+ return designation;
+ }
+
+ /**
+ * Sets the value of the 'designation' field.
+ * @param value the value to set.
+ */
+ public void setDesignation(java.lang.CharSequence value) {
+ this.designation = value;
+ }
+
+ /**
+ * Creates a new Employee RecordBuilder.
+ * @return A new Employee RecordBuilder
+ */
+ public static com.baeldung.schema.Employee.Builder newBuilder() {
+ return new com.baeldung.schema.Employee.Builder();
+ }
+
+ /**
+ * Creates a new Employee RecordBuilder by copying an existing Builder.
+ * @param other The existing builder to copy.
+ * @return A new Employee RecordBuilder
+ */
+ public static com.baeldung.schema.Employee.Builder newBuilder(com.baeldung.schema.Employee.Builder other) {
+ return new com.baeldung.schema.Employee.Builder(other);
+ }
+
+ /**
+ * Creates a new Employee RecordBuilder by copying an existing Employee instance.
+ * @param other The existing instance to copy.
+ * @return A new Employee RecordBuilder
+ */
+ public static com.baeldung.schema.Employee.Builder newBuilder(com.baeldung.schema.Employee other) {
+ return new com.baeldung.schema.Employee.Builder(other);
+ }
+
+ /**
+ * RecordBuilder for Employee instances.
+ */
+ public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase
+ implements org.apache.avro.data.RecordBuilder {
+
+ private int id;
+ private java.lang.CharSequence firstName;
+ private java.lang.CharSequence lastName;
+ private java.lang.CharSequence department;
+ private java.lang.CharSequence designation;
+
+ /** Creates a new Builder */
+ private Builder() {
+ super(SCHEMA$);
+ }
+
+ /**
+ * Creates a Builder by copying an existing Builder.
+ * @param other The existing Builder to copy.
+ */
+ private Builder(com.baeldung.schema.Employee.Builder other) {
+ super(other);
+ if (isValidValue(fields()[0], other.id)) {
+ this.id = data().deepCopy(fields()[0].schema(), other.id);
+ fieldSetFlags()[0] = true;
+ }
+ if (isValidValue(fields()[1], other.firstName)) {
+ this.firstName = data().deepCopy(fields()[1].schema(), other.firstName);
+ fieldSetFlags()[1] = true;
+ }
+ if (isValidValue(fields()[2], other.lastName)) {
+ this.lastName = data().deepCopy(fields()[2].schema(), other.lastName);
+ fieldSetFlags()[2] = true;
+ }
+ if (isValidValue(fields()[3], other.department)) {
+ this.department = data().deepCopy(fields()[3].schema(), other.department);
+ fieldSetFlags()[3] = true;
+ }
+ if (isValidValue(fields()[4], other.designation)) {
+ this.designation = data().deepCopy(fields()[4].schema(), other.designation);
+ fieldSetFlags()[4] = true;
+ }
+ }
+
+ /**
+ * Creates a Builder by copying an existing Employee instance
+ * @param other The existing instance to copy.
+ */
+ private Builder(com.baeldung.schema.Employee other) {
+ super(SCHEMA$);
+ if (isValidValue(fields()[0], other.id)) {
+ this.id = data().deepCopy(fields()[0].schema(), other.id);
+ fieldSetFlags()[0] = true;
+ }
+ if (isValidValue(fields()[1], other.firstName)) {
+ this.firstName = data().deepCopy(fields()[1].schema(), other.firstName);
+ fieldSetFlags()[1] = true;
+ }
+ if (isValidValue(fields()[2], other.lastName)) {
+ this.lastName = data().deepCopy(fields()[2].schema(), other.lastName);
+ fieldSetFlags()[2] = true;
+ }
+ if (isValidValue(fields()[3], other.department)) {
+ this.department = data().deepCopy(fields()[3].schema(), other.department);
+ fieldSetFlags()[3] = true;
+ }
+ if (isValidValue(fields()[4], other.designation)) {
+ this.designation = data().deepCopy(fields()[4].schema(), other.designation);
+ fieldSetFlags()[4] = true;
+ }
+ }
+
+ /**
+ * Gets the value of the 'id' field.
+ * @return The value.
+ */
+ public java.lang.Integer getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the 'id' field.
+ * @param value The value of 'id'.
+ * @return This builder.
+ */
+ public com.baeldung.schema.Employee.Builder setId(int value) {
+ validate(fields()[0], value);
+ this.id = value;
+ fieldSetFlags()[0] = true;
+ return this;
+ }
+
+ /**
+ * Checks whether the 'id' field has been set.
+ * @return True if the 'id' field has been set, false otherwise.
+ */
+ public boolean hasId() {
+ return fieldSetFlags()[0];
+ }
+
+
+ /**
+ * Clears the value of the 'id' field.
+ * @return This builder.
+ */
+ public com.baeldung.schema.Employee.Builder clearId() {
+ fieldSetFlags()[0] = false;
+ return this;
+ }
+
+ /**
+ * Gets the value of the 'firstName' field.
+ * @return The value.
+ */
+ public java.lang.CharSequence getFirstName() {
+ return firstName;
+ }
+
+ /**
+ * Sets the value of the 'firstName' field.
+ * @param value The value of 'firstName'.
+ * @return This builder.
+ */
+ public com.baeldung.schema.Employee.Builder setFirstName(java.lang.CharSequence value) {
+ validate(fields()[1], value);
+ this.firstName = value;
+ fieldSetFlags()[1] = true;
+ return this;
+ }
+
+ /**
+ * Checks whether the 'firstName' field has been set.
+ * @return True if the 'firstName' field has been set, false otherwise.
+ */
+ public boolean hasFirstName() {
+ return fieldSetFlags()[1];
+ }
+
+
+ /**
+ * Clears the value of the 'firstName' field.
+ * @return This builder.
+ */
+ public com.baeldung.schema.Employee.Builder clearFirstName() {
+ firstName = null;
+ fieldSetFlags()[1] = false;
+ return this;
+ }
+
+ /**
+ * Gets the value of the 'lastName' field.
+ * @return The value.
+ */
+ public java.lang.CharSequence getLastName() {
+ return lastName;
+ }
+
+ /**
+ * Sets the value of the 'lastName' field.
+ * @param value The value of 'lastName'.
+ * @return This builder.
+ */
+ public com.baeldung.schema.Employee.Builder setLastName(java.lang.CharSequence value) {
+ validate(fields()[2], value);
+ this.lastName = value;
+ fieldSetFlags()[2] = true;
+ return this;
+ }
+
+ /**
+ * Checks whether the 'lastName' field has been set.
+ * @return True if the 'lastName' field has been set, false otherwise.
+ */
+ public boolean hasLastName() {
+ return fieldSetFlags()[2];
+ }
+
+
+ /**
+ * Clears the value of the 'lastName' field.
+ * @return This builder.
+ */
+ public com.baeldung.schema.Employee.Builder clearLastName() {
+ lastName = null;
+ fieldSetFlags()[2] = false;
+ return this;
+ }
+
+ /**
+ * Gets the value of the 'department' field.
+ * @return The value.
+ */
+ public java.lang.CharSequence getDepartment() {
+ return department;
+ }
+
+ /**
+ * Sets the value of the 'department' field.
+ * @param value The value of 'department'.
+ * @return This builder.
+ */
+ public com.baeldung.schema.Employee.Builder setDepartment(java.lang.CharSequence value) {
+ validate(fields()[3], value);
+ this.department = value;
+ fieldSetFlags()[3] = true;
+ return this;
+ }
+
+ /**
+ * Checks whether the 'department' field has been set.
+ * @return True if the 'department' field has been set, false otherwise.
+ */
+ public boolean hasDepartment() {
+ return fieldSetFlags()[3];
+ }
+
+
+ /**
+ * Clears the value of the 'department' field.
+ * @return This builder.
+ */
+ public com.baeldung.schema.Employee.Builder clearDepartment() {
+ department = null;
+ fieldSetFlags()[3] = false;
+ return this;
+ }
+
+ /**
+ * Gets the value of the 'designation' field.
+ * @return The value.
+ */
+ public java.lang.CharSequence getDesignation() {
+ return designation;
+ }
+
+ /**
+ * Sets the value of the 'designation' field.
+ * @param value The value of 'designation'.
+ * @return This builder.
+ */
+ public com.baeldung.schema.Employee.Builder setDesignation(java.lang.CharSequence value) {
+ validate(fields()[4], value);
+ this.designation = value;
+ fieldSetFlags()[4] = true;
+ return this;
+ }
+
+ /**
+ * Checks whether the 'designation' field has been set.
+ * @return True if the 'designation' field has been set, false otherwise.
+ */
+ public boolean hasDesignation() {
+ return fieldSetFlags()[4];
+ }
+
+
+ /**
+ * Clears the value of the 'designation' field.
+ * @return This builder.
+ */
+ public com.baeldung.schema.Employee.Builder clearDesignation() {
+ designation = null;
+ fieldSetFlags()[4] = false;
+ return this;
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public Employee build() {
+ try {
+ Employee record = new Employee();
+ record.id = fieldSetFlags()[0] ? this.id : (java.lang.Integer) defaultValue(fields()[0]);
+ record.firstName = fieldSetFlags()[1] ? this.firstName : (java.lang.CharSequence) defaultValue(fields()[1]);
+ record.lastName = fieldSetFlags()[2] ? this.lastName : (java.lang.CharSequence) defaultValue(fields()[2]);
+ record.department = fieldSetFlags()[3] ? this.department : (java.lang.CharSequence) defaultValue(fields()[3]);
+ record.designation = fieldSetFlags()[4] ? this.designation : (java.lang.CharSequence) defaultValue(fields()[4]);
+ return record;
+ } catch (java.lang.Exception e) {
+ throw new org.apache.avro.AvroRuntimeException(e);
+ }
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private static final org.apache.avro.io.DatumWriter
+ WRITER$ = (org.apache.avro.io.DatumWriter)MODEL$.createDatumWriter(SCHEMA$);
+
+ @Override public void writeExternal(java.io.ObjectOutput out)
+ throws java.io.IOException {
+ WRITER$.write(this, SpecificData.getEncoder(out));
+ }
+
+ @SuppressWarnings("unchecked")
+ private static final org.apache.avro.io.DatumReader
+ READER$ = (org.apache.avro.io.DatumReader)MODEL$.createDatumReader(SCHEMA$);
+
+ @Override public void readExternal(java.io.ObjectInput in)
+ throws java.io.IOException {
+ READER$.read(this, SpecificData.getDecoder(in));
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/schema/EmployeeKey.java b/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/schema/EmployeeKey.java
new file mode 100644
index 0000000000..bfd87751a4
--- /dev/null
+++ b/spring-cloud/spring-cloud-stream/spring-cloud-stream-kafka/src/main/java/com/baeldung/schema/EmployeeKey.java
@@ -0,0 +1,307 @@
+/**
+ * Autogenerated by Avro
+ *
+ * DO NOT EDIT DIRECTLY
+ */
+package com.baeldung.schema;
+
+import org.apache.avro.specific.SpecificData;
+import org.apache.avro.message.BinaryMessageEncoder;
+import org.apache.avro.message.BinaryMessageDecoder;
+import org.apache.avro.message.SchemaStore;
+
+@SuppressWarnings("all")
+@org.apache.avro.specific.AvroGenerated
+public class EmployeeKey extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+ private static final long serialVersionUID = 5288483459411046896L;
+ public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"EmployeeKey\",\"namespace\":\"com.baeldung.schema\",\"fields\":[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"departmentName\",\"type\":\"string\"}]}");
+ public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
+
+ private static SpecificData MODEL$ = new SpecificData();
+
+ private static final BinaryMessageEncoder ENCODER =
+ new BinaryMessageEncoder(MODEL$, SCHEMA$);
+
+ private static final BinaryMessageDecoder DECODER =
+ new BinaryMessageDecoder(MODEL$, SCHEMA$);
+
+ /**
+ * Return the BinaryMessageDecoder instance used by this class.
+ */
+ public static BinaryMessageDecoder getDecoder() {
+ return DECODER;
+ }
+
+ /**
+ * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
+ * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
+ */
+ public static BinaryMessageDecoder createDecoder(SchemaStore resolver) {
+ return new BinaryMessageDecoder(MODEL$, SCHEMA$, resolver);
+ }
+
+ /** Serializes this EmployeeKey to a ByteBuffer. */
+ public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
+ return ENCODER.encode(this);
+ }
+
+ /** Deserializes a EmployeeKey from a ByteBuffer. */
+ public static EmployeeKey fromByteBuffer(
+ java.nio.ByteBuffer b) throws java.io.IOException {
+ return DECODER.decode(b);
+ }
+
+ @Deprecated public int id;
+ @Deprecated public java.lang.CharSequence departmentName;
+
+ /**
+ * Default constructor. Note that this does not initialize fields
+ * to their default values from the schema. If that is desired then
+ * one should use newBuilder().
+ */
+ public EmployeeKey() {}
+
+ /**
+ * All-args constructor.
+ * @param id The new value for id
+ * @param departmentName The new value for departmentName
+ */
+ public EmployeeKey(java.lang.Integer id, java.lang.CharSequence departmentName) {
+ this.id = id;
+ this.departmentName = departmentName;
+ }
+
+ public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+ // Used by DatumWriter. Applications should not call.
+ public java.lang.Object get(int field$) {
+ switch (field$) {
+ case 0: return id;
+ case 1: return departmentName;
+ default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+ }
+ }
+
+ // Used by DatumReader. Applications should not call.
+ @SuppressWarnings(value="unchecked")
+ public void put(int field$, java.lang.Object value$) {
+ switch (field$) {
+ case 0: id = (java.lang.Integer)value$; break;
+ case 1: departmentName = (java.lang.CharSequence)value$; break;
+ default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+ }
+ }
+
+ /**
+ * Gets the value of the 'id' field.
+ * @return The value of the 'id' field.
+ */
+ public java.lang.Integer getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the 'id' field.
+ * @param value the value to set.
+ */
+ public void setId(java.lang.Integer value) {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the 'departmentName' field.
+ * @return The value of the 'departmentName' field.
+ */
+ public java.lang.CharSequence getDepartmentName() {
+ return departmentName;
+ }
+
+ /**
+ * Sets the value of the 'departmentName' field.
+ * @param value the value to set.
+ */
+ public void setDepartmentName(java.lang.CharSequence value) {
+ this.departmentName = value;
+ }
+
+ /**
+ * Creates a new EmployeeKey RecordBuilder.
+ * @return A new EmployeeKey RecordBuilder
+ */
+ public static com.baeldung.schema.EmployeeKey.Builder newBuilder() {
+ return new com.baeldung.schema.EmployeeKey.Builder();
+ }
+
+ /**
+ * Creates a new EmployeeKey RecordBuilder by copying an existing Builder.
+ * @param other The existing builder to copy.
+ * @return A new EmployeeKey RecordBuilder
+ */
+ public static com.baeldung.schema.EmployeeKey.Builder newBuilder(com.baeldung.schema.EmployeeKey.Builder other) {
+ return new com.baeldung.schema.EmployeeKey.Builder(other);
+ }
+
+ /**
+ * Creates a new EmployeeKey RecordBuilder by copying an existing EmployeeKey instance.
+ * @param other The existing instance to copy.
+ * @return A new EmployeeKey RecordBuilder
+ */
+ public static com.baeldung.schema.EmployeeKey.Builder newBuilder(com.baeldung.schema.EmployeeKey other) {
+ return new com.baeldung.schema.EmployeeKey.Builder(other);
+ }
+
+ /**
+ * RecordBuilder for EmployeeKey instances.
+ */
+ public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase
+ implements org.apache.avro.data.RecordBuilder {
+
+ private int id;
+ private java.lang.CharSequence departmentName;
+
+ /** Creates a new Builder */
+ private Builder() {
+ super(SCHEMA$);
+ }
+
+ /**
+ * Creates a Builder by copying an existing Builder.
+ * @param other The existing Builder to copy.
+ */
+ private Builder(com.baeldung.schema.EmployeeKey.Builder other) {
+ super(other);
+ if (isValidValue(fields()[0], other.id)) {
+ this.id = data().deepCopy(fields()[0].schema(), other.id);
+ fieldSetFlags()[0] = true;
+ }
+ if (isValidValue(fields()[1], other.departmentName)) {
+ this.departmentName = data().deepCopy(fields()[1].schema(), other.departmentName);
+ fieldSetFlags()[1] = true;
+ }
+ }
+
+ /**
+ * Creates a Builder by copying an existing EmployeeKey instance
+ * @param other The existing instance to copy.
+ */
+ private Builder(com.baeldung.schema.EmployeeKey other) {
+ super(SCHEMA$);
+ if (isValidValue(fields()[0], other.id)) {
+ this.id = data().deepCopy(fields()[0].schema(), other.id);
+ fieldSetFlags()[0] = true;
+ }
+ if (isValidValue(fields()[1], other.departmentName)) {
+ this.departmentName = data().deepCopy(fields()[1].schema(), other.departmentName);
+ fieldSetFlags()[1] = true;
+ }
+ }
+
+ /**
+ * Gets the value of the 'id' field.
+ * @return The value.
+ */
+ public java.lang.Integer getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the 'id' field.
+ * @param value The value of 'id'.
+ * @return This builder.
+ */
+ public com.baeldung.schema.EmployeeKey.Builder setId(int value) {
+ validate(fields()[0], value);
+ this.id = value;
+ fieldSetFlags()[0] = true;
+ return this;
+ }
+
+ /**
+ * Checks whether the 'id' field has been set.
+ * @return True if the 'id' field has been set, false otherwise.
+ */
+ public boolean hasId() {
+ return fieldSetFlags()[0];
+ }
+
+
+ /**
+ * Clears the value of the 'id' field.
+ * @return This builder.
+ */
+ public com.baeldung.schema.EmployeeKey.Builder clearId() {
+ fieldSetFlags()[0] = false;
+ return this;
+ }
+
+ /**
+ * Gets the value of the 'departmentName' field.
+ * @return The value.
+ */
+ public java.lang.CharSequence getDepartmentName() {
+ return departmentName;
+ }
+
+ /**
+ * Sets the value of the 'departmentName' field.
+ * @param value The value of 'departmentName'.
+ * @return This builder.
+ */
+ public com.baeldung.schema.EmployeeKey.Builder setDepartmentName(java.lang.CharSequence value) {
+ validate(fields()[1], value);
+ this.departmentName = value;
+ fieldSetFlags()[1] = true;
+ return this;
+ }
+
+ /**
+ * Checks whether the 'departmentName' field has been set.
+ * @return True if the 'departmentName' field has been set, false otherwise.
+ */
+ public boolean hasDepartmentName() {
+ return fieldSetFlags()[1];
+ }
+
+
+ /**
+ * Clears the value of the 'departmentName' field.
+ * @return This builder.
+ */
+ public com.baeldung.schema.EmployeeKey.Builder clearDepartmentName() {
+ departmentName = null;
+ fieldSetFlags()[1] = false;
+ return this;
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public EmployeeKey build() {
+ try {
+ EmployeeKey record = new EmployeeKey();
+ record.id = fieldSetFlags()[0] ? this.id : (java.lang.Integer) defaultValue(fields()[0]);
+ record.departmentName = fieldSetFlags()[1] ? this.departmentName : (java.lang.CharSequence) defaultValue(fields()[1]);
+ return record;
+ } catch (java.lang.Exception e) {
+ throw new org.apache.avro.AvroRuntimeException(e);
+ }
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private static final org.apache.avro.io.DatumWriter
+ WRITER$ = (org.apache.avro.io.DatumWriter)MODEL$.createDatumWriter(SCHEMA$);
+
+ @Override public void writeExternal(java.io.ObjectOutput out)
+ throws java.io.IOException {
+ WRITER$.write(this, SpecificData.getEncoder(out));
+ }
+
+ @SuppressWarnings("unchecked")
+ private static final org.apache.avro.io.DatumReader
+ READER$ = (org.apache.avro.io.DatumReader)MODEL$.createDatumReader(SCHEMA$);
+
+ @Override public void readExternal(java.io.ObjectInput in)
+ throws java.io.IOException {
+ READER$.read(this, SpecificData.getDecoder(in));
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-client/pom.xml b/spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-client/pom.xml
deleted file mode 100644
index 5c9f85d06e..0000000000
--- a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-client/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
- 4.0.0
- eureka-client
- 1.0.0-SNAPSHOT
- eureka-client
- jar
- Spring Cloud Eureka Sample Client
-
-
- com.baeldung.spring.cloud
- spring-cloud-zuul-eureka-integration
- 1.0.0-SNAPSHOT
-
-
-
-
-
- org.springframework.cloud
- spring-cloud-starter-parent
- ${spring-cloud-dependencies.version}
- pom
- import
-
-
-
-
-
-
- org.springframework.cloud
- spring-cloud-starter-eureka
- ${spring-cloud-starter-eureka.version}
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
-
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-client/src/main/resources/application.yml b/spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-client/src/main/resources/application.yml
deleted file mode 100644
index 08624aa159..0000000000
--- a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-client/src/main/resources/application.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-spring:
- application:
- name: spring-cloud-eureka-client
-
-server:
- port: 0
-
-eureka:
- client:
- serviceUrl:
- defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
- instance:
- preferIpAddress: true
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-server/pom.xml b/spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-server/pom.xml
deleted file mode 100644
index 2d2a94d779..0000000000
--- a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/eureka-server/pom.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 4.0.0
- eureka-server
- 1.0.0-SNAPSHOT
- eureka-server
- jar
- Spring Cloud Eureka Server Demo
-
-
- com.baeldung.spring.cloud
- spring-cloud-zuul-eureka-integration
- 1.0.0-SNAPSHOT
-
-
-
-
-
- org.springframework.cloud
- spring-cloud-starter-parent
- ${spring-cloud-dependencies.version}
- pom
- import
-
-
-
-
-
-
- org.springframework.cloud
- spring-cloud-starter-eureka-server
- ${spring-cloud-starter-eureka.version}
-
-
- commons-configuration
- commons-configuration
- ${commons-config.version}
-
-
-
-
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/pom.xml b/spring-cloud/spring-cloud-zuul-eureka-integration/bin/pom.xml
deleted file mode 100644
index 81a4b9202c..0000000000
--- a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/pom.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
- 4.0.0
- spring-cloud-zuul-eureka-integration
- 1.0.0-SNAPSHOT
- Spring Cloud Zuul and Eureka Integration
- pom
- Spring Cloud Zuul and Eureka Integration
-
-
- com.baeldung.spring.cloud
- spring-cloud
- 1.0.0-SNAPSHOT
- ..
-
-
-
- zuul-server
- eureka-server
- eureka-client
-
-
-
- 3.7.0
- 1.4.2.RELEASE
- 1.10
-
-
-
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/zuul-server/pom.xml b/spring-cloud/spring-cloud-zuul-eureka-integration/bin/zuul-server/pom.xml
deleted file mode 100644
index 37fe4815bb..0000000000
--- a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/zuul-server/pom.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
- 4.0.0
- zuul-server
-
-
- com.baeldung.spring.cloud
- spring-cloud-zuul-eureka-integration
- 1.0.0-SNAPSHOT
-
-
-
-
-
- org.springframework.cloud
- spring-cloud-starter-parent
- ${spring-cloud-dependencies.version}
- pom
- import
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.cloud
- spring-cloud-starter-zuul
-
-
- org.springframework.cloud
- spring-cloud-starter-eureka
-
-
- commons-configuration
- commons-configuration
- ${commons-config.version}
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
-
-
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/zuul-server/src/main/resources/application.properties b/spring-cloud/spring-cloud-zuul-eureka-integration/bin/zuul-server/src/main/resources/application.properties
deleted file mode 100644
index cb1dca78c2..0000000000
--- a/spring-cloud/spring-cloud-zuul-eureka-integration/bin/zuul-server/src/main/resources/application.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-server.port=8762
-spring.application.name=zuul-server
-eureka.instance.preferIpAddress=true
-eureka.client.registerWithEureka=true
-eureka.client.fetchRegistry=true
-eureka.serviceurl.defaultzone=http://localhost:8761/eureka/
-management.security.enabled=false
-security.basic.enabled=false
-hystrix.command.default.execution.timeout.enabled=false
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/main/resources/application.yml b/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/main/resources/application.yml
deleted file mode 100644
index 49c3179bb5..0000000000
--- a/spring-cloud/spring-cloud-zuul-eureka-integration/eureka-server/src/main/resources/application.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-server:
- port: 8761
-
-eureka:
- client:
- registerWithEureka: false
- fetchRegistry: false
\ No newline at end of file
diff --git a/spring-kafka/src/main/java/com/baeldung/kafka/embedded/KafkaProducerConsumerApplication.java b/spring-kafka/src/main/java/com/baeldung/kafka/embedded/KafkaProducerConsumerApplication.java
index b4a03a12b0..0b6b7cce8b 100644
--- a/spring-kafka/src/main/java/com/baeldung/kafka/embedded/KafkaProducerConsumerApplication.java
+++ b/spring-kafka/src/main/java/com/baeldung/kafka/embedded/KafkaProducerConsumerApplication.java
@@ -1,7 +1,6 @@
package com.baeldung.kafka.embedded;
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
diff --git a/spring-kafka/src/main/resources/application.properties b/spring-kafka/src/main/resources/application.properties
index e1a983339b..9a614cbafd 100644
--- a/spring-kafka/src/main/resources/application.properties
+++ b/spring-kafka/src/main/resources/application.properties
@@ -13,4 +13,5 @@ monitor.topic.name=baeldung
# monitoring - simulation
monitor.producer.simulate=true
monitor.consumer.simulate=true
-monitor.kafka.consumer.groupid.simulate=baeldungGrpSimulate
\ No newline at end of file
+monitor.kafka.consumer.groupid.simulate=baeldungGrpSimulate
+test.topic=testtopic1
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/ErrorHandlingApplication.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/ErrorHandlingApplication.java
index c40db74003..50579d8721 100644
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/ErrorHandlingApplication.java
+++ b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/ErrorHandlingApplication.java
@@ -3,23 +3,16 @@ package com.baeldung.reactive.errorhandling;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration;
-import org.springframework.context.annotation.Bean;
-import org.springframework.security.config.web.server.ServerHttpSecurity;
-import org.springframework.security.web.server.SecurityWebFilterChain;
+import org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration;
+import org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration;
-@SpringBootApplication(exclude = MongoReactiveAutoConfiguration.class)
+@SpringBootApplication(exclude = {
+ MongoReactiveAutoConfiguration.class,
+ ReactiveSecurityAutoConfiguration.class,
+ ReactiveUserDetailsServiceAutoConfiguration.class })
public class ErrorHandlingApplication {
public static void main(String[] args) {
SpringApplication.run(ErrorHandlingApplication.class, args);
}
-
- @Bean
- public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
- http.authorizeExchange()
- .anyExchange()
- .permitAll();
- http.csrf().disable();
- return http.build();
- }
}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/GlobalErrorAttributes.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/GlobalErrorAttributes.java
index 0a96a8593c..3458a175e4 100644
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/GlobalErrorAttributes.java
+++ b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/GlobalErrorAttributes.java
@@ -9,44 +9,14 @@ import org.springframework.web.reactive.function.server.ServerRequest;
import java.util.Map;
@Component
-public class GlobalErrorAttributes extends DefaultErrorAttributes{
-
- private HttpStatus status = HttpStatus.BAD_REQUEST;
- private String message = "please provide a name";
+public class GlobalErrorAttributes extends DefaultErrorAttributes {
@Override
public Map getErrorAttributes(ServerRequest request, ErrorAttributeOptions options) {
Map map = super.getErrorAttributes(request, options);
- map.put("status", getStatus());
- map.put("message", getMessage());
+ map.put("status", HttpStatus.BAD_REQUEST);
+ map.put("message", "please provide a name");
return map;
}
- /**
- * @return the status
- */
- public HttpStatus getStatus() {
- return status;
- }
-
- /**
- * @param status the status to set
- */
- public void setStatus(HttpStatus status) {
- this.status = status;
- }
-
- /**
- * @return the message
- */
- public String getMessage() {
- return message;
- }
-
- /**
- * @param message the message to set
- */
- public void setMessage(String message) {
- this.message = message;
- }
}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/Handler.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/Handler.java
new file mode 100644
index 0000000000..d49d9b4be2
--- /dev/null
+++ b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/Handler.java
@@ -0,0 +1,67 @@
+package com.baeldung.reactive.errorhandling;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.stereotype.Component;
+import org.springframework.web.reactive.function.server.ServerRequest;
+import org.springframework.web.reactive.function.server.ServerResponse;
+import reactor.core.publisher.Mono;
+
+@Component
+public class Handler {
+
+ public Mono handleWithErrorReturn(ServerRequest request) {
+ return sayHello(request)
+ .onErrorReturn("Hello, Stranger")
+ .flatMap(s -> ServerResponse.ok()
+ .contentType(MediaType.TEXT_PLAIN)
+ .bodyValue(s));
+ }
+
+ public Mono handleWithErrorResumeAndDynamicFallback(ServerRequest request) {
+ return sayHello(request)
+ .flatMap(s -> ServerResponse.ok()
+ .contentType(MediaType.TEXT_PLAIN)
+ .bodyValue(s))
+ .onErrorResume(e -> (Mono.just("Hi, I looked around for your name but found: " + e.getMessage()))
+ .flatMap(s -> ServerResponse.ok()
+ .contentType(MediaType.TEXT_PLAIN)
+ .bodyValue(s)));
+ }
+
+ public Mono handleWithErrorResumeAndFallbackMethod(ServerRequest request) {
+ return sayHello(request)
+ .flatMap(s -> ServerResponse.ok()
+ .contentType(MediaType.TEXT_PLAIN)
+ .bodyValue(s))
+ .onErrorResume(e -> sayHelloFallback()
+ .flatMap(s -> ServerResponse.ok()
+ .contentType(MediaType.TEXT_PLAIN)
+ .bodyValue(s)));
+ }
+
+ public Mono handleWithErrorResumeAndCustomException(ServerRequest request) {
+ return ServerResponse.ok()
+ .body(sayHello(request)
+ .onErrorResume(e -> Mono.error(new NameRequiredException(
+ HttpStatus.BAD_REQUEST,
+ "please provide a name", e))), String.class);
+ }
+
+ public Mono handleWithGlobalErrorHandler(ServerRequest request) {
+ return ServerResponse.ok()
+ .body(sayHello(request), String.class);
+ }
+
+ private Mono sayHello(ServerRequest request) {
+ try {
+ return Mono.just("Hello, " + request.queryParam("name").get());
+ } catch (Exception e) {
+ return Mono.error(e);
+ }
+ }
+
+ private Mono sayHelloFallback() {
+ return Mono.just("Hello, Stranger");
+ }
+}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/Router.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/Router.java
new file mode 100644
index 0000000000..5f130ec035
--- /dev/null
+++ b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/Router.java
@@ -0,0 +1,26 @@
+package com.baeldung.reactive.errorhandling;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+import org.springframework.web.reactive.function.server.RouterFunction;
+import org.springframework.web.reactive.function.server.RouterFunctions;
+import org.springframework.web.reactive.function.server.ServerResponse;
+
+import static org.springframework.http.MediaType.TEXT_PLAIN;
+import static org.springframework.web.reactive.function.server.RequestPredicates.GET;
+import static org.springframework.web.reactive.function.server.RequestPredicates.accept;
+
+@Component
+public class Router {
+
+ @Bean
+ public RouterFunction routes(Handler handler) {
+ return RouterFunctions
+ .route(GET("/api/endpoint1").and(accept(TEXT_PLAIN)), handler::handleWithErrorReturn)
+ .andRoute(GET("/api/endpoint2").and(accept(TEXT_PLAIN)), handler::handleWithErrorResumeAndFallbackMethod)
+ .andRoute(GET("/api/endpoint3").and(accept(TEXT_PLAIN)), handler::handleWithErrorResumeAndDynamicFallback)
+ .andRoute(GET("/api/endpoint4").and(accept(TEXT_PLAIN)), handler::handleWithErrorResumeAndCustomException)
+ .andRoute(GET("/api/endpoint5").and(accept(TEXT_PLAIN)), handler::handleWithGlobalErrorHandler);
+ }
+
+}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler1.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler1.java
deleted file mode 100644
index 32f2f1c3a2..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler1.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.baeldung.reactive.errorhandling.handlers;
-
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.server.ServerRequest;
-import org.springframework.web.reactive.function.server.ServerResponse;
-import reactor.core.publisher.Mono;
-
-@Component
-public class Handler1 {
-
- public Mono handleRequest1(ServerRequest request) {
- return sayHello(request).onErrorReturn("Hello, Stranger")
- .flatMap(s -> ServerResponse.ok()
- .contentType(MediaType.TEXT_PLAIN)
- .bodyValue(s));
- }
-
- private Mono sayHello(ServerRequest request) {
- try {
- return Mono.just("Hello, " + request.queryParam("name")
- .get());
- } catch (Exception e) {
- return Mono.error(e);
- }
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler2.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler2.java
deleted file mode 100644
index 093120c92b..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler2.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.baeldung.reactive.errorhandling.handlers;
-
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.server.ServerRequest;
-import org.springframework.web.reactive.function.server.ServerResponse;
-import reactor.core.publisher.Mono;
-
-@Component
-public class Handler2 {
-
-public Mono handleRequest2(ServerRequest request) {
- return
- sayHello(request)
- .flatMap(s -> ServerResponse.ok()
- .contentType(MediaType.TEXT_PLAIN)
- .bodyValue(s))
- .onErrorResume(e -> sayHelloFallback()
- .flatMap(s -> ServerResponse.ok()
- .contentType(MediaType.TEXT_PLAIN)
- .bodyValue(s)));
-}
-
- private Mono sayHello(ServerRequest request) {
- try {
- return Mono.just("Hello, " + request.queryParam("name")
- .get());
- } catch (Exception e) {
- return Mono.error(e);
- }
- }
-
- private Mono sayHelloFallback() {
- return Mono.just("Hello, Stranger");
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler3.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler3.java
deleted file mode 100644
index 44842e0539..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler3.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.baeldung.reactive.errorhandling.handlers;
-
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.server.ServerRequest;
-import org.springframework.web.reactive.function.server.ServerResponse;
-import reactor.core.publisher.Mono;
-
-@Component
-public class Handler3 {
-
- public Mono handleRequest3(ServerRequest request) {
- return
- sayHello(request)
- .flatMap(s -> ServerResponse.ok()
- .contentType(MediaType.TEXT_PLAIN)
- .bodyValue(s))
- .onErrorResume(e -> (Mono.just("Hi, I looked around for your name but found: " +
- e.getMessage())).flatMap(s -> ServerResponse.ok()
- .contentType(MediaType.TEXT_PLAIN)
- .bodyValue(s)));
- }
-
- private Mono sayHello(ServerRequest request) {
- try {
- return Mono.just("Hello, " + request.queryParam("name")
- .get());
- } catch (Exception e) {
- return Mono.error(e);
- }
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler4.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler4.java
deleted file mode 100644
index 2d391a42a7..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler4.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.baeldung.reactive.errorhandling.handlers;
-
-import com.baeldung.reactive.errorhandling.NameRequiredException;
-import org.springframework.http.HttpStatus;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.server.ServerRequest;
-import org.springframework.web.reactive.function.server.ServerResponse;
-import reactor.core.publisher.Mono;
-
-@Component
-public class Handler4 {
-
-public Mono handleRequest4(ServerRequest request) {
- return ServerResponse.ok()
- .body(sayHello(request)
- .onErrorResume(e ->
- Mono.error(new NameRequiredException(
- HttpStatus.BAD_REQUEST, "please provide a name", e))), String.class);
-}
-
- private Mono sayHello(ServerRequest request) {
- try {
- return Mono.just("Hello, " + request.queryParam("name").get());
- } catch (Exception e) {
- return Mono.error(e);
- }
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler5.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler5.java
deleted file mode 100644
index a466982865..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/handlers/Handler5.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.baeldung.reactive.errorhandling.handlers;
-
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.server.ServerRequest;
-import org.springframework.web.reactive.function.server.ServerResponse;
-import reactor.core.publisher.Mono;
-
-@Component
-public class Handler5 {
-
- public Mono handleRequest5(ServerRequest request) {
- return ServerResponse.ok()
- .body(sayHello(request), String.class);
-
- }
-
- private Mono sayHello(ServerRequest request) {
- return Mono.just("Hello, " + request.queryParam("name").get());
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router1.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router1.java
deleted file mode 100644
index caf779b456..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router1.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.baeldung.reactive.errorhandling.routers;
-
-import com.baeldung.reactive.errorhandling.handlers.Handler1;
-import org.springframework.context.annotation.Bean;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.server.RequestPredicates;
-import org.springframework.web.reactive.function.server.RouterFunction;
-import org.springframework.web.reactive.function.server.RouterFunctions;
-import org.springframework.web.reactive.function.server.ServerResponse;
-
-@Component
-public class Router1 {
-
- @Bean
- public RouterFunction routeRequest1(Handler1 handler) {
- return RouterFunctions.route(RequestPredicates.GET("/api/endpoint1")
- .and(RequestPredicates.accept(MediaType.TEXT_PLAIN)), handler::handleRequest1);
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router2.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router2.java
deleted file mode 100644
index b965257c30..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router2.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.baeldung.reactive.errorhandling.routers;
-
-import com.baeldung.reactive.errorhandling.handlers.Handler2;
-import org.springframework.context.annotation.Bean;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.server.RequestPredicates;
-import org.springframework.web.reactive.function.server.RouterFunction;
-import org.springframework.web.reactive.function.server.RouterFunctions;
-import org.springframework.web.reactive.function.server.ServerResponse;
-
-@Component
-public class Router2 {
-
- @Bean
- public RouterFunction routeRequest2(Handler2 handler) {
- return RouterFunctions.route(RequestPredicates.GET("/api/endpoint2")
- .and(RequestPredicates.accept(MediaType.TEXT_PLAIN)), handler::handleRequest2);
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router3.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router3.java
deleted file mode 100644
index b8f7f983cc..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router3.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.baeldung.reactive.errorhandling.routers;
-
-import com.baeldung.reactive.errorhandling.handlers.Handler3;
-import org.springframework.context.annotation.Bean;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.server.RequestPredicates;
-import org.springframework.web.reactive.function.server.RouterFunction;
-import org.springframework.web.reactive.function.server.RouterFunctions;
-import org.springframework.web.reactive.function.server.ServerResponse;
-
-@Component
-public class Router3 {
-
- @Bean
- public RouterFunction routeRequest3(Handler3 handler) {
- return RouterFunctions.route(RequestPredicates.GET("/api/endpoint3")
- .and(RequestPredicates.accept(MediaType.TEXT_PLAIN)), handler::handleRequest3);
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router4.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router4.java
deleted file mode 100644
index 03c65fec67..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router4.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.baeldung.reactive.errorhandling.routers;
-
-import com.baeldung.reactive.errorhandling.handlers.Handler4;
-import org.springframework.context.annotation.Bean;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.server.RequestPredicates;
-import org.springframework.web.reactive.function.server.RouterFunction;
-import org.springframework.web.reactive.function.server.RouterFunctions;
-import org.springframework.web.reactive.function.server.ServerResponse;
-
-@Component
-public class Router4 {
-
- @Bean
- public RouterFunction routeRequest4(Handler4 handler) {
- return RouterFunctions.route(RequestPredicates.GET("/api/endpoint4")
- .and(RequestPredicates.accept(MediaType.TEXT_PLAIN)), handler::handleRequest4);
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router5.java b/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router5.java
deleted file mode 100644
index c68e04659f..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/routers/Router5.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.baeldung.reactive.errorhandling.routers;
-
-import com.baeldung.reactive.errorhandling.handlers.Handler5;
-import org.springframework.context.annotation.Bean;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.server.RequestPredicates;
-import org.springframework.web.reactive.function.server.RouterFunction;
-import org.springframework.web.reactive.function.server.RouterFunctions;
-import org.springframework.web.reactive.function.server.ServerResponse;
-
-@Component
-public class Router5 {
-
- @Bean
- public RouterFunction routeRequest5(Handler5 handler) {
- return RouterFunctions.route(RequestPredicates.GET("/api/endpoint5")
- .and(RequestPredicates.accept(MediaType.TEXT_PLAIN)), handler::handleRequest5);
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/security/GreetController.java b/spring-reactive/src/main/java/com/baeldung/reactive/security/GreetController.java
deleted file mode 100644
index 99b79d88ea..0000000000
--- a/spring-reactive/src/main/java/com/baeldung/reactive/security/GreetController.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.baeldung.reactive.security;
-
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
-import reactor.core.publisher.Mono;
-
-import java.security.Principal;
-
-@RestController
-public class GreetController {
-
- private GreetService greetService;
-
- public GreetController(GreetService greetService) {
- this.greetService = greetService;
- }
-
- @GetMapping("/")
- public Mono greet(Mono principal) {
- return principal
- .map(Principal::getName)
- .map(name -> String.format("Hello, %s", name));
- }
-
- @GetMapping("/admin")
- public Mono greetAdmin(Mono principal) {
- return principal
- .map(Principal::getName)
- .map(name -> String.format("Admin access: %s", name));
- }
-
- @GetMapping("/greetService")
- public Mono greetService() {
- return greetService.greet();
- }
-
-}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/security/GreetingController.java b/spring-reactive/src/main/java/com/baeldung/reactive/security/GreetingController.java
new file mode 100644
index 0000000000..10d6cf4df7
--- /dev/null
+++ b/spring-reactive/src/main/java/com/baeldung/reactive/security/GreetingController.java
@@ -0,0 +1,37 @@
+package com.baeldung.reactive.security;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+import reactor.core.publisher.Mono;
+
+import java.security.Principal;
+
+@RestController
+public class GreetingController {
+
+ private final GreetingService greetingService;
+
+ public GreetingController(GreetingService greetingService) {
+ this.greetingService = greetingService;
+ }
+
+ @GetMapping("/")
+ public Mono greet(Mono principal) {
+ return principal
+ .map(Principal::getName)
+ .map(name -> String.format("Hello, %s", name));
+ }
+
+ @GetMapping("/admin")
+ public Mono greetAdmin(Mono principal) {
+ return principal
+ .map(Principal::getName)
+ .map(name -> String.format("Admin access: %s", name));
+ }
+
+ @GetMapping("/greetingService")
+ public Mono greetingService() {
+ return greetingService.greet();
+ }
+
+}
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/security/GreetService.java b/spring-reactive/src/main/java/com/baeldung/reactive/security/GreetingService.java
similarity index 91%
rename from spring-reactive/src/main/java/com/baeldung/reactive/security/GreetService.java
rename to spring-reactive/src/main/java/com/baeldung/reactive/security/GreetingService.java
index 93df64bced..b512f12bae 100644
--- a/spring-reactive/src/main/java/com/baeldung/reactive/security/GreetService.java
+++ b/spring-reactive/src/main/java/com/baeldung/reactive/security/GreetingService.java
@@ -5,7 +5,7 @@ import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
@Service
-public class GreetService {
+public class GreetingService {
@PreAuthorize("hasRole('ADMIN')")
public Mono greet() {
diff --git a/spring-reactive/src/main/java/com/baeldung/reactive/security/SecurityConfig.java b/spring-reactive/src/main/java/com/baeldung/reactive/security/SecurityConfig.java
index bb2f2d50e1..67e54ad26a 100644
--- a/spring-reactive/src/main/java/com/baeldung/reactive/security/SecurityConfig.java
+++ b/spring-reactive/src/main/java/com/baeldung/reactive/security/SecurityConfig.java
@@ -16,40 +16,37 @@ import org.springframework.security.web.server.SecurityWebFilterChain;
public class SecurityConfig {
@Bean
- public SecurityWebFilterChain securitygWebFilterChain(ServerHttpSecurity http) {
+ public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
return http.authorizeExchange()
- .pathMatchers("/admin")
- .hasAuthority("ROLE_ADMIN")
- .anyExchange()
- .authenticated()
- .and()
- .formLogin()
- .and()
- .csrf()
- .disable()
- .build();
+ .pathMatchers("/admin").hasAuthority("ROLE_ADMIN")
+ .anyExchange().authenticated()
+ .and()
+ .formLogin()
+ .and()
+ .csrf().disable()
+ .build();
}
@Bean
public MapReactiveUserDetailsService userDetailsService() {
UserDetails user = User
- .withUsername("user")
- .password(passwordEncoder().encode("password"))
- .roles("USER")
- .build();
+ .withUsername("user")
+ .password(passwordEncoder().encode("password"))
+ .roles("USER")
+ .build();
UserDetails admin = User
- .withUsername("admin")
- .password(passwordEncoder().encode("password"))
- .roles("ADMIN")
- .build();
+ .withUsername("admin")
+ .password(passwordEncoder().encode("password"))
+ .roles("ADMIN")
+ .build();
return new MapReactiveUserDetailsService(user, admin);
}
-
+
@Bean
public PasswordEncoder passwordEncoder() {
- return new BCryptPasswordEncoder();
+ return new BCryptPasswordEncoder();
}
}
diff --git a/spring-reactive/src/test/java/com/baeldung/reactive/errorhandling/ErrorHandlingIntegrationTest.java b/spring-reactive/src/test/java/com/baeldung/reactive/errorhandling/ErrorHandlingIntegrationTest.java
index 1167792542..bbcab179eb 100644
--- a/spring-reactive/src/test/java/com/baeldung/reactive/errorhandling/ErrorHandlingIntegrationTest.java
+++ b/spring-reactive/src/test/java/com/baeldung/reactive/errorhandling/ErrorHandlingIntegrationTest.java
@@ -7,19 +7,13 @@ import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWeb
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.http.MediaType;
-import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.reactive.server.WebTestClient;
-import java.io.IOException;
-
-import static org.junit.Assert.assertEquals;
-
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@DirtiesContext
-@WithMockUser
@AutoConfigureWebTestClient(timeout = "10000")
public class ErrorHandlingIntegrationTest {
@@ -27,150 +21,107 @@ public class ErrorHandlingIntegrationTest {
private WebTestClient webTestClient;
@Test
- public void givenErrorReturn_whenUsernamePresent_thenOk() throws IOException {
-
- String s = webTestClient.get()
- .uri("/api/endpoint1?name={username}", "Tony")
- .accept(MediaType.TEXT_PLAIN)
- .exchange()
- .returnResult(String.class)
- .getResponseBody()
- .blockFirst();
-
- assertEquals("Hello, Tony", s);
-
- }
-
- @Test
- public void givenErrorReturn_whenNoUsername_thenOk() throws IOException {
-
- String s = webTestClient.get()
- .uri("/api/endpoint1")
- .accept(MediaType.TEXT_PLAIN)
- .exchange()
- .returnResult(String.class)
- .getResponseBody()
- .blockFirst();
-
- assertEquals("Hello, Stranger", s);
- }
-
- @Test
- public void givenResumeFallback_whenUsernamePresent_thenOk() throws IOException {
-
- String s = webTestClient.get()
- .uri("/api/endpoint2?name={username}", "Tony")
- .accept(MediaType.TEXT_PLAIN)
- .exchange()
- .returnResult(String.class)
- .getResponseBody()
- .blockFirst();
-
- assertEquals("Hello, Tony", s);
- }
-
- @Test
- public void givenResumeFallback_whenNoUsername_thenOk() throws IOException {
- String s = webTestClient.get()
- .uri("/api/endpoint2")
- .accept(MediaType.TEXT_PLAIN)
- .exchange()
- .returnResult(String.class)
- .getResponseBody()
- .blockFirst();
-
- assertEquals("Hello, Stranger", s);
-
- }
-
- @Test
- public void givenResumeDynamicValue_whenUsernamePresent_thenOk() throws IOException {
-
- String s = webTestClient.get()
- .uri("/api/endpoint3?name={username}", "Tony")
- .accept(MediaType.TEXT_PLAIN)
- .exchange()
- .returnResult(String.class)
- .getResponseBody()
- .blockFirst();
-
- assertEquals("Hello, Tony", s);
- }
-
- @Test
- public void givenResumeDynamicValue_whenNoUsername_thenOk() throws IOException {
- String s = webTestClient.get()
- .uri("/api/endpoint3")
- .accept(MediaType.TEXT_PLAIN)
- .exchange()
- .returnResult(String.class)
- .getResponseBody()
- .blockFirst();
-
- assertEquals("Hi, I looked around for your name but found: No value present", s);
- }
-
- @Test
- public void givenResumeRethrow_whenUsernamePresent_thenOk() throws IOException {
- String s = webTestClient.get()
- .uri("/api/endpoint4?name={username}", "Tony")
- .accept(MediaType.TEXT_PLAIN)
- .exchange()
- .returnResult(String.class)
- .getResponseBody()
- .blockFirst();
-
- assertEquals("Hello, Tony", s);
- }
-
- @Test
- public void givenResumeRethrow_whenNoUsername_thenOk() throws IOException {
+ public void givenErrorReturn_whenUsernamePresent_thenOk() {
webTestClient.get()
- .uri("/api/endpoint4")
- .accept(MediaType.TEXT_PLAIN)
- .exchange()
- .expectStatus()
- .isBadRequest()
- .expectHeader()
- .contentType(MediaType.APPLICATION_JSON)
- .expectBody()
- .jsonPath("$.message")
- .isNotEmpty()
- .jsonPath("$.message")
- .isEqualTo("please provide a name");
+ .uri("/api/endpoint1?name={username}", "Tony")
+ .accept(MediaType.TEXT_PLAIN)
+ .exchange()
+ .expectBody(String.class).isEqualTo("Hello, Tony");
}
@Test
- public void givenGlobalErrorHandling_whenUsernamePresent_thenOk() throws IOException {
+ public void givenErrorReturn_whenNoUsername_thenOk() {
- String s = webTestClient.get()
- .uri("/api/endpoint5?name={username}", "Tony")
- .accept(MediaType.TEXT_PLAIN)
- .exchange()
- .returnResult(String.class)
- .getResponseBody()
- .blockFirst();
-
- assertEquals("Hello, Tony", s);
- }
-
- @Test
- public void givenGlobalErrorHandling_whenNoUsername_thenOk() throws IOException {
webTestClient.get()
- .uri("/api/endpoint5")
- .accept(MediaType.TEXT_PLAIN)
- .exchange()
- .expectStatus()
- .isBadRequest()
- .expectHeader()
- .contentType(MediaType.APPLICATION_JSON)
- .expectBody()
- .jsonPath("$.message")
- .isNotEmpty()
- .jsonPath("$.message")
- .isEqualTo("please provide a name");
+ .uri("/api/endpoint1")
+ .accept(MediaType.TEXT_PLAIN)
+ .exchange()
+ .expectBody(String.class).isEqualTo("Hello, Stranger");
+ }
+ @Test
+ public void givenResumeFallback_whenUsernamePresent_thenOk() {
+
+ webTestClient.get()
+ .uri("/api/endpoint2?name={username}", "Tony")
+ .accept(MediaType.TEXT_PLAIN)
+ .exchange()
+ .expectBody(String.class).isEqualTo("Hello, Tony");
+ }
+
+ @Test
+ public void givenResumeFallback_whenNoUsername_thenOk() {
+
+ webTestClient.get()
+ .uri("/api/endpoint2")
+ .accept(MediaType.TEXT_PLAIN)
+ .exchange()
+ .expectBody(String.class).isEqualTo("Hello, Stranger");
+ }
+
+ @Test
+ public void givenResumeDynamicValue_whenUsernamePresent_thenOk() {
+
+ webTestClient.get()
+ .uri("/api/endpoint3?name={username}", "Tony")
+ .accept(MediaType.TEXT_PLAIN)
+ .exchange()
+ .expectBody(String.class).isEqualTo("Hello, Tony");
+ }
+
+ @Test
+ public void givenResumeDynamicValue_whenNoUsername_thenOk() {
+
+ webTestClient.get()
+ .uri("/api/endpoint3")
+ .accept(MediaType.TEXT_PLAIN)
+ .exchange()
+ .expectBody(String.class).isEqualTo("Hi, I looked around for your name but found: No value present");
+ }
+
+ @Test
+ public void givenResumeRethrow_whenUsernamePresent_thenOk() {
+
+ webTestClient.get()
+ .uri("/api/endpoint4?name={username}", "Tony")
+ .accept(MediaType.TEXT_PLAIN)
+ .exchange()
+ .expectBody(String.class).isEqualTo("Hello, Tony");
+ }
+
+ @Test
+ public void givenResumeRethrow_whenNoUsername_thenOk() {
+
+ webTestClient.get()
+ .uri("/api/endpoint4")
+ .accept(MediaType.TEXT_PLAIN)
+ .exchange()
+ .expectStatus().isBadRequest()
+ .expectHeader().contentType(MediaType.APPLICATION_JSON)
+ .expectBody().jsonPath("$.message").isEqualTo("please provide a name");
+ }
+
+ @Test
+ public void givenGlobalErrorHandling_whenUsernamePresent_thenOk() {
+
+ webTestClient.get()
+ .uri("/api/endpoint5?name={username}", "Tony")
+ .accept(MediaType.TEXT_PLAIN)
+ .exchange()
+ .expectBody(String.class).isEqualTo("Hello, Tony");
+ }
+
+ @Test
+ public void givenGlobalErrorHandling_whenNoUsername_thenOk() {
+
+ webTestClient.get()
+ .uri("/api/endpoint5")
+ .accept(MediaType.TEXT_PLAIN)
+ .exchange()
+ .expectStatus().isBadRequest()
+ .expectHeader().contentType(MediaType.APPLICATION_JSON)
+ .expectBody().jsonPath("$.message").isEqualTo("please provide a name");
}
}
diff --git a/spring-reactive/src/test/java/com/baeldung/reactive/security/SecurityIntegrationTest.java b/spring-reactive/src/test/java/com/baeldung/reactive/security/SecurityIntegrationTest.java
index 06644fbf77..0ef828df5a 100644
--- a/spring-reactive/src/test/java/com/baeldung/reactive/security/SecurityIntegrationTest.java
+++ b/spring-reactive/src/test/java/com/baeldung/reactive/security/SecurityIntegrationTest.java
@@ -15,23 +15,32 @@ import org.springframework.test.web.reactive.server.WebTestClient;
public class SecurityIntegrationTest {
@Autowired
- ApplicationContext context;
+ private ApplicationContext context;
- private WebTestClient rest;
+ private WebTestClient webTestClient;
@BeforeEach
public void setup() {
- this.rest = WebTestClient.bindToApplicationContext(this.context).configureClient().build();
+ webTestClient = WebTestClient.bindToApplicationContext(context)
+ .configureClient()
+ .build();
}
@Test
public void whenNoCredentials_thenRedirectToLogin() {
- this.rest.get().uri("/").exchange().expectStatus().is3xxRedirection();
+ webTestClient.get()
+ .uri("/")
+ .exchange()
+ .expectStatus().is3xxRedirection();
}
@Test
@WithMockUser
public void whenHasCredentials_thenSeesGreeting() {
- this.rest.get().uri("/").exchange().expectStatus().isOk().expectBody(String.class).isEqualTo("Hello, user");
+ webTestClient.get()
+ .uri("/")
+ .exchange()
+ .expectStatus().isOk()
+ .expectBody(String.class).isEqualTo("Hello, user");
}
}
diff --git a/spring-security-modules/spring-security-core/README.md b/spring-security-modules/spring-security-core/README.md
index 1949b5a929..9f8e4dda53 100644
--- a/spring-security-modules/spring-security-core/README.md
+++ b/spring-security-modules/spring-security-core/README.md
@@ -10,7 +10,6 @@ This module contains articles about core Spring Security
- [Deny Access on Missing @PreAuthorize to Spring Controller Methods](https://www.baeldung.com/spring-deny-access)
- [Spring Security: Check If a User Has a Role in Java](https://www.baeldung.com/spring-security-check-user-role)
- [Filtering Jackson JSON Output Based on Spring Security Role](https://www.baeldung.com/spring-security-role-filter-json)
-- [Handle Spring Security Exceptions](https://www.baeldung.com/spring-security-exceptions)
### Build the Project
diff --git a/spring-state-machine/pom.xml b/spring-state-machine/pom.xml
index 741361b3fa..0e930d6ff1 100644
--- a/spring-state-machine/pom.xml
+++ b/spring-state-machine/pom.xml
@@ -39,7 +39,7 @@
3.2.0
5.3.19
- 4.3.7.RELEASE
+ 5.3.19
1.7.0
diff --git a/spring-state-machine/src/main/java/com/baeldung/spring/statemachine/config/SimpleStateMachineConfiguration.java b/spring-state-machine/src/main/java/com/baeldung/spring/statemachine/config/SimpleStateMachineConfiguration.java
index 0c392c2c35..8c95e9d843 100644
--- a/spring-state-machine/src/main/java/com/baeldung/spring/statemachine/config/SimpleStateMachineConfiguration.java
+++ b/spring-state-machine/src/main/java/com/baeldung/spring/statemachine/config/SimpleStateMachineConfiguration.java
@@ -38,7 +38,7 @@ public class SimpleStateMachineConfiguration extends StateMachineConfigurerAdapt
.stateEntry("S3", entryAction())
.stateExit("S3", exitAction())
.state("S4", executeAction(), errorAction())
- .stateDo("S5", executeAction());
+ .state("S5", executeAction(), errorAction());
}
diff --git a/spring-state-machine/src/test/java/com/baeldung/spring/statemachine/StateMachineIntegrationTest.java b/spring-state-machine/src/test/java/com/baeldung/spring/statemachine/StateMachineIntegrationTest.java
index 5909340a82..ac2d6a22c2 100644
--- a/spring-state-machine/src/test/java/com/baeldung/spring/statemachine/StateMachineIntegrationTest.java
+++ b/spring-state-machine/src/test/java/com/baeldung/spring/statemachine/StateMachineIntegrationTest.java
@@ -1,32 +1,37 @@
package com.baeldung.spring.statemachine;
-import com.baeldung.spring.statemachine.config.SimpleStateMachineConfiguration;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
+import org.junit.jupiter.api.Order;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestMethodOrder;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.statemachine.StateMachine;
import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
+
+import com.baeldung.spring.statemachine.config.SimpleStateMachineConfiguration;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-@RunWith(SpringJUnit4ClassRunner.class)
+@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = SimpleStateMachineConfiguration.class)
+@TestMethodOrder(OrderAnnotation.class)
public class StateMachineIntegrationTest {
@Autowired
private StateMachine stateMachine;
- @Before
+ @BeforeEach
public void setUp() {
stateMachine.start();
}
@Test
+ @Order(1)
public void whenSimpleStringStateMachineEvents_thenEndState() {
assertEquals("SI", stateMachine.getState().getId());
@@ -37,8 +42,8 @@ public class StateMachineIntegrationTest {
assertEquals("S2", stateMachine.getState().getId());
}
- @Ignore("Fixing in JAVA-9808")
@Test
+ @Order(2)
public void whenSimpleStringMachineActionState_thenActionExecuted() {
stateMachine.sendEvent("E3");
@@ -58,7 +63,7 @@ public class StateMachineIntegrationTest {
assertEquals(2, stateMachine.getExtendedState().getVariables().get("approvalCount"));
}
- @After
+ @AfterEach
public void tearDown() {
stateMachine.stop();
}
diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java
index 440c3e40ab..b22707f10a 100644
--- a/testing-modules/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java
+++ b/testing-modules/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java
@@ -1,35 +1,34 @@
package com.baeldung;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.function.Executable;
import java.util.ConcurrentModificationException;
import java.util.HashMap;
import java.util.Map;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.function.Executable;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
-public class ExceptionUnitTest {
+class ExceptionUnitTest {
@Test
void shouldThrowException() {
Throwable exception = assertThrows(UnsupportedOperationException.class, () -> {
throw new UnsupportedOperationException("Not supported");
});
- assertEquals(exception.getMessage(), "Not supported");
+
+ assertEquals("Not supported", exception.getMessage());
}
@Test
void assertThrowsException() {
String str = null;
- assertThrows(IllegalArgumentException.class, () -> {
- Integer.valueOf(str);
- });
+ assertThrows(IllegalArgumentException.class, () -> Integer.valueOf(str));
}
@Test
- public void whenModifyMapDuringIteration_thenThrowExecption() {
+ void whenModifyMapDuringIteration_thenThrowException() {
Map hashmap = new HashMap<>();
hashmap.put(1, "One");
hashmap.put(2, "Two");
diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java
index c47a70e52f..a5304d3402 100644
--- a/testing-modules/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java
+++ b/testing-modules/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java
@@ -1,12 +1,12 @@
package com.baeldung;
-import static org.junit.jupiter.api.Assertions.*;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.List;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.*;
class FirstUnitTest {
@@ -14,20 +14,24 @@ class FirstUnitTest {
void lambdaExpressions() {
List numbers = Arrays.asList(1, 2, 3);
assertTrue(numbers.stream()
- .mapToInt(i -> i)
- .sum() > 5, "Sum should be greater than 5");
+ .mapToInt(Integer::intValue)
+ .sum() > 5, "Sum should be greater than 5");
}
@Disabled("test to show MultipleFailuresError")
@Test
void groupAssertions() {
- int[] numbers = { 0, 1, 2, 3, 4 };
- assertAll("numbers", () -> assertEquals(numbers[0], 1), () -> assertEquals(numbers[3], 3), () -> assertEquals(numbers[4], 1));
+ int[] numbers = {0, 1, 2, 3, 4};
+ assertAll("numbers",
+ () -> assertEquals(numbers[0], 1),
+ () -> assertEquals(numbers[3], 3),
+ () -> assertEquals(numbers[4], 1)
+ );
}
@Test
- @Disabled
+ @Disabled("Disabled test example")
void disabledTest() {
- assertTrue(false);
+ fail();
}
}
diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java
index 252bbdb2ce..bc64bc0804 100644
--- a/testing-modules/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java
+++ b/testing-modules/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java
@@ -1,16 +1,10 @@
package com.baeldung;
+import org.junit.jupiter.api.*;
+
import java.util.logging.Logger;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.DisplayName;
-import org.junit.jupiter.api.Test;
-
-public class JUnit5NewFeaturesUnitTest {
+class JUnit5NewFeaturesUnitTest {
private static final Logger log = Logger.getLogger(JUnit5NewFeaturesUnitTest.class.getName());
@@ -28,7 +22,6 @@ public class JUnit5NewFeaturesUnitTest {
@Test
void testSingleSuccessTest() {
log.info("Success");
-
}
@Test
diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/LiveTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/LiveTest.java
index c23eeb5afa..524ea58328 100644
--- a/testing-modules/junit-5-basics/src/test/java/com/baeldung/LiveTest.java
+++ b/testing-modules/junit-5-basics/src/test/java/com/baeldung/LiveTest.java
@@ -1,28 +1,28 @@
package com.baeldung;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.junit.jupiter.api.DynamicTest;
+import org.junit.jupiter.api.TestFactory;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
-import org.junit.jupiter.api.DynamicTest;
-import org.junit.jupiter.api.TestFactory;
+import static org.junit.jupiter.api.Assertions.assertEquals;
-public class LiveTest {
+class LiveTest {
private List in = new ArrayList<>(Arrays.asList("Hello", "Yes", "No"));
private List out = new ArrayList<>(Arrays.asList("Cześć", "Tak", "Nie"));
@TestFactory
- public Stream translateDynamicTestsFromStream() {
+ Stream translateDynamicTestsFromStream() {
return in.stream()
- .map(word -> DynamicTest.dynamicTest("Test translate " + word, () -> {
- int id = in.indexOf(word);
- assertEquals(out.get(id), translate(word));
- }));
+ .map(word -> DynamicTest.dynamicTest("Test translate " + word, () -> {
+ int id = in.indexOf(word);
+ assertEquals(out.get(id), translate(word));
+ }));
}
private String translate(String word) {
diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/assertexception/ExceptionAssertionUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/assertexception/ExceptionAssertionUnitTest.java
index ee2f696408..5203a3f202 100644
--- a/testing-modules/junit-5-basics/src/test/java/com/baeldung/assertexception/ExceptionAssertionUnitTest.java
+++ b/testing-modules/junit-5-basics/src/test/java/com/baeldung/assertexception/ExceptionAssertionUnitTest.java
@@ -1,16 +1,15 @@
package com.baeldung.assertexception;
+import org.junit.jupiter.api.Test;
+
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import org.junit.jupiter.api.Test;
+class ExceptionAssertionUnitTest {
-public class ExceptionAssertionUnitTest {
@Test
- public void whenExceptionThrown_thenAssertionSucceeds() {
- Exception exception = assertThrows(NumberFormatException.class, () -> {
- Integer.parseInt("1a");
- });
+ void whenExceptionThrown_thenAssertionSucceeds() {
+ Exception exception = assertThrows(NumberFormatException.class, () -> Integer.parseInt("1a"));
String expectedMessage = "For input string";
String actualMessage = exception.getMessage();
@@ -19,14 +18,13 @@ public class ExceptionAssertionUnitTest {
}
@Test
- public void whenDerivedExceptionThrown_thenAssertionSucceds() {
- Exception exception = assertThrows(RuntimeException.class, () -> {
- Integer.parseInt("1a");
- });
+ void whenDerivedExceptionThrown_thenAssertionSucceeds() {
+ Exception exception = assertThrows(RuntimeException.class, () -> Integer.parseInt("1a"));
String expectedMessage = "For input string";
String actualMessage = exception.getMessage();
assertTrue(actualMessage.contains(expectedMessage));
}
-}
\ No newline at end of file
+
+}
diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java
index 80201a3f44..c1eba0d557 100644
--- a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java
+++ b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java
@@ -1,28 +1,26 @@
package com.baeldung.migration.junit5;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assumptions.assumeFalse;
-import static org.junit.jupiter.api.Assumptions.assumeTrue;
-import static org.junit.jupiter.api.Assumptions.assumingThat;
-
import org.junit.jupiter.api.Test;
-public class AssumptionUnitTest {
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assumptions.*;
+
+class AssumptionUnitTest {
@Test
- public void trueAssumption() {
+ void trueAssumption() {
assumeTrue(5 > 1, () -> "5 is greater the 1");
assertEquals(5 + 2, 7);
}
@Test
- public void falseAssumption() {
+ void falseAssumption() {
assumeFalse(5 < 1, () -> "5 is less then 1");
assertEquals(5 + 2, 7);
}
@Test
- public void assumptionThat() {
+ void assumptionThat() {
String someString = "Just a string";
assumingThat(someString.equals("Just a string"), () -> assertEquals(2 + 2, 4));
}
diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java
index 873df30400..3a873a6d29 100644
--- a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java
+++ b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java
@@ -1,33 +1,34 @@
package com.baeldung.junit5.order;
-import static org.junit.Assert.assertEquals;
-
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
@TestMethodOrder(MethodOrderer.MethodName.class)
public class AlphanumericOrderUnitTest {
- private static StringBuilder output = new StringBuilder("");
+
+ private static final StringBuilder output = new StringBuilder("");
@Test
- public void myATest() {
+ void myATest() {
output.append("A");
}
@Test
- public void myBTest() {
+ void myBTest() {
output.append("B");
}
@Test
- public void myaTest() {
+ void myaTest() {
output.append("a");
}
@AfterAll
public static void assertOutput() {
- assertEquals(output.toString(), "ABa");
+ assertEquals("ABa", output.toString());
}
}
diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java
index fa45921879..299a3cad85 100644
--- a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java
+++ b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java
@@ -1,33 +1,33 @@
package com.baeldung.junit5.order;
-import static org.junit.Assert.assertEquals;
-
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
@TestMethodOrder(CustomOrder.class)
public class CustomOrderUnitTest {
- private static StringBuilder output = new StringBuilder("");
-
+
+ private static final StringBuilder output = new StringBuilder("");
+
@Test
- public void myATest() {
+ void myATest() {
output.append("A");
}
-
+
@Test
- public void myBTest() {
- output.append("B");
+ void myBTest() {
+ output.append("B");
}
-
+
@Test
- public void myaTest() {
+ void myaTest() {
output.append("a");
}
-
@AfterAll
public static void assertOutput() {
- assertEquals(output.toString(), "AaB");
+ assertEquals("AaB", output.toString());
}
}
diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/DefaultOrderUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/DefaultOrderUnitTest.java
index 65cee3e987..ee1d86ee43 100644
--- a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/DefaultOrderUnitTest.java
+++ b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/DefaultOrderUnitTest.java
@@ -1,36 +1,36 @@
package com.baeldung.junit5.order;
-import static org.junit.Assert.assertEquals;
-
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
public class DefaultOrderUnitTest {
- private static StringBuilder output = new StringBuilder("");
+ private static final StringBuilder output = new StringBuilder();
@Test
@DisplayName("Test A")
- public void myATest() {
+ void myATest() {
output.append("A");
}
@Test
@DisplayName("Test B")
- public void myBTest() {
+ void myBTest() {
output.append("B");
}
@Test
@DisplayName("Test C")
- public void myCTest() {
+ void myCTest() {
output.append("C");
}
@AfterAll
public static void assertOutput() {
- assertEquals(output.toString(), "ABC");
+ assertEquals("ABC", output.toString());
}
}
diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java
index 3d931a4158..14cf6c552e 100644
--- a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java
+++ b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java
@@ -1,37 +1,35 @@
package com.baeldung.junit5.order;
-import static org.junit.Assert.assertEquals;
-
-import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.*;
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
-import org.junit.jupiter.api.Order;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.TestMethodOrder;
+
+import static org.junit.jupiter.api.Assertions.*;
@TestMethodOrder(OrderAnnotation.class)
public class OrderAnnotationUnitTest {
- private static StringBuilder output = new StringBuilder("");
-
+
+ private static final StringBuilder output = new StringBuilder();
+
@Test
- @Order(1)
- public void firstTest() {
+ @Order(1)
+ void firstTest() {
output.append("a");
}
-
+
@Test
- @Order(2)
- public void secondTest() {
+ @Order(2)
+ void secondTest() {
output.append("b");
}
-
+
@Test
- @Order(3)
- public void thirdTest() {
+ @Order(3)
+ void thirdTest() {
output.append("c");
}
-
+
@AfterAll
public static void assertOutput() {
- assertEquals(output.toString(), "abc");
+ assertEquals("abc", output.toString());
}
}
diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/RandomOrderUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/RandomOrderUnitTest.java
index 0f64f5bb31..6c7cf234c8 100644
--- a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/RandomOrderUnitTest.java
+++ b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/RandomOrderUnitTest.java
@@ -1,35 +1,35 @@
package com.baeldung.junit5.order;
-import static org.junit.Assert.assertEquals;
-
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
@TestMethodOrder(MethodOrderer.Random.class)
public class RandomOrderUnitTest {
- private static StringBuilder output = new StringBuilder("");
+ private static final StringBuilder output = new StringBuilder();
@Test
- public void myATest() {
+ void myATest() {
output.append("A");
}
@Test
- public void myBTest() {
+ void myBTest() {
output.append("B");
}
@Test
- public void myCTest() {
+ void myCTest() {
output.append("C");
}
@AfterAll
public static void assertOutput() {
- assertEquals(output.toString(), "ACB");
+ assertEquals("ACB", output.toString());
}
}
diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vsjunit4assertions/Junit4AssertionsUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vsjunit4assertions/Junit4AssertionsUnitTest.java
index 7e74c2dace..236a43036b 100644
--- a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vsjunit4assertions/Junit4AssertionsUnitTest.java
+++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vsjunit4assertions/Junit4AssertionsUnitTest.java
@@ -1,5 +1,6 @@
package com.baeldung.junit5vsjunit4assertions;
+import org.hamcrest.MatcherAssert;
import org.junit.Test;
import java.util.Arrays;
@@ -30,7 +31,7 @@ public class Junit4AssertionsUnitTest {
@Test
public void whenAssertingArraysEquality_thenEqual() {
- char[] expected = { 'J', 'u', 'n', 'i', 't' };
+ char[] expected = {'J', 'u', 'n', 'i', 't'};
char[] actual = "Junit".toCharArray();
assertArrayEquals(expected, actual);
@@ -95,7 +96,7 @@ public class Junit4AssertionsUnitTest {
@Test
public void testAssertThatHasItems() {
- assertThat(Arrays.asList("Java", "Kotlin", "Scala"), hasItems("Java", "Kotlin"));
+ MatcherAssert.assertThat(Arrays.asList("Java", "Kotlin", "Scala"), hasItems("Java", "Kotlin"));
}
}
diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vsjunit4assertions/Junit5AssertionsUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vsjunit4assertions/Junit5AssertionsUnitTest.java
index 40b9143a71..1ba0b7ba8a 100644
--- a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vsjunit4assertions/Junit5AssertionsUnitTest.java
+++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vsjunit4assertions/Junit5AssertionsUnitTest.java
@@ -1,42 +1,29 @@
package com.baeldung.junit5vsjunit4assertions;
-import static java.time.Duration.ofSeconds;
-import static java.util.Arrays.asList;
-import static org.junit.jupiter.api.Assertions.assertAll;
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertIterableEquals;
-import static org.junit.jupiter.api.Assertions.assertLinesMatch;
-import static org.junit.jupiter.api.Assertions.assertNotEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTimeout;
-import static org.junit.jupiter.api.Assertions.assertTimeoutPreemptively;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
import java.util.function.BooleanSupplier;
+import java.util.function.Supplier;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.DisplayName;
-import org.junit.jupiter.api.Test;
+import static java.time.Duration.ofSeconds;
+import static java.util.Arrays.asList;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Unit test that demonstrate the different assertions available within JUnit 4
*/
@DisplayName("Test case for assertions")
-public class Junit5AssertionsUnitTest {
+class Junit5AssertionsUnitTest {
@Test
@DisplayName("Arrays should be equals")
- public void whenAssertingArraysEquality_thenEqual() {
+ void whenAssertingArraysEquality_thenEqual() {
char[] expected = {'J', 'u', 'p', 'i', 't', 'e', 'r'};
char[] actual = "Jupiter".toCharArray();
@@ -45,7 +32,7 @@ public class Junit5AssertionsUnitTest {
@Test
@DisplayName("The area of two polygons should be equal")
- public void whenAssertingEquality_thenEqual() {
+ void whenAssertingEquality_thenEqual() {
float square = 2 * 2;
float rectangle = 2 * 2;
@@ -53,7 +40,7 @@ public class Junit5AssertionsUnitTest {
}
@Test
- public void whenAssertingEqualityWithDelta_thenEqual() {
+ void whenAssertingEqualityWithDelta_thenEqual() {
float square = 2 * 2;
float rectangle = 3 * 2;
float delta = 2;
@@ -62,27 +49,28 @@ public class Junit5AssertionsUnitTest {
}
@Test
- public void whenAssertingConditions_thenVerified() {
+ void whenAssertingConditions_thenVerified() {
assertTrue(5 > 4, "5 is greater the 4");
assertTrue(null == null, "null is equal to null");
}
@Test
- public void whenAssertingNull_thenTrue() {
+ void whenAssertingNull_thenTrue() {
Object cat = null;
- assertNull(cat, () -> "The cat should be null");
+ Supplier messageSupplier = () -> "The cat should be null";
+ assertNull(cat, messageSupplier);
}
@Test
- public void whenAssertingNotNull_thenTrue() {
+ void whenAssertingNotNull_thenTrue() {
Object dog = new Object();
assertNotNull(dog, () -> "The dog should not be null");
}
@Test
- public void whenAssertingSameObject_thenSuccessfull() {
+ void whenAssertingSameObject_thenSuccessful() {
String language = "Java";
Optional optional = Optional.of(language);
@@ -90,32 +78,31 @@ public class Junit5AssertionsUnitTest {
}
@Test
- public void givenBooleanSupplier_whenAssertingCondition_thenVerified() {
+ void givenBooleanSupplier_whenAssertingCondition_thenVerified() {
BooleanSupplier condition = () -> 5 > 6;
assertFalse(condition, "5 is not greater then 6");
}
@Test
- @Disabled
- public void whenFailingATest_thenFailed() {
- // Test not completed
+ @Disabled("Test not completed")
+ void whenFailingATest_thenFailed() {
fail("FAIL - test not completed");
}
@Test
- public void givenMultipleAssertion_whenAssertingAll_thenOK() {
+ void givenMultipleAssertion_whenAssertingAll_thenOK() {
Object obj = null;
assertAll(
- "heading",
- () -> assertEquals(4, 2 * 2, "4 is 2 times 2"),
- () -> assertEquals("java", "JAVA".toLowerCase()),
- () -> assertEquals(obj, null, "null is equal to null")
+ "heading",
+ () -> assertEquals(4, 2 * 2, "4 is 2 times 2"),
+ () -> assertEquals("java", "JAVA".toLowerCase()),
+ () -> assertNull(obj, "obj is null")
);
}
@Test
- public void givenTwoLists_whenAssertingIterables_thenEquals() {
+ void givenTwoLists_whenAssertingIterables_thenEquals() {
Iterable al = new ArrayList<>(asList("Java", "Junit", "Test"));
Iterable ll = new LinkedList<>(asList("Java", "Junit", "Test"));
@@ -123,36 +110,36 @@ public class Junit5AssertionsUnitTest {
}
@Test
- public void whenAssertingTimeout_thenNotExceeded() {
+ void whenAssertingTimeout_thenNotExceeded() {
assertTimeout(
- ofSeconds(2),
- () -> {
- // code that requires less then 2 minutes to execute
- Thread.sleep(1000);
- }
+ ofSeconds(2),
+ () -> {
+ // code that requires less than 2 minutes to execute
+ Thread.sleep(1000);
+ }
);
}
@Test
- public void whenAssertingTimeoutPreemptively_thenNotExceeded() {
+ void whenAssertingTimeoutPreemptively_thenNotExceeded() {
assertTimeoutPreemptively(
- ofSeconds(2),
- () -> {
- // code that requires less then 2 minutes to execute
- Thread.sleep(1000);
- }
+ ofSeconds(2),
+ () -> {
+ // code that requires less than 2 minutes to execute
+ Thread.sleep(1000);
+ }
);
}
@Test
- public void whenAssertingEquality_thenNotEqual() {
+ void whenAssertingEquality_thenNotEqual() {
Integer value = 5; // result of an algorithm
assertNotEquals(0, value, "The result cannot be 0");
}
@Test
- public void whenAssertingEqualityListOfStrings_thenEqual() {
+ void whenAssertingEqualityListOfStrings_thenEqual() {
List expected = asList("Java", "\\d+", "JUnit");
List actual = asList("Java", "11", "JUnit");
@@ -162,16 +149,16 @@ public class Junit5AssertionsUnitTest {
@Test
void whenAssertingException_thenThrown() {
Throwable exception = assertThrows(
- IllegalArgumentException.class,
- () -> {
- throw new IllegalArgumentException("Exception message");
- }
+ IllegalArgumentException.class,
+ () -> {
+ throw new IllegalArgumentException("Exception message");
+ }
);
assertEquals("Exception message", exception.getMessage());
}
@Test
- public void testConvertToDoubleThrowException() {
+ void testConvertToDoubleThrowException() {
String age = "eighteen";
assertThrows(NumberFormatException.class, () -> {
convertToInt(age);