Skip to content

nicos-dev/spring-boot-template-project

Repository files navigation

Spring Boot Template Project

Clone repository, execute script & start writing code without the same boilerplate over and over again.


About

Versions: Gradle 7.5 Java 17 Keycloak 19.0.2

Features:
✔️ Keycloak Authentication
✔️ Swagger + Authentication via Keycloak
✔️ Caching using Redis + clear cache endpoint
✔️ Startup Logger + Logger bean injection
✔️ Object Mapping
✔️ Index Page
✔️ API Versioning
✔️ Dummy implementation (controller, service, entity, repository & dto)
✔️ API Json response formatting
✔️ Maria DB + Liquibase
✔️ Dockerfile + GitHub Action


Prerequisites

  • Docker Desktop & Logged into Docker
  • Some IDE
  • Tool to execute bash script (on Windows may use GitBash)

Start

# Run the script
./setup-project.sh -d "<domain>" -g "<group>" -a "<app-name>"

After script finished....

  1. Navigate to Keycloak Admin Console (pw: admin; un: admin)
  2. Create realm <group> (see image 1)
  3. Create client swagger in created realm (see image 2)
  4. Create client <group>_<app-name> in created realm (see image 3)
  5. Create user in created realm (see image 4 + 5)
  6. Run application & open index page
  7. Follow link to Swagger, then hit authenticate and use implicit & finally login with the user you created
  8. Finally fetch objects via GET api/v1/dummy-objects in Swagger 🎉


Image 1


Image 2


Image 3


Image 4


Image 5