diff --git a/core-java-11/README.md b/core-java-11/README.md
new file mode 100644
index 0000000000..181ada3f45
--- /dev/null
+++ b/core-java-11/README.md
@@ -0,0 +1,5 @@
+### Relevant articles
+
+- [Java 11 Single File Source Code](https://www.baeldung.com/java-single-file-source-code)
+- [Java 11 Local Variable Syntax for Lambda Parameters](https://www.baeldung.com/java-var-lambda-params)
+
diff --git a/mvn-wrapper/.gitignore b/mvn-wrapper/.gitignore
deleted file mode 100644
index 2af7cefb0a..0000000000
--- a/mvn-wrapper/.gitignore
+++ /dev/null
@@ -1,24 +0,0 @@
-target/
-!.mvn/wrapper/maven-wrapper.jar
-
-### STS ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-
-### IntelliJ IDEA ###
-.idea
-*.iws
-*.iml
-*.ipr
-
-### NetBeans ###
-nbproject/private/
-build/
-nbbuild/
-dist/
-nbdist/
-.nb-gradle/
\ No newline at end of file
diff --git a/mvn-wrapper/.mvn/wrapper/maven-wrapper.jar b/mvn-wrapper/.mvn/wrapper/maven-wrapper.jar
deleted file mode 100755
index f775b1c04c..0000000000
Binary files a/mvn-wrapper/.mvn/wrapper/maven-wrapper.jar and /dev/null differ
diff --git a/mvn-wrapper/.mvn/wrapper/maven-wrapper.properties b/mvn-wrapper/.mvn/wrapper/maven-wrapper.properties
deleted file mode 100755
index a447c9fa81..0000000000
--- a/mvn-wrapper/.mvn/wrapper/maven-wrapper.properties
+++ /dev/null
@@ -1 +0,0 @@
-distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip
\ No newline at end of file
diff --git a/mvn-wrapper/README.md b/mvn-wrapper/README.md
deleted file mode 100644
index bd299d41ed..0000000000
--- a/mvn-wrapper/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-Setting up the Maven Wrapper on an Application
-==============================================
-
-This is the code that shows the configurations of maven wrapper on a SpringBoot project.
-
-### Requirements
-
-- Maven
-- JDK 7
-
-### Running
-
-To build and start the server simply type
-
-```bash
-$ ./mvn clean install
-$ ./mvn spring-boot:run
-```
-
-Now with default configurations it will be available at: [http://localhost:8080](http://localhost:8080)
-
-Enjoy it :)
\ No newline at end of file
diff --git a/mvn-wrapper/mvnw b/mvn-wrapper/mvnw
deleted file mode 100755
index e96ccd5fbb..0000000000
--- a/mvn-wrapper/mvnw
+++ /dev/null
@@ -1,227 +0,0 @@
-#!/bin/sh
-# ----------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-# ----------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------
-# Maven2 Start Up Batch script
-#
-# Required ENV vars:
-# ------------------
-# JAVA_HOME - location of a JDK home dir
-#
-# Optional ENV vars
-# -----------------
-# M2_HOME - location of maven2's installed home dir
-# MAVEN_OPTS - parameters passed to the Java VM when running Maven
-# e.g. to debug Maven itself, use
-# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-# ----------------------------------------------------------------------------
-
-if [ -z "$MAVEN_SKIP_RC" ] ; then
-
- if [ -f /etc/mavenrc ] ; then
- . /etc/mavenrc
- fi
-
- if [ -f "$HOME/.mavenrc" ] ; then
- . "$HOME/.mavenrc"
- fi
-
-fi
-
-# OS specific support. $var _must_ be set to either true or false.
-cygwin=false;
-darwin=false;
-mingw=false
-case "`uname`" in
- CYGWIN*) cygwin=true ;;
- MINGW*) mingw=true;;
- Darwin*) darwin=true
- # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
- # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
- if [ -z "$JAVA_HOME" ]; then
- if [ -x "/usr/libexec/java_home" ]; then
- export JAVA_HOME="`/usr/libexec/java_home`"
- else
- export JAVA_HOME="/Library/Java/Home"
- fi
- fi
- ;;
-esac
-
-if [ -z "$JAVA_HOME" ] ; then
- if [ -r /etc/gentoo-release ] ; then
- JAVA_HOME=`java-config --jre-home`
- fi
-fi
-
-if [ -z "$M2_HOME" ] ; then
- ## resolve links - $0 may be a link to maven's home
- PRG="$0"
-
- # need this for relative symlinks
- while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG="`dirname "$PRG"`/$link"
- fi
- done
-
- saveddir=`pwd`
-
- M2_HOME=`dirname "$PRG"`/..
-
- # make it fully qualified
- M2_HOME=`cd "$M2_HOME" && pwd`
-
- cd "$saveddir"
- # echo Using m2 at $M2_HOME
-fi
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched
-if $cygwin ; then
- [ -n "$M2_HOME" ] &&
- M2_HOME=`cygpath --unix "$M2_HOME"`
- [ -n "$JAVA_HOME" ] &&
- JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
- [ -n "$CLASSPATH" ] &&
- CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
-fi
-
-# For Mingw, ensure paths are in UNIX format before anything is touched
-if $mingw ; then
- [ -n "$M2_HOME" ] &&
- M2_HOME="`(cd "$M2_HOME"; pwd)`"
- [ -n "$JAVA_HOME" ] &&
- JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
- # TODO classpath?
-fi
-
-if [ -z "$JAVA_HOME" ]; then
- javaExecutable="`which javac`"
- if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
- # readlink(1) is not available as standard on Solaris 10.
- readLink=`which readlink`
- if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
- if $darwin ; then
- javaHome="`dirname \"$javaExecutable\"`"
- javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
- else
- javaExecutable="`readlink -f \"$javaExecutable\"`"
- fi
- javaHome="`dirname \"$javaExecutable\"`"
- javaHome=`expr "$javaHome" : '\(.*\)/bin'`
- JAVA_HOME="$javaHome"
- export JAVA_HOME
- fi
- fi
-fi
-
-if [ -z "$JAVACMD" ] ; then
- if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- else
- JAVACMD="`which java`"
- fi
-fi
-
-if [ ! -x "$JAVACMD" ] ; then
- echo "Error: JAVA_HOME is not defined correctly." >&2
- echo " We cannot execute $JAVACMD" >&2
- exit 1
-fi
-
-if [ -z "$JAVA_HOME" ] ; then
- echo "Warning: JAVA_HOME environment variable is not set."
-fi
-
-CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
-
-# traverses directory structure from process work directory to filesystem root
-# first directory with .mvn subdirectory is considered project base directory
-find_maven_basedir() {
-
- if [ -z "$1" ]
- then
- echo "Path not specified to find_maven_basedir"
- return 1
- fi
-
- basedir="$1"
- wdir="$1"
- while [ "$wdir" != '/' ] ; do
- if [ -d "$wdir"/.mvn ] ; then
- basedir=$wdir
- break
- fi
- # workaround for JBEAP-8937 (on Solaris 10/Sparc)
- if [ -d "${wdir}" ]; then
- wdir=`cd "$wdir/.."; pwd`
- fi
- # end of workaround
- done
- echo "${basedir}"
-}
-
-# concatenates all lines of a file
-concat_lines() {
- if [ -f "$1" ]; then
- echo "$(tr -s '\n' ' ' < "$1")"
- fi
-}
-
-BASE_DIR=`find_maven_basedir "$(pwd)"`
-if [ -z "$BASE_DIR" ]; then
- exit 1;
-fi
-
-export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
-if [ "$MVNW_VERBOSE" = true ]; then
- echo $MAVEN_PROJECTBASEDIR
-fi
-MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin; then
- [ -n "$M2_HOME" ] &&
- M2_HOME=`cygpath --path --windows "$M2_HOME"`
- [ -n "$JAVA_HOME" ] &&
- JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
- [ -n "$CLASSPATH" ] &&
- CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
- [ -n "$MAVEN_PROJECTBASEDIR" ] &&
- MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
-fi
-
-WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-exec "$JAVACMD" \
- $MAVEN_OPTS \
- -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
- "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
- ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/mvn-wrapper/mvnw.cmd b/mvn-wrapper/mvnw.cmd
deleted file mode 100755
index 4f0b068a03..0000000000
--- a/mvn-wrapper/mvnw.cmd
+++ /dev/null
@@ -1,145 +0,0 @@
-@REM ----------------------------------------------------------------------------
-@REM Licensed to the Apache Software Foundation (ASF) under one
-@REM or more contributor license agreements. See the NOTICE file
-@REM distributed with this work for additional information
-@REM regarding copyright ownership. The ASF licenses this file
-@REM to you under the Apache License, Version 2.0 (the
-@REM "License"); you may not use this file except in compliance
-@REM with the License. You may obtain a copy of the License at
-@REM
-@REM http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM Unless required by applicable law or agreed to in writing,
-@REM software distributed under the License is distributed on an
-@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@REM KIND, either express or implied. See the License for the
-@REM specific language governing permissions and limitations
-@REM under the License.
-@REM ----------------------------------------------------------------------------
-
-@REM ----------------------------------------------------------------------------
-@REM Maven2 Start Up Batch script
-@REM
-@REM Required ENV vars:
-@REM JAVA_HOME - location of a JDK home dir
-@REM
-@REM Optional ENV vars
-@REM M2_HOME - location of maven2's installed home dir
-@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
-@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
-@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
-@REM e.g. to debug Maven itself, use
-@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-@REM ----------------------------------------------------------------------------
-
-@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
-@echo off
-@REM set title of command window
-title %0
-@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
-@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
-
-@REM set %HOME% to equivalent of $HOME
-if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
-
-@REM Execute a user defined script before this one
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
-@REM check for pre script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
-if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
-:skipRcPre
-
-@setlocal
-
-set ERROR_CODE=0
-
-@REM To isolate internal variables from possible post scripts, we use another setlocal
-@setlocal
-
-@REM ==== START VALIDATION ====
-if not "%JAVA_HOME%" == "" goto OkJHome
-
-echo.
-echo Error: JAVA_HOME not found in your environment. >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-:OkJHome
-if exist "%JAVA_HOME%\bin\java.exe" goto init
-
-echo.
-echo Error: JAVA_HOME is set to an invalid directory. >&2
-echo JAVA_HOME = "%JAVA_HOME%" >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-@REM ==== END VALIDATION ====
-
-:init
-
-@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
-@REM Fallback to current working directory if not found.
-
-set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
-IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
-
-set EXEC_DIR=%CD%
-set WDIR=%EXEC_DIR%
-:findBaseDir
-IF EXIST "%WDIR%"\.mvn goto baseDirFound
-cd ..
-IF "%WDIR%"=="%CD%" goto baseDirNotFound
-set WDIR=%CD%
-goto findBaseDir
-
-:baseDirFound
-set MAVEN_PROJECTBASEDIR=%WDIR%
-cd "%EXEC_DIR%"
-goto endDetectBaseDir
-
-:baseDirNotFound
-set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
-cd "%EXEC_DIR%"
-
-:endDetectBaseDir
-
-IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
-
-@setlocal EnableExtensions EnableDelayedExpansion
-for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
-@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
-
-:endReadAdditionalConfig
-
-SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
-
-set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
-set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
-if ERRORLEVEL 1 goto error
-goto end
-
-:error
-set ERROR_CODE=1
-
-:end
-@endlocal & set ERROR_CODE=%ERROR_CODE%
-
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
-@REM check for post script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
-if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
-:skipRcPost
-
-@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
-if "%MAVEN_BATCH_PAUSE%" == "on" pause
-
-if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
-
-exit /B %ERROR_CODE%
diff --git a/mvn-wrapper/pom.xml b/mvn-wrapper/pom.xml
deleted file mode 100644
index 7f45fe218d..0000000000
--- a/mvn-wrapper/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
- 4.0.0
- mvn-wrapper
- 0.0.1-SNAPSHOT
- jar
- mvn-wrapper
- Setting up the Maven Wrapper
-
-
- parent-boot-1
- com.baeldung
- 0.0.1-SNAPSHOT
- ../parent-boot-1
-
-
-
-
- org.springframework.boot
- spring-boot-starter
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
-
diff --git a/mvn-wrapper/src/main/java/com/baeldung/MvnWrapperApplication.java b/mvn-wrapper/src/main/java/com/baeldung/MvnWrapperApplication.java
deleted file mode 100644
index 3007d24ed0..0000000000
--- a/mvn-wrapper/src/main/java/com/baeldung/MvnWrapperApplication.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.baeldung;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-@SpringBootApplication
-public class MvnWrapperApplication {
- public static void main(String[] args) {
- SpringApplication.run(MvnWrapperApplication.class, args);
- }
-}
diff --git a/mvn-wrapper/src/main/resources/logback.xml b/mvn-wrapper/src/main/resources/logback.xml
deleted file mode 100644
index 7d900d8ea8..0000000000
--- a/mvn-wrapper/src/main/resources/logback.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/parent-boot-1/README.md b/parent-boot-1/README.md
new file mode 100644
index 0000000000..8b312c348a
--- /dev/null
+++ b/parent-boot-1/README.md
@@ -0,0 +1,2 @@
+
+This is a parent module for all projects using Spring Boot 1.
diff --git a/parent-boot-2/README.md b/parent-boot-2/README.md
index ff12555376..3f18bdf38e 100644
--- a/parent-boot-2/README.md
+++ b/parent-boot-2/README.md
@@ -1 +1,2 @@
-## Relevant articles:
+
+This is a parent module for all projects using Spring Boot 2.
diff --git a/parent-kotlin/README.md b/parent-kotlin/README.md
new file mode 100644
index 0000000000..6c17a6ac29
--- /dev/null
+++ b/parent-kotlin/README.md
@@ -0,0 +1,2 @@
+
+Parent module for Kotlin projects.
diff --git a/persistence-modules/spring-boot-persistence-mongodb/README.md b/persistence-modules/spring-boot-persistence-mongodb/README.md
new file mode 100644
index 0000000000..f093d4baf0
--- /dev/null
+++ b/persistence-modules/spring-boot-persistence-mongodb/README.md
@@ -0,0 +1,3 @@
+# Relevant Articles
+
+- [Auto-Generated Field for MongoDB using Spring Boot](https://www.baeldung.com/spring-boot-mongodb-auto-generated-field)
diff --git a/persistence-modules/spring-data-cassandra-reactive/README.md b/persistence-modules/spring-data-cassandra-reactive/README.md
new file mode 100644
index 0000000000..87a61d46b3
--- /dev/null
+++ b/persistence-modules/spring-data-cassandra-reactive/README.md
@@ -0,0 +1,3 @@
+#Relevant Articles
+
+- [Spring Data with Reactive Cassandra](https://www.baeldung.com/spring-data-cassandra-reactive)
diff --git a/pom.xml b/pom.xml
index f22aeea5e6..2a3102880a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -486,7 +486,6 @@
msf4j
mustache
- mvn-wrapper
mybatis
noexception
@@ -674,7 +673,6 @@
spring-mobile
spring-mockito
- spring-mustache
spring-mvc-forms-jsp
spring-mvc-forms-thymeleaf
spring-mvc-java
@@ -683,7 +681,6 @@
spring-mvc-velocity
spring-mvc-webflow
spring-mvc-xml
- spring-mybatis
spring-protobuf
@@ -694,7 +691,6 @@
spring-remoting
spring-rest
spring-rest-angular
- spring-rest-embedded-tomcat
spring-rest-full
spring-rest-hal-browser
spring-rest-query-language
@@ -752,7 +748,6 @@
spring-zuul
- sse-jaxrs
static-analysis
stripe
structurizr
@@ -903,7 +898,6 @@
spring-remoting/remoting-rmi/remoting-rmi-server
spring-rest
spring-rest-angular
- spring-rest-embedded-tomcat
spring-rest-full
spring-rest-simple
spring-resttemplate
@@ -1196,7 +1190,6 @@
msf4j
mustache
- mvn-wrapper
mybatis
noexception
@@ -1380,7 +1373,6 @@
spring-mobile
spring-mockito
- spring-mustache
spring-mvc-forms-jsp
spring-mvc-forms-thymeleaf
spring-mvc-java
@@ -1389,7 +1381,6 @@
spring-mvc-velocity
spring-mvc-webflow
spring-mvc-xml
- spring-mybatis
spring-protobuf
@@ -1400,7 +1391,6 @@
spring-remoting
spring-rest
spring-rest-angular
- spring-rest-embedded-tomcat
spring-rest-full
spring-rest-hal-browser
spring-rest-query-language
@@ -1458,7 +1448,6 @@
spring-zuul
- sse-jaxrs
static-analysis
stripe
structurizr
diff --git a/spring-cloud/README.md b/spring-cloud/README.md
index dc43bd1a66..eb2e46c3d0 100644
--- a/spring-cloud/README.md
+++ b/spring-cloud/README.md
@@ -15,19 +15,8 @@
### Relevant Articles:
- [Intro to Spring Cloud Netflix - Hystrix](http://www.baeldung.com/spring-cloud-netflix-hystrix)
- [Dockerizing a Spring Boot Application](http://www.baeldung.com/dockerizing-spring-boot-application)
-- [Introduction to Spring Cloud Rest Client with Netflix Ribbon](http://www.baeldung.com/spring-cloud-rest-client-with-netflix-ribbon)
-- [A Quick Guide to Spring Cloud Consul](http://www.baeldung.com/spring-cloud-consul)
-- [An Introduction to Spring Cloud Zookeeper](http://www.baeldung.com/spring-cloud-zookeeper)
- [Using a Spring Cloud App Starter](http://www.baeldung.com/using-a-spring-cloud-app-starter)
-- [Spring Cloud Connectors and Heroku](http://www.baeldung.com/spring-cloud-heroku)
-- [An Example of Load Balancing with Zuul and Eureka](http://www.baeldung.com/zuul-load-balancing)
-- [An Intro to Spring Cloud Contract](http://www.baeldung.com/spring-cloud-contract)
- [Using a Spring Cloud App Starter](http://www.baeldung.com/spring-cloud-app-starter)
- [Instance Profile Credentials using Spring Cloud](http://www.baeldung.com/spring-cloud-instance-profiles)
-- [An Intro to Spring Cloud Security](http://www.baeldung.com/spring-cloud-security)
-- [An Intro to Spring Cloud Task](http://www.baeldung.com/spring-cloud-task)
- [Running Spring Boot Applications With Minikube](http://www.baeldung.com/spring-boot-minikube)
-- [Introduction to Netflix Archaius with Spring Cloud](https://www.baeldung.com/netflix-archaius-spring-cloud-integration)
-- [An Intro to Spring Cloud Vault](https://www.baeldung.com/spring-cloud-vault)
-- [Netflix Archaius with Various Database Configurations](https://www.baeldung.com/netflix-archaius-database-configurations)
-- [Rate Limiting in Spring Cloud Netflix Zuul](https://www.baeldung.com/spring-cloud-zuul-rate-limit)
+
diff --git a/spring-cloud/spring-cloud-archaius/README.md b/spring-cloud/spring-cloud-archaius/README.md
index 9de26352e1..ae853c6ef0 100644
--- a/spring-cloud/spring-cloud-archaius/README.md
+++ b/spring-cloud/spring-cloud-archaius/README.md
@@ -1,3 +1,8 @@
+# Relevant Articles
+
+- [Introduction to Netflix Archaius with Spring Cloud](https://www.baeldung.com/netflix-archaius-spring-cloud-integration)
+- [Netflix Archaius with Various Database Configurations](https://www.baeldung.com/netflix-archaius-database-configurations)
+
# Spring Cloud Archaius
#### Basic Config
@@ -11,4 +16,4 @@ These properties are set up on the main method, since Archaius uses System prope
#### Additional Sources
In this service we create a new AbstractConfiguration bean, setting up a new Configuration Properties source.
-These properties have precedence over all the other properties in the Archaius Composite Configuration.
\ No newline at end of file
+These properties have precedence over all the other properties in the Archaius Composite Configuration.
diff --git a/mvn-wrapper/src/main/resources/application.properties b/spring-cloud/spring-cloud-aws/.attach_pid23938
similarity index 100%
rename from mvn-wrapper/src/main/resources/application.properties
rename to spring-cloud/spring-cloud-aws/.attach_pid23938
diff --git a/spring-cloud/spring-cloud-aws/README.md b/spring-cloud/spring-cloud-aws/README.md
index 1340712c7a..36d0c7080e 100644
--- a/spring-cloud/spring-cloud-aws/README.md
+++ b/spring-cloud/spring-cloud-aws/README.md
@@ -1,5 +1,11 @@
# Spring Cloud AWS
+# Relevant Articles
+- [Spring Cloud AWS – S3](https://www.baeldung.com/spring-cloud-aws-s3)
+- [Spring Cloud AWS – EC2](https://www.baeldung.com/spring-cloud-aws-ec2)
+- [Spring Cloud AWS – RDS](https://www.baeldung.com/spring-cloud-aws-rds)
+- [Spring Cloud AWS – Messaging Support](https://www.baeldung.com/spring-cloud-aws-messaging)
+
#### Running the Integration Tests
To run the Integration Tests, we need to have an AWS account and have API keys generated for programmatic access. Edit
@@ -23,4 +29,4 @@ Multiple application classes are available under this project. To launch Instan
```
com.baeldung.spring.cloud.aws.InstanceProfileAwsApplication
-```
\ No newline at end of file
+```
diff --git a/spring-cloud/spring-cloud-aws/src/test/resources/test-file-upload.txt b/spring-cloud/spring-cloud-aws/src/test/resources/test-file-upload.txt
new file mode 100644
index 0000000000..7c4a013e52
--- /dev/null
+++ b/spring-cloud/spring-cloud-aws/src/test/resources/test-file-upload.txt
@@ -0,0 +1 @@
+aaa
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-connectors-heroku/README.md b/spring-cloud/spring-cloud-connectors-heroku/README.md
new file mode 100644
index 0000000000..7c58d2526f
--- /dev/null
+++ b/spring-cloud/spring-cloud-connectors-heroku/README.md
@@ -0,0 +1,2 @@
+### Relevant Articles:
+- [Spring Cloud Connectors and Heroku](http://www.baeldung.com/spring-cloud-heroku)
diff --git a/spring-cloud/spring-cloud-consul/README.md b/spring-cloud/spring-cloud-consul/README.md
new file mode 100644
index 0000000000..47dc39f0d5
--- /dev/null
+++ b/spring-cloud/spring-cloud-consul/README.md
@@ -0,0 +1,3 @@
+
+### Relevant Articles:
+- [A Quick Guide to Spring Cloud Consul](http://www.baeldung.com/spring-cloud-consul)
diff --git a/spring-cloud/spring-cloud-contract/README.md b/spring-cloud/spring-cloud-contract/README.md
new file mode 100644
index 0000000000..70e056757b
--- /dev/null
+++ b/spring-cloud/spring-cloud-contract/README.md
@@ -0,0 +1,2 @@
+### Relevant Articles:
+- [An Intro to Spring Cloud Contract](http://www.baeldung.com/spring-cloud-contract)
diff --git a/spring-cloud/spring-cloud-kubernetes/README.md b/spring-cloud/spring-cloud-kubernetes/README.md
new file mode 100644
index 0000000000..295ead1c2f
--- /dev/null
+++ b/spring-cloud/spring-cloud-kubernetes/README.md
@@ -0,0 +1,3 @@
+### Relevant Articles:
+
+- [Running Spring Boot Applications With Minikube](https://www.baeldung.com/spring-boot-minikube)
diff --git a/spring-cloud/spring-cloud-rest/README.md b/spring-cloud/spring-cloud-rest/README.md
new file mode 100644
index 0000000000..a650004708
--- /dev/null
+++ b/spring-cloud/spring-cloud-rest/README.md
@@ -0,0 +1,2 @@
+
+Code for an ebook - "A REST API with Spring Boot and Spring Cloud"
diff --git a/spring-cloud/spring-cloud-ribbon-client/README.md b/spring-cloud/spring-cloud-ribbon-client/README.md
new file mode 100644
index 0000000000..596b3226c8
--- /dev/null
+++ b/spring-cloud/spring-cloud-ribbon-client/README.md
@@ -0,0 +1,2 @@
+### Relevant Articles:
+- [Introduction to Spring Cloud Rest Client with Netflix Ribbon](http://www.baeldung.com/spring-cloud-rest-client-with-netflix-ribbon)
diff --git a/spring-cloud/spring-cloud-security/README.md b/spring-cloud/spring-cloud-security/README.md
new file mode 100644
index 0000000000..7099406614
--- /dev/null
+++ b/spring-cloud/spring-cloud-security/README.md
@@ -0,0 +1,2 @@
+### Relevant Articles:
+- [An Intro to Spring Cloud Security](http://www.baeldung.com/spring-cloud-security)
diff --git a/spring-cloud/spring-cloud-task/README.md b/spring-cloud/spring-cloud-task/README.md
new file mode 100644
index 0000000000..cabc1ac854
--- /dev/null
+++ b/spring-cloud/spring-cloud-task/README.md
@@ -0,0 +1,2 @@
+### Relevant Articles:
+- [An Intro to Spring Cloud Task](http://www.baeldung.com/spring-cloud-task)
diff --git a/spring-cloud/spring-cloud-vault/README.md b/spring-cloud/spring-cloud-vault/README.md
new file mode 100644
index 0000000000..b7529b4a5c
--- /dev/null
+++ b/spring-cloud/spring-cloud-vault/README.md
@@ -0,0 +1,3 @@
+### Relevant Articles:
+- [An Intro to Spring Cloud Vault](https://www.baeldung.com/spring-cloud-vault)
+
diff --git a/spring-cloud/spring-cloud-zookeeper/README.md b/spring-cloud/spring-cloud-zookeeper/README.md
new file mode 100644
index 0000000000..a639833452
--- /dev/null
+++ b/spring-cloud/spring-cloud-zookeeper/README.md
@@ -0,0 +1,2 @@
+### Relevant Articles:
+- [An Introduction to Spring Cloud Zookeeper](http://www.baeldung.com/spring-cloud-zookeeper)
diff --git a/spring-cloud/spring-cloud-zuul-eureka-integration/README.md b/spring-cloud/spring-cloud-zuul-eureka-integration/README.md
new file mode 100644
index 0000000000..32074f3699
--- /dev/null
+++ b/spring-cloud/spring-cloud-zuul-eureka-integration/README.md
@@ -0,0 +1,2 @@
+### Relevant Articles:
+- [An Example of Load Balancing with Zuul and Eureka](http://www.baeldung.com/zuul-load-balancing)
diff --git a/spring-cloud/spring-cloud-zuul/README.md b/spring-cloud/spring-cloud-zuul/README.md
new file mode 100644
index 0000000000..834917f159
--- /dev/null
+++ b/spring-cloud/spring-cloud-zuul/README.md
@@ -0,0 +1,2 @@
+### Relevant Articles:
+- [Rate Limiting in Spring Cloud Netflix Zuul](https://www.baeldung.com/spring-cloud-zuul-rate-limit)
diff --git a/spring-mustache/.gitignore b/spring-mustache/.gitignore
deleted file mode 100644
index 2af7cefb0a..0000000000
--- a/spring-mustache/.gitignore
+++ /dev/null
@@ -1,24 +0,0 @@
-target/
-!.mvn/wrapper/maven-wrapper.jar
-
-### STS ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-
-### IntelliJ IDEA ###
-.idea
-*.iws
-*.iml
-*.ipr
-
-### NetBeans ###
-nbproject/private/
-build/
-nbbuild/
-dist/
-nbdist/
-.nb-gradle/
\ No newline at end of file
diff --git a/spring-mustache/README.md b/spring-mustache/README.md
deleted file mode 100644
index ff12555376..0000000000
--- a/spring-mustache/README.md
+++ /dev/null
@@ -1 +0,0 @@
-## Relevant articles:
diff --git a/spring-mustache/pom.xml b/spring-mustache/pom.xml
deleted file mode 100644
index 9e4c528ee0..0000000000
--- a/spring-mustache/pom.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
- 4.0.0
-
- spring-mustache
- jar
- spring-mustache
- Demo project for Spring Boot
-
-
- parent-boot-1
- com.baeldung
- 0.0.1-SNAPSHOT
- ../parent-boot-1
-
-
-
-
- org.springframework.boot
- spring-boot-starter-mustache
-
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
- org.webjars
- bootstrap
- ${bootstrap.version}
-
-
- org.fluttercode.datafactory
- datafactory
- ${datafactory.version}
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
-
- 3.3.7
- 0.8
-
-
-
diff --git a/spring-mustache/src/main/java/com/baeldung/springmustache/SpringMustacheApplication.java b/spring-mustache/src/main/java/com/baeldung/springmustache/SpringMustacheApplication.java
deleted file mode 100644
index 8cdf89d08a..0000000000
--- a/spring-mustache/src/main/java/com/baeldung/springmustache/SpringMustacheApplication.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.baeldung.springmustache;
-
-import com.samskivert.mustache.Mustache;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.mustache.MustacheEnvironmentCollector;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.core.env.Environment;
-
-@SpringBootApplication
-@ComponentScan(basePackages = {"com.baeldung"})
-public class SpringMustacheApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(SpringMustacheApplication.class, args);
- }
-
- @Bean
- public Mustache.Compiler mustacheCompiler(Mustache.TemplateLoader templateLoader, Environment environment) {
-
- MustacheEnvironmentCollector collector = new MustacheEnvironmentCollector();
- collector.setEnvironment(environment);
-
- return Mustache.compiler()
- .defaultValue("Some Default Value")
- .withLoader(templateLoader)
- .withCollector(collector);
-
- }
-}
-
diff --git a/spring-mustache/src/main/java/com/baeldung/springmustache/controller/ArticleController.java b/spring-mustache/src/main/java/com/baeldung/springmustache/controller/ArticleController.java
deleted file mode 100644
index 5fc34c9f07..0000000000
--- a/spring-mustache/src/main/java/com/baeldung/springmustache/controller/ArticleController.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.baeldung.springmustache.controller;
-
-import com.baeldung.springmustache.model.Article;
-import org.fluttercode.datafactory.impl.DataFactory;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.util.stream.IntStream;
-
-@Controller
-public class ArticleController {
-
- @GetMapping("/article")
- public ModelAndView displayArticle(Map model) {
-
- List articles = IntStream.range(0, 10)
- .mapToObj(i -> generateArticle("Article Title " + i))
- .collect(Collectors.toList());
-
- Map modelMap = new HashMap<>();
- modelMap.put("articles", articles);
-
- return new ModelAndView("index", modelMap);
- }
-
- private Article generateArticle(String title) {
- Article article = new Article();
- DataFactory factory = new DataFactory();
- article.setTitle(title);
- article.setBody(
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur faucibus tempor diam. In molestie arcu eget ante facilisis sodales. Maecenas porta tellus sapien, eget rutrum nisi blandit in. Mauris tempor auctor ante, ut blandit velit venenatis id. Ut varius, augue aliquet feugiat congue, arcu ipsum finibus purus, dapibus semper velit sapien venenatis magna. Nunc quam ex, aliquet at rutrum sed, vestibulum quis libero. In laoreet libero cursus maximus vulputate. Nullam in fermentum sem. Duis aliquam ullamcorper dui, et dictum justo placerat id. Aliquam pretium orci quis sapien convallis, non blandit est tempus.");
- article.setPublishDate(factory.getBirthDate().toString());
- article.setAuthor(factory.getName());
- return article;
- }
-}
-
-
diff --git a/spring-mustache/src/main/java/com/baeldung/springmustache/model/Article.java b/spring-mustache/src/main/java/com/baeldung/springmustache/model/Article.java
deleted file mode 100644
index 78b08f877f..0000000000
--- a/spring-mustache/src/main/java/com/baeldung/springmustache/model/Article.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.baeldung.springmustache.model;
-
-public class Article {
- private String title;
- private String body;
- private String author;
- private String publishDate;
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public String getBody() {
- return body;
- }
-
- public void setBody(String body) {
- this.body = body;
- }
-
- public String getAuthor() {
- return author;
- }
-
- public void setAuthor(String author) {
- this.author = author;
- }
-
- public String getPublishDate() {
- return publishDate;
- }
-
- public void setPublishDate(String publishDate) {
- this.publishDate = publishDate;
- }
-
-}
diff --git a/spring-mustache/src/main/resources/application.properties b/spring-mustache/src/main/resources/application.properties
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/spring-mustache/src/main/resources/logback.xml b/spring-mustache/src/main/resources/logback.xml
deleted file mode 100644
index 7d900d8ea8..0000000000
--- a/spring-mustache/src/main/resources/logback.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-mustache/src/main/resources/templates/error/error.html b/spring-mustache/src/main/resources/templates/error/error.html
deleted file mode 100644
index fa29db41c4..0000000000
--- a/spring-mustache/src/main/resources/templates/error/error.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
- Something went wrong: {{status}} {{error}}
-
-
-
\ No newline at end of file
diff --git a/spring-mustache/src/main/resources/templates/index.html b/spring-mustache/src/main/resources/templates/index.html
deleted file mode 100644
index bda60f9d8f..0000000000
--- a/spring-mustache/src/main/resources/templates/index.html
+++ /dev/null
@@ -1,9 +0,0 @@
-{{>layout/header}}
-
- {{>layout/article}}
-
-
-
-
-{{>layout/footer}}
diff --git a/spring-mustache/src/main/resources/templates/layout/article.html b/spring-mustache/src/main/resources/templates/layout/article.html
deleted file mode 100644
index 9d573580d3..0000000000
--- a/spring-mustache/src/main/resources/templates/layout/article.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
- {{#articles}}
-
{{title}}
-
{{publishDate}}
-
{{author}}
-
{{body}}
- {{/articles}}
-
\ No newline at end of file
diff --git a/spring-mustache/src/main/resources/templates/layout/footer.html b/spring-mustache/src/main/resources/templates/layout/footer.html
deleted file mode 100644
index 04f34cac54..0000000000
--- a/spring-mustache/src/main/resources/templates/layout/footer.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-