This is a template to help you get started building amazing Kotlin applications and libraries.

Overview

Welcome to the Starter

This is a template to help you get started building amazing Kotlin applications and libraries. Over time, examples will be compiled as individual modules, that users can pick and choose from when starting their repo.

Out of the box, sourdough-kt comes with some really nice tooling

  • Static Analysis using Detekt
  • Improved test logging
  • Automated git hooks
  • Code coverage with aggregated report via Jacoco plugin
  • Preconfigured library publishing to GitHub and Maven Central
  • Automated Docker Packaging (TODO)

Currently, there are several example modules included. These can be added to or removed via the settings.gradle.kts file.

  • App: Simple Hello World Kotlin Application
  • Api: Bare-bones Ktor application
  • Lib: An example library that is imported into both the app and api

Sourdough takes advantage of several new Gradle 7 features. Dependencies are managed via the gradle/libs.version.toml file. Type safe library and project accessors are enabled.

Comments
  • chore(deps): update plugin io.bkbn.sourdough.root to v0.4.1

    chore(deps): update plugin io.bkbn.sourdough.root to v0.4.1

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | io.bkbn.sourdough.root | 0.3.3 -> 0.4.1 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
  • chore(deps): update dependency ch.qos.logback:logback-core to v1.2.10

    chore(deps): update dependency ch.qos.logback:logback-core to v1.2.10

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | ch.qos.logback:logback-core (source) | 1.2.3 -> 1.2.10 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
  • chore(deps): update dependency ch.qos.logback:logback-classic to v1.2.10

    chore(deps): update dependency ch.qos.logback:logback-classic to v1.2.10

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | ch.qos.logback:logback-classic (source) | 1.2.3 -> 1.2.10 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
  • chore(deps): update plugin org.jetbrains.kotlin.plugin.serialization to v1.7.22

    chore(deps): update plugin org.jetbrains.kotlin.plugin.serialization to v1.7.22

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.jetbrains.kotlin.plugin.serialization | 1.7.21 -> 1.7.22 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update plugin org.jetbrains.kotlin.jvm to v1.7.22

    chore(deps): update plugin org.jetbrains.kotlin.jvm to v1.7.22

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.jetbrains.kotlin.jvm | 1.7.21 -> 1.7.22 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update dependency org.flywaydb:flyway-core to v9.8.3

    fix(deps): update dependency org.flywaydb:flyway-core to v9.8.3

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.flywaydb:flyway-core (source) | 9.8.2 -> 9.8.3 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update dependency org.postgresql:postgresql to v42.5.1

    fix(deps): update dependency org.postgresql:postgresql to v42.5.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.postgresql:postgresql (source) | 42.5.0 -> 42.5.1 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update plugin io.gitlab.arturbosch.detekt to v1.22.0

    chore(deps): update plugin io.gitlab.arturbosch.detekt to v1.22.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | io.gitlab.arturbosch.detekt | 1.21.0 -> 1.22.0 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.4.5

    fix(deps): update dependency ch.qos.logback:logback-classic to v1.4.5

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | ch.qos.logback:logback-classic (source) | 1.4.4 -> 1.4.5 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update dependency org.flywaydb:flyway-core to v9.8.2

    fix(deps): update dependency org.flywaydb:flyway-core to v9.8.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.flywaydb:flyway-core (source) | 9.8.1 -> 9.8.2 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update dependency io.bkbn:kompendium-core to v3.9.0

    fix(deps): update dependency io.bkbn:kompendium-core to v3.9.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | io.bkbn:kompendium-core | 3.8.0 -> 3.9.0 | age | adoption | passing | confidence |


    Release Notes

    bkbnio/kompendium

    v3.9.0

    Added
    • protobuf-java-converter module for converting generated protobuf objects to JsonSchema representations
    Changed
    • Application rootPath is no longer prefixed to serialized route path when NotarizedRoute is resolved

    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency gradle to v7.6

    chore(deps): update dependency gradle to v7.6

    Mend Renovate

    This PR contains the following updates:

    | Package | Update | Change | |---|---|---| | gradle (source) | minor | 7.5.1 -> 7.6 |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Other Branches

    These updates are pending. To force PRs open, click the checkbox below.

    • [ ] chore(deps): update plugin org.jetbrains.kotlin.jvm to v1.8.0
    • [ ] chore(deps): update plugin org.jetbrains.kotlin.plugin.serialization to v1.8.0
    • [ ] fix(deps): update dependency org.flywaydb:flyway-core to v9.10.2
    • [ ] fix(deps): update io.ktor to v2.2.2 (io.ktor:ktor-client-mock, io.ktor:ktor-serialization-kotlinx-json, io.ktor:ktor-server-content-negotiation, io.ktor:ktor-server-status-pages, io.ktor:ktor-serialization, io.ktor:ktor-server-auth-jwt, io.ktor:ktor-server-auth, io.ktor:ktor-server-cio, io.ktor:ktor-server-core)

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Detected dependencies

    docker-compose
    docker-compose.yml
    • postgres 15
    github-actions
    .github/workflows/pr_checks.yml
    • actions/checkout v3
    • actions/setup-java v3
    • burrunan/gradle-cache-action v1
    • actions/checkout v3
    • actions/setup-java v3
    • burrunan/gradle-cache-action v1
    .github/workflows/publish.yml
    • actions/checkout v3
    • actions/setup-java v3
    • burrunan/gradle-cache-action v1
    .github/workflows/release.yml
    • actions/checkout v3
    • actions/setup-java v3
    • burrunan/gradle-cache-action v1
    • actions/checkout v3
    • actions/setup-java v3
    • burrunan/gradle-cache-action v1
    gradle
    gradle.properties
    • io.ktor:ktor-server-core 2.1.3
    • io.ktor:ktor-server-cio 2.1.3
    • io.ktor:ktor-server-auth 2.1.3
    • io.ktor:ktor-server-auth-jwt 2.1.3
    • io.ktor:ktor-serialization 2.1.3
    • io.ktor:ktor-server-status-pages 2.1.3
    • io.ktor:ktor-server-content-negotiation 2.1.3
    • io.ktor:ktor-serialization-kotlinx-json 2.1.3
    • io.ktor:ktor-client-mock 2.1.3
    settings.gradle.kts
    build.gradle.kts
    • io.bkbn.sourdough.root 0.12.0
    • com.github.jakemarsden.git-hooks 0.0.2
    • org.jetbrains.kotlinx.kover 0.6.1
    • org.jetbrains.kotlin.jvm 1.7.22
    • org.jetbrains.kotlin.plugin.serialization 1.7.22
    • io.bkbn.sourdough.library.jvm 0.12.0
    • io.bkbn.sourdough.application.jvm 0.12.0
    • io.gitlab.arturbosch.detekt 1.22.0
    • com.adarshr.test-logger 3.2.0
    api/build.gradle.kts
    • ch.qos.logback:logback-classic 1.4.5
    • org.jetbrains.kotlinx:kotlinx-serialization-json 1.4.1
    • io.bkbn:kompendium-core 3.9.0
    • org.jetbrains.kotlinx:kotlinx-datetime 0.4.0
    • io.kotest:kotest-runner-junit5-jvm 5.5.4
    • io.kotest:kotest-assertions-core-jvm 5.5.4
    • io.kotest:kotest-assertions-ktor 4.4.3
    • io.kotest:kotest-runner-junit5-jvm 5.5.4
    • io.kotest:kotest-assertions-core-jvm 5.5.4
    • io.kotest:kotest-assertions-ktor 4.4.3
    app/build.gradle.kts
    • io.kotest:kotest-runner-junit5-jvm 5.5.4
    • io.kotest:kotest-assertions-core-jvm 5.5.4
    cli/build.gradle.kts
    • org.jetbrains.kotlinx:kotlinx-cli-jvm 0.3.5
    • io.github.unredundant:satisfaketion-core 0.6.4
    • io.github.unredundant:satisfaketion-generators 0.6.4
    • io.github.unredundant:satisfaketion-mutators 0.6.4
    • co.touchlab:kermit 1.2.2
    client/build.gradle.kts
    • io.kotest:kotest-runner-junit5-jvm 5.5.4
    • io.kotest:kotest-assertions-core-jvm 5.5.4
    domain/build.gradle.kts
    • io.kotest:kotest-runner-junit5-jvm 5.5.4
    • io.kotest:kotest-assertions-core-jvm 5.5.4
    lib/build.gradle.kts
    • io.kotest:kotest-runner-junit5-jvm 5.5.4
    • io.kotest:kotest-assertions-core-jvm 5.5.4
    persistence/build.gradle.kts
    • org.flywaydb:flyway-core 9.8.3
    • com.zaxxer:HikariCP 5.0.1
    • org.postgresql:postgresql 42.5.1
    • org.jetbrains.exposed:exposed-core 0.41.1
    • org.jetbrains.exposed:exposed-dao 0.41.1
    • org.jetbrains.exposed:exposed-jdbc 0.41.1
    • org.jetbrains.exposed:exposed-kotlin-datetime 0.41.1
    • io.kotest:kotest-runner-junit5-jvm 5.5.4
    • io.kotest:kotest-assertions-core-jvm 5.5.4
    gradle-wrapper
    gradle/wrapper/gradle-wrapper.properties
    • gradle 7.5.1

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Owner
Backbone
Backbone
Spring-graphql-getting-started - Spring for GraphQL provides support for Spring applications built on GraphQL Java

Getting Started with GraphQL and Spring Boot Spring for GraphQL provides support

Shinya 0 Feb 2, 2022
Repo: Programming problems with solutions in Kotlin to help avid Kotlin learners to get a strong hold on Kotlin programming.

Kotlin_practice_problems Repo: Programming problems with solutions in Kotlin to help avid Kotlin learners to get a strong hold on Kotlin programming.

Aman 0 Oct 14, 2021
Add page & limit as GET parameter to get all titans data in a paginated format

Add page & limit as GET parameter to get all titans data in a paginated format (default values : page=1 and limit=3). Here the page param is the page number which you require and limit is the maximum number of items per page. Sample Request :

krishna chaitanya 1 Jan 31, 2022
Building Web Applications with React and Kotlin JS Hands-On Lab

Building Web Applications with React and Kotlin JS Hands-On Lab This repository is the code corresponding to the hands-on lab Building Web Application

Brian Donnoe 0 Nov 13, 2021
Template for building CLI tool in Kotlin and producing native binary

Kotlin command-line native tool template This template allows you to quickly build command-line tool using Kotlin , Clikt and build a native binary fo

Ryszard Grodzicki 10 Dec 31, 2022
Getting started Kotlin - Examples and explanations

Getting started Kotlin I'm learning Kotlin, so I have been updating it with examples and explanations about the language that I'm using at work. Proje

Jean Jacques Nascimento Barros 2 Apr 25, 2022
Amazing and easy to use Accordion Library for Android built with kotlin

AccoLib An easy-to-use, amazing Accordion Library for Android built with kotlin. It reduces the amount of code needed to make Accordions in android, w

Gourav Khunger 6 Jul 4, 2022
Therapeutic is a platform to help easily connect patients or generally anyone struggling to get through tough times with motivating content and professional therapists.

Therapeutic Apk - https://github.com/develNerd/Therapeutic/blob/main/androidApp/release/androidApp-release6.apk Therapeutic is a Kotlin Mobile Multipl

Isaac Akakpo 1 Nov 23, 2022
Examples of Getting Started vΓ­deos

Getting Started Kotlin Learn the basics of getting started with kotlin --->>> Repo: Kotlin Koans <<<--- --->>> Repo: Problems Kotlin <<<--- --->>> Rep

Victor Bolinches 41 Dec 4, 2022
Getting Started with the URL Shortener project

Getting Started with the URL Shortener project Overall structure The structure of this project is heavily influenced by the clean architecture: A core

null 0 Nov 8, 2021
A Simple Android library to get the number of words and give you the time it will take you to finish an article/story.

MinRead A Simple Android library to get the number of words and give you the time it will take you to finish an article/story. Prerequisite Androidx K

Nwokocha wisdom maduabuchi 36 Nov 17, 2021
A collection of katas either copied or ported from some amazing folks

Kotlin Refactoring Katas A collection of katas either copied or ported from some

Ragunath Jawahar 5 Nov 15, 2022
Kotlin-koans - Kotlin Koans are a series of exercises to get you familiar with the Kotlin Syntax

kotlin-koans-edu Kotlin Koans are a series of exercises to get you familiar with

null 1 Jan 11, 2022
A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends!

Meme Share A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends! Tech stack 100% wri

StΙ‘rry ShivΙ‘m 8 Aug 10, 2022
NPS android library to get the feedback you need from users

netpromoterscore NPS android library helps you to get the feedback you need from the users Gradle Dependency: implementation 'com.github.quantumlibs:n

Nithin Naubad 1 May 12, 2022
KVision allows you to build modern web applications with the Kotlin language

KVision allows you to build modern web applications with the Kotlin language, without any use of HTML, CSS or JavaScript. It gives you a rich hierarchy of ready to use GUI components, which can be used as builder blocks for the application UI.

Robert Jaros 985 Jan 1, 2023
An Android template you can use to build your project with gradle kotlin dsl

Android Gradle KTS An Android template you can use to build your project with gradle kotlin dsl Build.gradle.kts You can use your project's build.grad

Deep 17 Sep 12, 2022
A toy port scanner to help me (and you!) learn Kotlin + Akka.

kotlin-akka-portscan A toy program to help me (and you!) learn Kotlin + Akka. butwhy.gif When I want to learn a new language, I've found it helpful to

Jeremi M Gosney 4 Jul 23, 2022
BindsAdapter is an Android library to help you create and maintain Adapter class easier via ksp( Kotlin Symbol Processing).

BindsAdapter BindsAdapter is an Android library to help you create and maintain Adapter class easier via ksp( Kotlin Symbol Processing). Installation

Jintin 5 Jul 30, 2022