Skip to content

Minimal Spring Boot based reactive app example, which manages user entity (including Swagger UI).

License

Notifications You must be signed in to change notification settings

IQKV/sample-reactive-crud-secured

🚀 User Departments - Reactive app

Minimal Spring Boot based reactive CRUD example, which manages user entity (including Swagger UI).

Technology stack

Java 21, Spring Boot, Webflux, Postgres, Flyway, Springfox

Prerequisites

The following items should be installed in your system:

Database configuration

Application uses a Postgres as a persistent storage. Options to get it up:

  1. Use remote existing postgres. It is needed to specify the path in configs.
  2. Start local postgres in docker docker compose -f compose.yaml up -d

Running locally

This application is a Spring Boot application built using Maven. You can build a jar file and run it from the command line:

git clone https://github.com/IQKV/sample-reactive-crud-secured.git
cd sample-reactive-crud-secured
./mvnw package
java -jar target/*.jar

You might also want to use Maven's spring-boot:run goal - applications run in an exploded form, as they do in your IDE:

./mvnw spring-boot:run -Dspring-boot.run.profiles=local -P dev

Now you can access to the Swagger UI here: http://localhost:8080/swagger-ui.html

Working with the Application in your IDE

  1. On the command line
git clone https://github.com/IQKV/sample-reactive-crud-secured.git
  1. Inside IDE

In the main menu, choose File -> Open and select the Application pom.xml. Click on the Open button. Activate "local" profile in the Run settings or set it via environment variables. instruction Wait to indexing completion and push the green "play" button.

  1. Navigate to Swagger UI

Visit http://localhost:8080/swagger-ui.html in your browser.

Code conventions

The code follows Google Code Conventions. Code quality is measured by:

Tests

This project contains JUnit tests, Hamcrest matchers, Mockito test doubles, Wiremock stubs, etc. You can run the test suite using

./mvnw verify -P use-testcontainers

Versioning

Project uses a three-segment CalVer scheme, with a short year in the major version slot, short month in the minor version slot, and micro/patch version in the third and final slot.

 YY.MM.MICRO
  1. YY - short year - 6, 16, 106
  2. MM - short month - 1, 2 ... 11, 12
  3. MICRO - "patch" segment

About

Minimal Spring Boot based reactive app example, which manages user entity (including Swagger UI).

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Contributors 3

  •  
  •  
  •