Skip to content

feat: 위스키 lookup API 추가#613

Open
Whale0928 wants to merge 1 commit into
mainfrom
codex/alcohol-lookup
Open

feat: 위스키 lookup API 추가#613
Whale0928 wants to merge 1 commit into
mainfrom
codex/alcohol-lookup

Conversation

@Whale0928
Copy link
Copy Markdown
Collaborator

@Whale0928 Whale0928 commented May 22, 2026

배경

  • 리뷰 작성/관리 화면의 위스키 선택 컴포넌트는 기존 검색 API보다 가볍고 빠른 lookup 경로가 필요합니다.
  • 최대 20,000건 규모의 핵심 필드 snapshot을 Redis에서 읽고, JVM stream 필터링 후 cursor pagination으로 응답하도록 구성했습니다.
  • Redis 방식 검증을 위해 source=DATABASE 경로도 남겨 다음 k6 세션에서 Redis I/O와 DB I/O를 같은 조건으로 비교할 수 있게 했습니다.

변경사항

  • Product 기존 alcohol 컨트롤러에 GET /api/v1/alcohols/lookup 추가
  • Admin 기존 alcohol 컨트롤러에 GET /admin/api/v1/alcohols/lookup 추가
  • 공통 서비스 AlcoholLookupService 추가
  • Redis snapshot store 및 DB source/fallback 경로 추가
  • Product API에서 5분 주기 lookup snapshot 동기화 scheduler 추가
  • Product/Admin RestDocs 및 lookup 서비스 단위 테스트 추가

API

  • Endpoint
    • Product: GET /api/v1/alcohols/lookup
    • Admin: GET /admin/api/v1/alcohols/lookup
  • Query
    • keyword: 다중 키워드 AND 매칭
    • category
    • regionId
    • distilleryId
    • source: REDIS, DATABASE
    • cursor
    • pageSize

성능 검증 준비

  • Redis snapshot은 별점, 좋아요, 리뷰 수 등 집계 필드를 제외하고 컴포넌트 선택에 필요한 핵심 필드만 포함합니다.
  • REDISDATABASE source를 모두 제공해 다음 k6 플랜에서 동일 API/동일 조건으로 비교할 수 있습니다.
  • 20,000건 snapshot에 대한 cursor pagination 단위 테스트를 추가했습니다.

브랜치 정리

  • clean base: origin/main
  • PR 포함 커밋: 8209a23d feat: 위스키 lookup API 추가 1개
  • 이전에 섞였던 codex/aws-sdk-v2-migration 계열 커밋은 PR diff에서 제거했습니다.
  • 로컬 git.environment-variables 변경은 작업과 무관하여 커밋에 포함하지 않았습니다.

검증

  • ./gradlew :bottlenote-mono:compileJava :bottlenote-product-api:compileJava :bottlenote-admin-api:compileKotlin
  • ./gradlew :bottlenote-mono:test --tests '*AlcoholLookupServiceTest*'
  • ./gradlew :bottlenote-product-api:asciidoctor :bottlenote-admin-api:test
  • ./gradlew check_rule_test unit_test integration_test admin_integration_test :bottlenote-admin-api:test asciidoctor

@Whale0928 Whale0928 force-pushed the codex/alcohol-lookup branch from 951f51a to 8209a23 Compare May 22, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant