{"id":16367936,"url":"https://github.com/treetips/kotlin-spring-boot-webflux-springfox-example","last_synced_at":"2026-05-04T11:38:00.376Z","repository":{"id":150606710,"uuid":"170349601","full_name":"treetips/kotlin-spring-boot-webflux-springfox-example","owner":"treetips","description":"Spring boot(webflux) + SpringFox example","archived":false,"fork":false,"pushed_at":"2019-02-12T16:24:22.000Z","size":1774,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-17T21:05:44.008Z","etag":null,"topics":["kotlin","spring-boot","springfox","swagger","swagger2"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/treetips.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-12T16:15:57.000Z","updated_at":"2019-02-12T16:24:21.000Z","dependencies_parsed_at":"2023-06-12T00:45:12.784Z","dependency_job_id":null,"html_url":"https://github.com/treetips/kotlin-spring-boot-webflux-springfox-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/treetips/kotlin-spring-boot-webflux-springfox-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treetips%2Fkotlin-spring-boot-webflux-springfox-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treetips%2Fkotlin-spring-boot-webflux-springfox-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treetips%2Fkotlin-spring-boot-webflux-springfox-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treetips%2Fkotlin-spring-boot-webflux-springfox-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/treetips","download_url":"https://codeload.github.com/treetips/kotlin-spring-boot-webflux-springfox-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treetips%2Fkotlin-spring-boot-webflux-springfox-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32606368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kotlin","spring-boot","springfox","swagger","swagger2"],"created_at":"2024-10-11T02:51:14.733Z","updated_at":"2026-05-04T11:38:00.356Z","avatar_url":"https://github.com/treetips.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kotlin-spring-boot-webflux-springfox-example\n\n## Features\n\n* kotlin v1.3\n* Gradle v5\n* Java v11\n* Spring boot v2.1\n* jOOQ (ORM)\n* Liquibase\n* thymeleaf v3\n* MySQL v8\n* Redis v5\n* Docker\n* MailCatcher (Virtual smtp and local webmailer)\n* HikariCP (Fast and eco connection pooling)\n* Lettuce redis client\n* Swagger\n* Swagger UI\n\n### Api project features\n\n* SpringFox for WebFlux\n* Webflux\n* Router function\n* jOOQ ORM\n* Repository cache for redis\n\n## Requirement\n\n* macOS\n* IntelliJ IDEA\n\n## Project\n\n### Project structure\n\n```\ndatabase\n└── base\n      └── api\n```\n\n### Project role\n\n| project name | Executable jar | description |\n|:----|:---|:---|\n|database|☓|generate-jooq, migrate-liquibase, auto-generated jooq files|\n|base|☓|share project|\n|api|◯|api project|\n\n## Setup\n\n### Install sdkman\n\nInstall java by [sdkman](https://sdkman.io/install).\n\n```bash\n# check java versions\n$ sdk list java | grep adpt\n     13.ea.07-open   \u003e * 8.0.202.hs-adpt\n     11.0.2.j9-adpt      1.0.0-rc-12-grl\n     11.0.2.hs-adpt      1.0.0-rc-11-grl\n     8.0.202.j9-adpt\n# install java11\nsdk install java 11.0.2.hs-adpt\n```\n\n### Install Docker Desktop\n\nhttps://docs.docker.com/docker-for-mac/install/\n\n### Git clone project\n\n```bash\n# clone project\ngit clone https://github.com/treetips/kotlin-spring-boot-webflux-springfox-example.git\ncd kotlin-spring-boot-webflux-springfox-example\n```\n\n### Install IntelliJ IDEA\n\nInstall community(or ultimate) edition.\n\nhttps://www.jetbrains.com/idea/download/#section=mac\n\n### Install IntelliJ IDEA plugin\n\n* Start IntelliJ IDEA.\n* `Welcome to IntelliJ IDEA` → `Configure` → `Plugins` → `Install JetBrains plugin` . Install `Editorconfig` .\n\n### Import sample project\n\n* Start IntelliJ IDEA.\n* `Welcome to IntelliJ IDEA` → `Configure` → `Project Defaults` → `Project Structure` .\n* `SDKs` → `+` → `JDK` -\u003e `$HOME/.sdkman/candidates/java/11.0.2.hs-adpt` .\n* `Welcome to IntelliJ IDEA` -\u003e `Import Project` -\u003e choose clone directory.\n* `Import from external project model` → `Gradle` -\u003e Next.\n* Check to `Use auto-import` and `Use gradle 'wrapper' task configuration`. Choose `Gradle JVM` to `Use JAVA_HOME(sdkman)` . Choose `Project format` to `.idea (directory based)` .\n* Startup IntelliJ IDEA, jar file downloading of gradle is automatically started. Wait for few minutes.\n\n## Usage\n\n### Start docker daemon\n\nRequire starting docker daemon.\n\n### Start docker-compose\n\n```bash\ncd ${PROJECT_ROOT}\ndocker-compose up -d\n```\n\nStart to `MySQL-server` and `Redis-server` and `MailCatcher(Virtual SMTP)`.\n\n### Start API\n\nRight click on `com.example.api.ApiApplication.kt` -\u003e Run.\n\nBrowse `http://localhost:8080/api/prefecture/`\n\nBrowse `http://localhost:8080/swagger-ui.html`\n\n## Optional\n\n### Open webmailer(MailCatcher)\n\n`docker-compose up -d`, browse `http://localhost:1080` .\n\n### Connect to local MySQL-server on docker\n\n```bash\ncd $PROJECT_ROOT\n./connect-mysql.sh\n```\n\n### Connect to local Redis-server on docker\n\n```bash\ncd $PROJECT_ROOT\n./connect-redis.sh\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftreetips%2Fkotlin-spring-boot-webflux-springfox-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftreetips%2Fkotlin-spring-boot-webflux-springfox-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftreetips%2Fkotlin-spring-boot-webflux-springfox-example/lists"}