diff --git a/build.gradle b/build.gradle
index 4152d81..d572218 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,27 +1,41 @@
 plugins {
-    id 'war'
+    id 'java'
     id 'org.springframework.boot'
     id 'org.jetbrains.kotlin.jvm'
     id 'org.jetbrains.kotlin.plugin.jpa'
     id 'org.jetbrains.kotlin.plugin.spring'
+    id "com.palantir.git-version" version "0.12.0-rc2"
+    id 'com.palantir.docker' version '0.22.1'
 }
 
 
-
 apply plugin: 'io.spring.dependency-management'
 
 group = 'com.supwisdom'
-version = payapiVersion
+version = restaurantVersion
 sourceCompatibility = jdkVersion
 
+restaurantVersion = gitVersion()
 
-war {
+def startClass = 'com.supwisdom.dlpay.RestaurantApplicationKt'
+
+bootJar {
+    mainClassName = startClass
     manifest {
-        attributes('Payapi-Version': rootProject.version)
-        writeTo(project.buildDir.toString() + "/classes/MATE-INF.MF")
+        attributes('Restaurant-Version': restaurantVersion)
     }
 }
 
+jar {
+    baseName = 'restaurant'
+}
+
+docker {
+    name 'harbor.supwisdom.com/dali/restaurant:' + version
+    println(jar.archivePath)
+    files jar.archivePath
+}
+
 repositories {
     mavenCentral()
     maven {
@@ -39,9 +53,9 @@
     compile group: 'org.apache.poi', name: 'poi', version: '3.10.1'
     compile group: 'org.apache.poi', name: 'poi-examples', version: '3.10.1'
     compile group: 'org.apache.poi', name: 'poi-excelant', version: '3.10.1'
-    compile group: 'org.apache.poi',name: 'poi-ooxml', version:'3.10.1'
-    compile group: 'org.apache.poi',name: 'poi-ooxml-schemas', version:'3.10.1'
-    compile group: 'org.apache.poi',name: 'poi-scratchpad', version:'3.10.1'
+    compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.10.1'
+    compile group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: '3.10.1'
+    compile group: 'org.apache.poi', name: 'poi-scratchpad', version: '3.10.1'
     compile 'com.supwisdom:payapi-sdk:e4bf762'
 
     implementation 'org.springframework.boot:spring-boot-devtools'
@@ -69,15 +83,12 @@
     implementation group: 'taglibs', name: 'standard', version: '1.1.2'
     implementation group: 'commons-codec', name: 'commons-codec', version: '1.6'
     implementation 'org.apache.commons:commons-lang3:3.9'
-//    implementation 'org.flywaydb:flyway-core'
-//    implementation group: 'javax.servlet.jsp', name: 'jsp-api', version: '2.1'
     implementation group: 'log4j', name: 'log4j', version: '1.2.16'
     implementation files('libs/ojdbc6.jar')
 
 
     annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
 
-    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
     testImplementation 'org.springframework.boot:spring-boot-starter-test'
     testImplementation 'io.rest-assured:rest-assured:3.3.0'
     testImplementation 'io.rest-assured:spring-mock-mvc:3.3.0'
@@ -90,10 +101,10 @@
         jvmTarget = jdkVersion
     }
 }
-/*
+
 compileTestKotlin {
     kotlinOptions {
         freeCompilerArgs = ['-Xjsr305=strict']
         jvmTarget = jdkVersion
     }
-}*/
+}
diff --git a/gradle.properties b/gradle.properties
index b59ebef..c4325c4 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,4 +1,4 @@
 springbootVersion = 2.1.3.RELEASE
 kotlinVersion = 1.2.41
-payapiVersion = 1.0
+restaurantVersion = 1.0
 jdkVersion = 1.8
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index bf3de21..dc057cb 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,6 @@
+#Wed Jul 10 14:15:07 CST 2019
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
diff --git a/settings.gradle b/settings.gradle
index ec967da..1dce1a4 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -5,7 +5,7 @@
                 if (requested.id.namespace.startsWith("org.jetbrains.kotlin")) {
                     println "Kotlin version $kotlinVersion"
                     useVersion kotlinVersion
-                } else if(requested.id.namespace.startsWith("org.springframework")) {
+                } else if (requested.id.namespace.startsWith("org.springframework")) {
                     println "Springboot version $springbootVersion"
                     useVersion springbootVersion
                 }
@@ -16,5 +16,5 @@
         gradlePluginPortal()
     }
 }
-rootProject.name = 'payapi'
+rootProject.name = 'restaurant'
 
diff --git a/src/main/java/com/supwisdom/dlpay/ServletInitializer.kt b/src/main/java/com/supwisdom/dlpay/ServletInitializer.kt
index b03a1dc..432b7aa 100644
--- a/src/main/java/com/supwisdom/dlpay/ServletInitializer.kt
+++ b/src/main/java/com/supwisdom/dlpay/ServletInitializer.kt
@@ -6,7 +6,7 @@
 class ServletInitializer : SpringBootServletInitializer() {
 
 	override fun configure(application: SpringApplicationBuilder): SpringApplicationBuilder {
-		return application.sources(PayApiApplication::class.java)
+		return application.sources(RestaurantApplication::class.java)
 	}
 
 }
diff --git a/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt b/src/main/kotlin/com/supwisdom/dlpay/RestaurantApplication.kt
similarity index 96%
rename from src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
rename to src/main/kotlin/com/supwisdom/dlpay/RestaurantApplication.kt
index 580ee13..5c5eb52 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/RestaurantApplication.kt
@@ -65,8 +65,8 @@
 
 
 @SpringBootApplication
-class PayApiApplication
+class RestaurantApplication
 
 fun main(args: Array<String>) {
-    runApplication<PayApiApplication>(*args)
+    runApplication<RestaurantApplication>(*args)
 }
