Skip to content

A hands-on learning hub for Spring Boot, showcasing REST APIs, security, JPA, Thymeleaf, OpenAPI, admin monitoring, and AI integrations. Perfect for developers mastering modern Spring Boot applications.

License

alexmond/spring-boot-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot Playground Modules

This project is a multi-module Spring Boot playground showcasing REST APIs, configuration, security, OpenAPI, JPA + Flyway, Thymeleaf MVC, Admin monitoring, and AI integrations.

1. Module Map

  • spring-boot-rest-sample — REST API basics

  • spring-boot-config-sample — Externalized configuration patterns

  • spring-boot-admin-server — Admin UI for monitoring apps

  • spring-boot-config-server — Centralized configuration service

  • spring-boot-data-jpa-flyway — Persistence + migrations

  • spring-boot-openapi-root — Parent for OpenAPI samples

  • spring-boot-thymeleaf — Server-side MVC with Thymeleaf

  • spring-boot-security-root — Parent for security samples

  • spring-boot-security-basic — Basic auth demo

  • spring-boot-security-jwt — JWT-based security demo

  • spring-boot-ai-samples — Spring AI integrations

  • openapi-sample (under spring-boot-openapi-root) — Concrete OpenAPI demo

2. spring-boot-rest-sample

A reference REST service demonstrating: - CRUD endpoints with JSON payloads - Bean validation and error handling - Controller advice for exceptions - Meaningful HTTP status codes

How to run: - mvn spring-boot:run - Explore endpoints under /api

Learning goals: - Build clean REST controllers - Structure DTOs/validation - Centralize error responses

3. spring-boot-config-sample

Externalized configuration patterns: - application.yaml + profiles - @ConfigurationProperties with validation - Metadata via configuration processor

How to run: - Use -Dspring.profiles.active=dev|prod to switch environments

Learning goals: - Safe, typed configuration binding - Profile-specific settings - Documenting configuration

4. spring-boot-admin-server

Admin console to monitor Spring Boot apps: - Health, metrics, environment, logs - JVM info and endpoints overview

How to run: - Start this server, then register client apps with admin client starter

Learning goals: - Observability with minimal setup - Operational visibility for teams

5. spring-boot-config-server

Centralized configuration with Spring Cloud Config: - Git-backed properties - Environment-specific files - Encryption/decryption support

How to run: - Point spring.cloud.config.server.git.uri to a repo - Clients fetch configuration at bootstrap

Learning goals: - Central config management - Safe secret handling and refresh

6. spring-boot-data-jpa-flyway

Persistence + migrations: - Spring Data JPA repositories - Transactions and entity mapping - Flyway versioned migrations

How to run: - mvn spring-boot:run (Flyway runs at startup)

Learning goals: - Reliable schema evolution - Clean repository design - Testing data layers

7. spring-boot-openapi-root

Parent for OpenAPI samples providing: - Dependency and plugin alignment - Shared conventions for documentation

Learning goals: - Organizing API documentation across modules

7.1. openapi-sample

Concrete OpenAPI demo: - springdoc-openapi integration - Swagger UI - Schemas and validation annotations

How to run: - mvn spring-boot:run - Visit /swagger-ui.html

Learning goals: - API-first documentation - Accurate schemas and examples

8. spring-boot-thymeleaf

Server-side MVC with Thymeleaf: - Templates, fragments, and layouts - Form binding and validation - I18n support

How to run: - mvn spring-boot:run - Visit web UI routes

Learning goals: - Productive SSR development - Clean template composition

9. spring-boot-security-root

Parent for security samples: - Baseline dependencies - Shared configuration practices

Learning goals: - Consistent security setup across modules

9.1. spring-boot-security-basic

Basic authentication: - In-memory users/roles - Form login and protected routes

How to run: - mvn spring-boot:run - Access a protected endpoint to see login flow

Learning goals: - Security filter chain basics - Method and URL-based authorization

9.2. spring-boot-security-jwt

JWT-based security: - Token issuance/validation - Stateless sessions - Role-based access

How to run: - Obtain token via auth endpoint - Call protected APIs with Authorization: Bearer <token>

Learning goals: - API security at scale - Token lifecycle and best practices

10. spring-boot-ai-samples

AI integrations with Spring AI: - Chat/completions flows - Prompt engineering patterns - Retry and observability

How to run: - Configure AI provider credentials via env/properties - mvn spring-boot:run

Learning goals: - Safely integrate AI services - Reusable abstractions for AI features

About

A hands-on learning hub for Spring Boot, showcasing REST APIs, security, JPA, Thymeleaf, OpenAPI, admin monitoring, and AI integrations. Perfect for developers mastering modern Spring Boot applications.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages