$ show spring-guides/tut-spring-boot-kotlin
This is a monolithic Spring Boot web application built with Kotlin that implements a blog engine. The application serves both HTML pages via Mustache templates and provides a REST API for articles and users. It uses Spring Data JDBC for data access with an H2 database, and includes sample data initialization. The architecture follows standard Spring MVC patterns with controllers handling web and API requests, repositories for data access, and configuration properties for externalized settings. The code demonstrates idiomatic Kotlin usage with extension functions, data classes, and proper null safety.
The LLM identified 3 files worth highlighting for reuse:
Contains reusable Kotlin extension functions for LocalDateTime formatting (English ordinal dates) and String slug generation. These self-contained utilities demonstrate idiomatic Kotlin extensions and could be easily extracted to any Kotlin project needing date formatting or URL slug creation.
Defines clean Article and User data models using Spring Data JDBC annotations. Shows proper use of @Table, @Column, @Id, and AggregateReference for relationships. The models use Kotlin data classes with default values derived from extension functions, demonstrating a reusable pattern for Spring Data JDBC entity definition.
Implements typesafe configuration properties using @ConfigurationProperties with a nested data class for banner settings. Demonstrates a clean, reusable pattern for externalizing application configuration in Spring Boot applications with minimal boilerplate.