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.
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.
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.