diff --git a/.gitignore b/.gitignore
index 5b0038d..f6b73a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,10 @@
 .idea
 build/
 target/
+.classpath
+.project
+.settings
+bin
 
 api/out/
 component-test/out/
diff --git a/api/build.gradle b/api/build.gradle
index 9a4d584..be2e6cb 100644
--- a/api/build.gradle
+++ b/api/build.gradle
@@ -21,17 +21,16 @@
     }
 
     dependencies {
-        classpath 'io.spring.gradle:dependency-management-plugin:1.0.8.RELEASE'
         classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.10.0'
         classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
     }
 }
 
 plugins {
-    id 'com.github.hierynomus.license' version '0.13.1'
-    id("org.nosphere.apache.rat") version "0.5.2"
-    id "com.jfrog.artifactory" version "4.9.5"
-    id "io.spring.dependency-management" version "1.0.8.RELEASE"
+    id 'com.github.hierynomus.license' version '0.15.0'
+    id 'org.nosphere.apache.rat' version '0.6.0'
+    id 'com.jfrog.artifactory' version '4.15.1'
+    id "io.spring.dependency-management" version "1.0.9.RELEASE"
     id 'maven-publish'
     id 'java'
 }
@@ -40,7 +39,7 @@
 
 dependencies {
     compile(
-            [group: 'org.springframework.cloud', name: 'spring-cloud-starter-feign'],
+            [group: 'org.springframework.cloud', name: 'spring-cloud-starter-openfeign'],
             [group: 'org.apache.fineract.cn', name: 'api', version: versions.frameworkapi],
             [group: 'org.hibernate', name: 'hibernate-validator', version: versions.validator],
             [group: 'org.hibernate', name: 'hibernate-validator-annotation-processor', version: versions.validator]
@@ -51,7 +50,9 @@
     )
 }
 
-
+jar {
+    enabled = true
+}
 
 publishing {
     publications {
diff --git a/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java
index b4f3655..22b9c8e 100644
--- a/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java
@@ -20,7 +20,7 @@
 
 import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
 import org.apache.fineract.cn.api.util.CustomFeignClientsConfiguration;
-import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java
index 1c578e7..8357e8c 100644
--- a/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java
@@ -25,7 +25,7 @@
 import org.apache.fineract.cn.portfolio.api.v1.domain.CasePage;
 import java.util.stream.Stream;
 import org.apache.fineract.cn.api.util.CustomFeignClientsConfiguration;
-import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
diff --git a/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java
index cc78099..6161455 100644
--- a/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java
@@ -39,7 +39,7 @@
 import java.util.Set;
 import org.apache.fineract.cn.api.annotation.ThrowsException;
 import org.apache.fineract.cn.api.util.CustomFeignClientsConfiguration;
-import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PathVariable;
diff --git a/component-test/build.gradle b/component-test/build.gradle
index bcae4a9..500a378 100644
--- a/component-test/build.gradle
+++ b/component-test/build.gradle
@@ -30,10 +30,11 @@
 }
 
 plugins {
-    id 'com.github.hierynomus.license' version '0.13.1'
-    id("org.nosphere.apache.rat") version "0.5.2"
-    id "com.jfrog.artifactory" version "4.9.5"
-    id "org.springframework.boot" version "1.4.3.RELEASE"
+    id 'com.github.hierynomus.license' version '0.15.0'
+    id 'org.nosphere.apache.rat' version '0.6.0'
+    id 'com.jfrog.artifactory' version '4.15.1'
+    id "io.spring.dependency-management" version "1.0.9.RELEASE"
+    id 'org.springframework.boot' version '2.2.6.RELEASE'
     id 'maven-publish'
     id 'java'
 }
@@ -43,7 +44,7 @@
 apply plugin: 'org.asciidoctor.convert'
 
 
-bootRepackage {
+bootJar {
     enabled = false
 }
 
@@ -72,6 +73,10 @@
                 'snippets': file('build/doc/generated-snippets/')
 }
 
+jar {
+    enabled = true
+}
+
 publishing {
     publications {
         mavenJava(MavenPublication) {
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java
index 5b4e472..c2e7183 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java
@@ -77,7 +77,7 @@
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.boot.test.mock.mockito.SpyBean;
-import org.springframework.cloud.netflix.feign.EnableFeignClients;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.cloud.netflix.ribbon.RibbonClient;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 290541c..a4b4429 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
diff --git a/service/build.gradle b/service/build.gradle
index b30cd09..b53ce28 100644
--- a/service/build.gradle
+++ b/service/build.gradle
@@ -17,7 +17,7 @@
 
 buildscript {
     ext {
-        springBootVersion = '1.4.1.RELEASE'
+        springBootVersion = '2.2.6.RELEASE'
     }
     repositories {
         jcenter()
@@ -25,10 +25,11 @@
 }
 
 plugins {
-    id 'com.github.hierynomus.license' version '0.13.1'
-    id("org.nosphere.apache.rat") version "0.5.2"
-    id "com.jfrog.artifactory" version "4.9.5"
-    id "org.springframework.boot" version "1.4.3.RELEASE"
+    id 'com.github.hierynomus.license' version '0.15.0'
+    id 'org.nosphere.apache.rat' version '0.6.0'
+    id 'com.jfrog.artifactory' version '4.15.1'
+    id "io.spring.dependency-management" version "1.0.9.RELEASE"
+    id 'org.springframework.boot' version '2.2.6.RELEASE'
     id 'maven-publish'
     id 'java'
     id 'idea'
@@ -36,7 +37,7 @@
 
 apply from: '../shared.gradle'
 
-bootRepackage {
+bootJar {
     enabled = true
     classifier = 'boot'
 }
@@ -44,7 +45,7 @@
 dependencies {
     compile(
             [group: 'org.springframework.cloud', name: 'spring-cloud-starter-config'],
-            [group: 'org.springframework.cloud', name: 'spring-cloud-starter-eureka'],
+            [group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-eureka-client'],
             [group: 'org.springframework.cloud', name: 'spring-cloud-spring-service-connector'],
             [group: 'org.springframework.boot', name: 'spring-boot-starter-jetty'],
             [group: 'org.apache.fineract.cn.portfolio', name: 'api', version: project.version],
@@ -67,8 +68,12 @@
     )
 }
 
+jar {
+    enabled = true
+}
+
 tasks.withType(PublishToMavenLocal) { task ->
-    task.dependsOn 'bootRepackage'
+    task.dependsOn 'bootJar'
 }
 
 publishing {
@@ -81,7 +86,7 @@
         }
         bootService(MavenPublication) {
             // "boot" jar
-            artifact(file("$buildDir/libs/$project.name-$project.version-${bootRepackage.classifier}.jar"))
+            artifact(file("$buildDir/libs/$project.name-$project.version-${bootJar.classifier}.jar"))
             groupId project.group
             artifactId ("$project.name-boot")
             version project.findProperty('externalVersion') ?: project.version
diff --git a/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java
index 1620ab8..d21ead0 100644
--- a/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java
@@ -37,7 +37,7 @@
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.domain.EntityScan;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-import org.springframework.cloud.netflix.feign.EnableFeignClients;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.cloud.netflix.ribbon.RibbonClient;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
diff --git a/shared.gradle b/shared.gradle
index fda6cd4..e068476 100644
--- a/shared.gradle
+++ b/shared.gradle
@@ -16,21 +16,21 @@
  */
 
 group 'org.apache.fineract.cn.portfolio'
-version '0.1.0-BUILD-SNAPSHOT'
+version 'spring_boot_2-SNAPSHOT'
 
 ext.versions = [
-        frameworkanubis      : '0.1.0-BUILD-SNAPSHOT',
-        frameworkapi         : '0.1.0-BUILD-SNAPSHOT',
-        frameworklang        : '0.1.0-BUILD-SNAPSHOT',
-        frameworkpostgresql  : '0.1.0-BUILD-SNAPSHOT',
-        frameworkcassandra   : '0.1.0-BUILD-SNAPSHOT',
-        frameworkcommand     : '0.1.0-BUILD-SNAPSHOT',
-        frameworktest        : '0.1.0-BUILD-SNAPSHOT',
-        frameworkasync       : '0.1.0-BUILD-SNAPSHOT',
-        fineractcnaccounting : '0.1.0-BUILD-SNAPSHOT',
-        fineractcnrhythm     : '0.1.0-BUILD-SNAPSHOT',
-        fineractcncustomer   : '0.1.0-BUILD-SNAPSHOT',
-        validator            : '5.3.0.Final',
+        frameworkanubis      : 'spring_boot_2-SNAPSHOT',
+        frameworkapi         : 'spring_boot_2-SNAPSHOT',
+        frameworklang        : 'spring_boot_2-SNAPSHOT',
+        frameworkpostgresql  : 'spring_boot_2-SNAPSHOT',
+        frameworkcassandra   : 'spring_boot_2-SNAPSHOT',
+        frameworkcommand     : 'spring_boot_2-SNAPSHOT',
+        frameworktest        : 'spring_boot_2-SNAPSHOT',
+        frameworkasync       : 'spring_boot_2-SNAPSHOT',
+        fineractcnaccounting : 'spring_boot_2-SNAPSHOT',
+        fineractcnrhythm     : 'spring_boot_2-SNAPSHOT',
+        fineractcncustomer   : 'spring_boot_2-SNAPSHOT',
+        validator            : '6.1.4.Final',
         javamoneylib         : '0.9-SNAPSHOT',
         expiringmap          : '0.5.8'
 ]
@@ -62,7 +62,7 @@
 dependencies {
     compile(
             [group: 'com.google.code.findbugs', name: 'jsr305'],
-            [group: 'org.apache.fineract.cn', name: 'postgresql', version: '0.1.0-BUILD-SNAPSHOT']
+            [group: 'org.apache.fineract.cn', name: 'postgresql', version: 'spring_boot_2-SNAPSHOT']
     )
 
     testCompile(
@@ -115,6 +115,10 @@
             "**/build/**",
             "gradlew",
             "gradlew.bat",
-            "README.md"
+            "README.md",
+            ".classpath",
+            ".project",
+            ".settings/**",
+            "**/bin/**"
     ]
 }
