/hack-to-kotlin

With the recipe service you can perform crud operations on the recipes data.

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Awesome Kotlin Badge

We assume that you already have some basic knowledge about Kotlin, but you want to go beyond that and learn how to use it with the Spring Boot framework. This workshop is here to help you with that.

Note: This project is created as part of the hands-on part of the hack-to-kotlin workshop. You may use it outside the context of the workshop.

About this workshop

In this workshop you will start with migrating a good old Java Spring Boot Rest service to Kotlin by following recipes. In the recipes we will touch upon:

  • the best practices of using Kotlin
  • the Kotlin utilities you get out-of-the box
  • the pitfalls of converting Java code straight to Kotlin
  • Kotlin's interoperability with Java
  • neat Kotlin features
  • and more!

What this workshop is not

Please keep in mind that the goal of this workshop is not to explain Java, Spring Boot modules or any other tool or library, but to expand on certain aspects that come in play when gradually migrating a Java Spring Boot project to Kotlin. And be aware that this workshop does not cover what Spring offers! We want to give you a taste of what is possible and later extend it based on requests from the community. This workshop is not perfect! But with your help we can improve it.

The Recipes

Start converting Java-To-Kotlin

The first recipes in this workshop explain step-by-step what needs to be done to migrate the Java code. Follow the recipes here in the right order, and you will be done converting the Java code to Kotlin in no time!


Installation

Install the following software:

  • Java 11
  • Maven v3
  • IntelliJ
  • Git

Fork this project and clone it. You can also directly clone this project and keep your changes locally.

Run maven verify command to test the installation:

./mvnw clean verify

Feedback

Let us know what you think about this workshop by filling in this form.