Warning
This sample uses plugins, which will be deprecated. There is a new repository with actual Kotlin version and Kotlin/JS Gradle plugin.
Thinkter: A Kotlin Full-stack Application Example
Thinkter is an example of a full-stack Web application built with Kotlin. The backend runs on the JVM, and the browser front-end uses React. The example implements a very simple microblogging application.
Backend
The backend of Thinkter is built using Ktor, a Web framework built by the Kotlin team. For data persistence, it uses H2, allowing you to run the example without the need to configure an external SQL server. The HTTP server implementation is provided by Jetty.
To run the backend, use ./gradlew backend:run
, or open Thinkter as a project in IntelliJ IDEA and execute the shared
run configuration Backend :: Jetty
. This will start serving the REST API of the backend on port 9090.
Frontend
The frontend of Thinkter is built using React. To adapt the React APIs to Kotlin, it incorporates a set of wrappers, which you can also use in your projects and adapt to your needs.
The project is built using webpack and the Kotlin frontend plugin.
To run the frontend, use ./gradlew frontend:run
. This will start a webpack server on port 8080. Navigate to http://localhost:8080
to start using the application.