Convert server code from Kotlin/Ktor to Java/Spring Boot

In the long-term, I'm not confident that Kotlin will replace Java on the
backend nor that Ktor will replace Spring Boot as the most popular
JVM language or framework, respectively. I don't really have any desire
to be on the bleeding edge of tech or go off the beaten path for this so
I'd like to keep with the industry standards so that it's easier for me
to work on over time.
This commit is contained in:
William Brawner 2020-09-04 14:02:57 -07:00
parent d23fdafc1f
commit a7c682bed0
139 changed files with 88 additions and 433 deletions

View file

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.4-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

33
server/.gitignore vendored
View file

@ -1 +1,34 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/

27
server/build.gradle Normal file
View file

@ -0,0 +1,27 @@
plugins {
id 'org.springframework.boot' version '2.3.3.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
}
sourceCompatibility = '14'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-quartz'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
runtimeOnly 'mysql:mysql-connector-java'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
testImplementation 'org.springframework.security:spring-security-test'
}
test {
useJUnitPlatform()
}

View file

@ -1,41 +0,0 @@
plugins {
kotlin("jvm")
application
}
application {
mainClassName = "io.ktor.server.netty.EngineMain"
}
sourceSets {
main {
java.srcDir("src")
resources.srcDir("resources")
}
test {
java.srcDir("test")
resources.srcDir("testresources")
}
}
val ktorVersion: String by project
val logbackVersion: String by project
val exposedVersion: String by project
dependencies {
implementation(kotlin("stdlib"))
implementation(project(":shared"))
implementation("io.ktor:ktor-server-netty:$ktorVersion")
implementation("ch.qos.logback:logback-classic:$logbackVersion")
implementation("io.ktor:ktor-server-core:$ktorVersion")
implementation("io.ktor:ktor-auth:$ktorVersion")
implementation("io.ktor:ktor-auth-jwt:$ktorVersion")
implementation("io.ktor:ktor-gson:$ktorVersion")
testImplementation("io.ktor:ktor-server-tests:$ktorVersion")
implementation("org.jetbrains.exposed:exposed-core:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-dao:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-jdbc:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-java-time:$exposedVersion")
implementation("mysql:mysql-connector-java:8.0.19")
implementation("com.zaxxer:HikariCP:3.4.2")
}

Some files were not shown because too many files have changed in this diff Show more