• Go to start.spring.io.
  • Configure your project:
    • Project: Gradle - Kotlin
    • Language: Kotlin
    • Spring Boot: 3.2.x or latest stable 3.x
    • Project Metadata:
      • Group: com.example (or your preferred group ID)
      • Artifact: regent
      • Name: regent
      • Description: Regent Job Orchestration Platform
      • Package name: com.endlessuphill.regent (or adjust based on Group/Artifact)
      • Packaging: Jar
      • Java: 17 (or newer)
    • Dependencies: Click “Add Dependencies” and add the following:
      • Spring Reactive Web
      • Spring Data R2DBC
      • PostgreSQL Driver (ensure it’s the R2DBC one, io.r2dbc:r2dbc-postgresql)
      • Spring Data Redis (Reactive)
      • Spring Security
      • Validation (useful for request body validation later)
      • Jackson Module Kotlin
      • Flyway Migration (for DB schema management)
      • (For JWT later - we’ll add these manually if needed, but they are: io.jsonwebtoken:jjwt-api, io.jsonwebtoken:jjwt-impl, io.jsonwebtoken:jjwt-jackson)
  • Click “Generate” and download the zip file.

Next Step