Skip to content

Latest commit

 

History

History
423 lines (315 loc) · 21.4 KB

File metadata and controls

423 lines (315 loc) · 21.4 KB

Master Index

Complete file index for the java-spring-tutorials repository.

Table of Contents


Quick Links

Type Link
AI guidance AGENTS.md
Run all modules QUICK_START.md
CI quality gates CI_PLAN.md

Repository Root

java-spring-tutorials/
├── README.md
├── AGENTS.md
├── pom.xml
├── checkstyle.xml
├── .editorconfig
├── .gitignore
└── .github/workflows/java-ci.yml
File Purpose
README.md Repository overview, badges, module list
AGENTS.md AI guidance for scaffolding and consistency
pom.xml Parent POM (aggregator for all modules)
checkstyle.xml Shared code style rules
.editorconfig Editor formatting rules
.gitignore Git ignore patterns
java-ci.yml GitHub Actions CI workflow

01-spring-hello-rest

REST API basics with @RestController, records, and JSON responses.

Spring Guide: Building a RESTful Web Service

Source Files

File Package Description
RestServiceApplication.java com.example.restservice Main entry point with @SpringBootApplication
GreetingController.java com.example.restservice REST controller with /greeting endpoint
Greeting.java com.example.restservice Record for JSON response

Test Files

File Description
RestServiceApplicationTests.java Context load test
GreetingControllerTest.java Controller endpoint tests

Configuration

File Description
pom.xml Module POM
application.properties Spring Boot config (if exists)

Documentation

File Description
README.md Module overview
spring-initializr.md Project setup from start.spring.io
run-instructions.md How to build and run
rest-controller-greeting.md GreetingController explanation
guide.md Original Spring guide reference

Images

File Shows
hello-rest-browser.png Browser response for /greeting
hello-rest-browser-name.png Browser response with ?name= param
spring-initializr.png Spring Initializr setup

02-spring-scheduling-tasks

Scheduled task execution with @Scheduled and @EnableScheduling.

Spring Guide: Scheduling Tasks

Source Files

File Package Description
SchedulingTasksApplication.java com.example.schedulingtasks Main entry with @EnableScheduling
ScheduledTasks.java com.example.schedulingtasks Component with @Scheduled method

Test Files

File Description
SchedulingTasksApplicationTests.java Context load test
ScheduledTasksTest.java Awaitility-based scheduler test

Configuration

File Description
pom.xml Module POM
application.properties Spring Boot config

Documentation

File Description
README.md Module overview
spring-initializr.md Project setup
run-instructions.md How to run
scheduled-tasks.md ScheduledTasks breakdown
testing.md Awaitility testing explanation
guide.md Original Spring guide reference

Images

File Shows
scheduled-task-output.png Console output
intellij-test-runner.png Test runner screenshot
spring-initializr.png Spring Initializr setup

03-quote-service

REST API provider serving quotes (backend for consuming-rest).

Spring Guide: Consuming a RESTful Web Service (provider side)

Source Files

File Package Description
QuoteServiceApplication.java com.example.quoteservice Main entry point
QuoteController.java com.example.quoteservice REST controller with /api/, /api/random, /api/{id}
Quote.java com.example.quoteservice Record for quote response wrapper
Value.java com.example.quoteservice Record for quote content

Test Files

File Description
QuoteControllerTest.java Tests for all 3 endpoints

Configuration

File Description
pom.xml Module POM
application.properties Spring Boot config

Documentation

File Description
README.md Module overview
DEVELOPER_NOTES.md Personal notes and explanations
spring-initializr.md Project setup
quote-controller.md Controller and Java Streams explanation

ADRs

ADR Decision
ADR-0001-split-provider-consumer.md Why separate modules for provider/consumer
ADR-0002-rest-api-shape.md REST API design decisions
ADR-0003-use-threadlocalrandom.md Thread-safe random selection

Images

File Shows
quote-service-output.png curl output

03-spring-consuming-rest

REST client consuming the quote-service using RestClient.

Spring Guide: Consuming a RESTful Web Service

Source Files

File Package Description
ConsumingRestApplication.java com.example.consumingrest Main entry point
QuoteController.java com.example.consumingrest REST controller with /quote endpoint, calls backend
Quote.java com.example.consumingrest Record for quote response
Value.java com.example.consumingrest Record for quote content

Test Files

File Description
ConsumingRestApplicationTests.java Context load test
QuoteControllerTest.java Controller tests with mocked backend

Configuration

File Description
pom.xml Module POM
application.properties Port 8081, quote-service URL

Documentation

File Description
README.md Module overview
DEVELOPER_NOTES.md Personal notes and explanations
spring-initializr.md Project setup
run-instructions.md How to run both services
quote-controller.md RestClient explanation
java-records.md Records and JSON mapping
guide.md Original Spring guide reference

ADRs

ADR Decision
ADR-0001-use-restclient.md RestClient over RestTemplate
ADR-0002-expose-quote-endpoint.md Why /quote REST endpoint
ADR-0003-error-handling-fallback.md Graceful error handling
ADR-0004-externalize-base-url.md Configurable backend URL

Images

File Shows
consuming-rest-output.png curl output
spring-initializr.png Spring Initializr setup

04-spring-relational-data-access

Console application demonstrating Spring JdbcTemplate with H2 in-memory database.

Spring Guide: Accessing Relational Data using JDBC with Spring

Source Files

File Description
RelationalDataAccessApplication.java Main app with CommandLineRunner
Customer.java Customer record (domain model)

Documentation

File Description
README.md Module overview
DEVELOPER_NOTES.md Developer notes (Phase 1 & 2)
spring-initializr.md Spring Initializr settings
run-instructions.md How to run the app
jdbc-template.md JdbcTemplate explained
customer.md Customer record explained
guide.md Spring guide reference

Documentation

Root-Level Docs

File Purpose
INDEX.md This file - master index
QUICK_START.md Run instructions for all modules
CI_PLAN.md CI/CD quality gates

Repository-Level ADRs

ADR Decision
ADR-0001-ci-badges.md Shields.io endpoint badges
ADR-0002-ci-stack.md CI quality gates stack
ADR-0003-changelog-format.md Changelog format
ADR-0004-lychee-link-checker.md Lychee link checker configuration

Templates

Template Purpose
MODULE_README.md New module README
pom.xml Child module POM with quality plugins
spring-initializr.md Spring Initializr setup docs
run-instructions.md Module run instructions
ADR_TEMPLATE.md Architecture Decision Record
CONCEPT.md Concept explanation
DEVELOPER_NOTES.md Personal notes

CI/CD & Scripts

GitHub Actions

File Purpose
java-ci.yml Main CI workflow

Scripts

File Purpose
ci_metrics_summary.py Parse QA reports, generate badges

Badges

Auto-generated JSON files for Shields.io:

Badge Aggregate Per-Module
Coverage jacoco.json ci/badges/{module}/jacoco.json
Mutation mutation.json ci/badges/{module}/mutation.json
SpotBugs spotbugs.json ci/badges/{module}/spotbugs.json

By File Type

All Java Source Files (14)

Module File Description
01 RestServiceApplication.java Main class
01 GreetingController.java REST controller
01 Greeting.java Response record
02 SchedulingTasksApplication.java Main class
02 ScheduledTasks.java Scheduled component
03-qs QuoteServiceApplication.java Main class
03-qs QuoteController.java REST controller
03-qs Quote.java Response record
03-qs Value.java Content record
03-cr ConsumingRestApplication.java Main class
03-cr QuoteController.java REST client controller
03-cr Quote.java Response record
03-cr Value.java Content record

All Test Files (8)

Module File Tests
01 RestServiceApplicationTests.java Context load
01 GreetingControllerTest.java Endpoint tests
02 SchedulingTasksApplicationTests.java Context load
02 ScheduledTasksTest.java Awaitility scheduler test
03-qs QuoteControllerTest.java All endpoint tests
03-cr ConsumingRestApplicationTests.java Context load
03-cr QuoteControllerTest.java Mocked backend tests

All ADRs (11)

Location ADR Decision
Root ADR-0001 CI badges
Root ADR-0002 CI stack
Root ADR-0003 Changelog format
Root ADR-0004 Link checker config
03-qs ADR-0001 Split modules
03-qs ADR-0002 API shape
03-qs ADR-0003 ThreadLocalRandom
03-cr ADR-0001 RestClient
03-cr ADR-0002 Quote endpoint
03-cr ADR-0003 Error handling
03-cr ADR-0004 Externalize URL

All Images (10)

Module File
01 hello-rest-browser.png
01 hello-rest-browser-name.png
01 spring-initializr.png
02 scheduled-task-output.png
02 intellij-test-runner.png
02 spring-initializr.png
02 run-instructions.png
03-qs quote-service-output.png
03-cr consuming-rest-output.png
03-cr spring-initializr.png

File Counts Summary

Category Count
Java source files 14
Java test files 8
Markdown docs 54
ADRs 11
Images 10
Modules 5