This codebase was created to demonstrate a fully fledged fullstack application built with Kotlin + Ktor + Kodein + Exposed including CRUD operations, authentication, routing, pagination, and more.
We've gone to great lengths to adhere to the Kotlin + Ktor community styleguides & best practices.
The application was built with:
- Kotlin as programming language
- Ktor as web framework
- Kodein as dependency injection framework
- Jackson as data bind serialization/deserialization
- Java-jwt for JWT spec implementation
- HikariCP as datasource to abstract driver implementation
- MySQL as database
- Exposed as Sql framework to persistence layer
+ config/
All app setups. Ktor, Kodein and Database
+ domain/
+ repository/
Persistence layer and tables definition
+ service/
Logic layer and transformation data
+ models/
data model classes
+ Routes/
Router definition to features and exceptions
+ ext/
Extension of String for email validation
+ utils/
Jwt and Encrypt classes
+ web/
+ controllers
Classes and methods to mapping actions of routes
- App.kt <- The main class
You need just JVM installed.
The server is configured to start on 3000.