Skip to content

initialcapacity/kotlin-ktor-starter

Repository files navigation

Kotlin ktor starter

An application continuum style example using Kotlin and Ktor that includes a single web application with two background workers.

  • Basic web application
  • Data analyzer
  • Data collector

Technology stack

This codebase is written in a language called Kotlin that is able to run on the JVM with full Java compatibility. It uses the Ktor web framework, and runs on the Netty web server. HTML templates are written using Freemarker. The codebase is tested with JUnit and uses Gradle to build a jarfile.

Getting Started

  1. Build a Java Archive (jar) file.

    ./gradlew clean build
  2. Configure the port that each server runs on.

    export PORT=8881
  3. Run the servers locally using the below examples.

    java -jar applications/basic-server/build/libs/basic-server-1.0-SNAPSHOT.jar

    Data collector

    java -jar applications/data-collector-server/build/libs/data-collector-server-1.0-SNAPSHOT.jar

    Data analyzer

    java -jar applications/data-analyzer-server/build/libs/data-analyzer-server-1.0-SNAPSHOT.jar

Running with Docker

  1. Build with Docker.

    docker build -t kotlin-ktor-starter . --platform linux/amd64
  2. Run with docker.

    docker run -e PORT=8881 -p 8881:8881 kotlin-ktor-starter

That's a wrap for now.