Milestone:

  • A runnable Spring Boot application structure exists.
  • Dependencies for WebFlux, R2DBC, Postgres, Redis, Security, Flyway are included.
  • Core Kotlin data classes representing our domain models are defined.
  • Spring Data R2DBC repository interfaces are defined for data access.
  • application.properties is configured to connect to Postgres and Redis.
  • An initial Flyway migration script (V1__Initial_schema.sql) defines the database tables.
  • The project is structured to support future features like JWT authentication, job scheduling, and more.

Try running the Spring Boot application (./gradlew bootRun or via your IDE). It should:

  1. Connect to PostgreSQL.
  2. Run the Flyway migration, creating the tables.
  3. Connect to Redis.

Next Step