fix: 하네스 제거 및 keycloak 문서 보강
This commit is contained in:
@@ -1 +0,0 @@
|
||||
../../vault/20-evidence/official-docs/sample-spring-petclinic-github.md
|
||||
@@ -0,0 +1,97 @@
|
||||
---
|
||||
title: spring-projects/spring-petclinic — Spring 공식 reference sample 애플리케이션
|
||||
source_type: official-doc
|
||||
url: https://github.com/spring-projects/spring-petclinic
|
||||
archive_url:
|
||||
status: raw
|
||||
confidence: high
|
||||
tags: [ca-tmpl, sample-fixture, spring-petclinic, reference-sample, github-reference, official-doc]
|
||||
related_projects: [ca-tmpl]
|
||||
related_branches: [feature-sample-domain-contract-fixture]
|
||||
created: 2026-05-22
|
||||
last_reviewed: 2026-05-27
|
||||
---
|
||||
|
||||
# spring-projects/spring-petclinic — Spring 공식 reference sample 애플리케이션
|
||||
|
||||
> Layer: `raw/official-docs/` — `spring-projects/spring-petclinic` GitHub 저장소 README 발췌. ca-tmpl Group G — Sample domain contract fixture 의 대안 1 (Spring 공식 reference sample) 의 1차 근거.
|
||||
|
||||
## Parent / 활용 branch (필수)
|
||||
|
||||
| Branch | 이 자료가 정당화하는 결정 |
|
||||
|---|---|
|
||||
| [[raw/branch-notes/feature-sample-domain-contract-fixture]] | Group G 대안 1 — Spring 공식 reference sample 도메인 (Owner/Pet/Visit/Vet) 이 ca-tmpl sample-ticket (12 scenario + state machine + idempotency) 비교의 대조축 근거 |
|
||||
|
||||
상위 프로젝트: [[raw/project-notes/ca-skeleton-operational-contract]].
|
||||
|
||||
## 컨텍스트 / 왜 저장했는지
|
||||
|
||||
ca-tmpl의 sample domain fixture 결정(sample-ticket 12-scenario matrix + 6-field minimum model + 상태 머신 + optimistic lock + idempotency key)에 대한 대안 1로, Spring 진영에서 가장 오래/널리 인용되는 sample 애플리케이션. "공식 reference sample이 어떤 모델을 들고 가는가"의 비교점.
|
||||
|
||||
## 출처 / Source
|
||||
|
||||
- 원본 URL: https://github.com/spring-projects/spring-petclinic
|
||||
- 아카이브 URL: (미수집)
|
||||
- 저자/조직: spring-projects (VMware/Broadcom Spring 팀, 공식)
|
||||
- 라이선스: Apache-2.0
|
||||
- Star 수: 8,000+ (공식 reference 등급)
|
||||
- 마지막 확인일: 2026-05-27
|
||||
|
||||
## 핵심 인용 / Key quotes (verbatim)
|
||||
|
||||
> [§README — Overview] "The Spring PetClinic Sample Application — designed to show how the Spring stack can be used to build simple, but powerful database-oriented applications."
|
||||
|
||||
> [§README — Stack] "It demonstrates the use of Spring Boot, Spring Data JPA, Spring MVC, Thymeleaf, Bean Validation."
|
||||
|
||||
> [§README — Variants] "Several variants of the Spring Petclinic application are maintained: Spring Petclinic with Spring AI, REST, GraphQL, Kotlin, microservices, reactive..."
|
||||
|
||||
> [§README — Disclaimer] "PetClinic is intended to be a demonstration of how the Spring Framework can be used. It is not intended as a 'best practice' for any real world application."
|
||||
|
||||
## Claims Extracted / 추출된 주장
|
||||
|
||||
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|
||||
|---|---|---|---|---|---|
|
||||
| SAMPLE-PC-C1 | Spring PetClinic 은 Spring stack 이 어떻게 simple but powerful database-oriented application 을 빌드하는지 보여주기 위해 설계된 sample application 이다 | [§README — Overview] "The Spring PetClinic Sample Application — designed to show how the Spring stack can be used to build simple, but powerful database-oriented applications." | `official-vendor-doc` | Spring stack 학습용 reference | "production-ready 패턴" 또는 "엔터프라이즈 패턴 reference" 라는 뜻은 아님 |
|
||||
| SAMPLE-PC-C2 | PetClinic 은 Spring Boot, Spring Data JPA, Spring MVC, Thymeleaf, Bean Validation 의 사용을 시연한다 | [§README — Stack] "It demonstrates the use of Spring Boot, Spring Data JPA, Spring MVC, Thymeleaf, Bean Validation." | `official-vendor-doc` | 이 5개 Spring 컴포넌트의 통합 예시 학습 | reactive / GraphQL / Kotlin 등 다른 stack 의 demo 라는 뜻은 아님 (그것은 variants — `SAMPLE-PC-C3`) |
|
||||
| SAMPLE-PC-C3 | Spring AI, REST, GraphQL, Kotlin, microservices, reactive 등 여러 variant 가 함께 유지된다 | [§README — Variants] "Several variants of the Spring Petclinic application are maintained: Spring Petclinic with Spring AI, REST, GraphQL, Kotlin, microservices, reactive..." | `official-vendor-doc` | PetClinic 도메인 위에 다양한 stack 비교 학습 | 모든 variant 가 동일한 maintenance level / 최신성 / Spring 공식 보증 등급을 가진다는 뜻은 아님 |
|
||||
| SAMPLE-PC-C4 | PetClinic 은 Spring Framework 사용 방법의 demonstration 의도이며, real-world application 의 "best practice" 로 의도되지 않았다 (공식 disclaimer) | [§README — Disclaimer] "PetClinic is intended to be a demonstration of how the Spring Framework can be used. It is not intended as a 'best practice' for any real world application." | `official-vendor-doc` | PetClinic 코드를 실무 reference 로 차용할 때의 한계 인식 | "PetClinic 의 모든 패턴이 잘못되었다" 는 뜻은 아님 — 단지 best-practice 로 의도되지 않았다는 사실 |
|
||||
|
||||
## Usage Boundaries / 적용 경계
|
||||
|
||||
- **이 자료가 직접 증명하는 것**:
|
||||
- `SAMPLE-PC-C1`: PetClinic 의 목적 (Spring stack demo)
|
||||
- `SAMPLE-PC-C2`: 시연되는 5개 Spring 컴포넌트 (Spring Boot / Data JPA / MVC / Thymeleaf / Bean Validation)
|
||||
- `SAMPLE-PC-C3`: 유지되는 variants 의 종류
|
||||
- `SAMPLE-PC-C4`: best-practice 가 아니라는 공식 disclaimer (가장 중요한 근거 — ca-tmpl reference 차용 시 위험 신호)
|
||||
- **이 자료가 증명하지 않는 것**:
|
||||
- PetClinic 도메인 (Owner / Pet / Visit / Vet) 의 정확한 entity 관계 (인용은 README 상위만 — 자세한 모델은 별도 페이지 / 코드 참조 필요)
|
||||
- PetClinic 이 idempotency key / optimistic lock / state machine / scenario matrix 를 포함하지 않는다는 사실의 공식 진술 (인용 범위 밖 — ca-tmpl 비교 메모의 해석)
|
||||
- PetClinic variants 중 어느 것이 production reference 로 권장되는지
|
||||
- PetClinic 의 README 가 가장 최신이라는 보장 (rolling docs)
|
||||
- **내 프로젝트에 적용하려면 추가 확인이 필요한 것**:
|
||||
- ca-tmpl sample-ticket 의 12-scenario matrix 가 PetClinic 의 어떤 entity / 시나리오에 매핑 가능한지 (혹은 mapping 불가능한 contract 부분)
|
||||
- PetClinic 의 best-practice disclaimer 가 ca-tmpl 의 "skeleton 계약 검증 fixture" 모델을 정당화하는 강한 근거인지 (해석 필요)
|
||||
- PetClinic microservices variant 의 patterns 가 ca-tmpl 의 sample-on/off matrix 와 충돌하지 않는지
|
||||
|
||||
## 메모
|
||||
|
||||
- 도메인: Owner / Pet / Visit / Vet — 4 entity, 1:N + many-to-many 학습 목적.
|
||||
- 결정적 차이: petclinic은 "Spring stack 학습용 demo"라고 README에 명시. ca-tmpl sample-ticket은 "contract fixture(skeleton 계약 검증)"이 목적. **petclinic은 best-practice가 아니라고 본인이 선언함** — ca-tmpl이 reference로 차용하기는 위험.
|
||||
- 모델 깊이: petclinic은 idempotency key, optimistic lock, state machine, scenario matrix가 없음. ca-tmpl sample-ticket(12 scenario + OPEN→IN_PROGRESS→CLOSED) 쪽이 contract 검증 도구로는 더 적합.
|
||||
- 장점: 모든 Spring 개발자 공통 어휘. 변종(REST/GraphQL/microservices) 다수 → 다양한 비교 가능.
|
||||
- 단점: 도메인이 CRUD 위주라 상태 머신/optimistic lock/idempotent create 같은 contract 검증 시나리오가 빠짐.
|
||||
- 신뢰도: official-doc, spring-projects org → 기준 reference로 인용 가능.
|
||||
|
||||
## Related / 관련
|
||||
|
||||
- 같은 주제 다른 official-doc (Group G — Sample domain contract fixture 대안들):
|
||||
- (대안 2: RealWorld — 미수집)
|
||||
- (대안 3: Spring microservices sample — 미수집)
|
||||
- (대안 4: Stripe testmode shopping cart — 미수집)
|
||||
- (대안 5: No fixture — 비교 baseline)
|
||||
- 인용하는 branch:
|
||||
- [[raw/branch-notes/feature-sample-domain-contract-fixture]]
|
||||
- canonical contract 섹션:
|
||||
- [[raw/project-notes/ca-skeleton-operational-contract#17. Sample Domain Fixture]]
|
||||
- [[raw/project-notes/ca-skeleton-operational-contract#22. Sample-portfolio Contract Matrix]]
|
||||
- 인용하는 wiki: (미작성)
|
||||
Reference in New Issue
Block a user