haliphax / ktor-starter-project

Ktor reference project implementation

Home Page:https://haliphax.github.io/ktor-starter-project/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ktor reference project implementation

A very basic ktor project with some convenient configuration and structure

Documentation Build Tests Coverage

Prerequisites

You will need a JDK that matches the version used by the project. (The current version is 21.) The project is primarily developed and tested against the Temurin JDK distribution from Adoptium.

Features

  • HTTP server with separate plugins for authentication, routing, and serialization
  • Coroutine-based gRPC server engine with demonstration service
  • Koin for annotation-driven dependency injection
  • Shared Gradle plugins, project dependencies, and build configuration
  • MockK and kotest libraries for coherent unit tests
  • JaCoCo test coverage plugin with reasonable configuration
  • Test report aggregation for collecting test reports for subprojects
  • Unified allTest testing suite (contains all other testing suites), with associated coverage report and verification tasks
  • GitHub Actions workflow for pull requests and merges
    • Checks PR title for gitmoji convention
    • Runs ktlint and prettier checks against files
    • Executes unit and integration tests
    • Test reports via Testspace
    • Coverage reports via Coveralls
      • Also added to PR as comment
      • Also added to workflow job summary
    • Builds project documentation with dokka

About

Ktor reference project implementation

https://haliphax.github.io/ktor-starter-project/


Languages

Language:Kotlin 90.4%Language:Shell 8.6%Language:JavaScript 0.9%