Skip to content

refactor: 검색 결과 조회와 지도 핀 조회 분리#103

Merged
mike7643 merged 5 commits into
mainfrom
feat/search-map-api-separation-server
Jun 28, 2026
Merged

refactor: 검색 결과 조회와 지도 핀 조회 분리#103
mike7643 merged 5 commits into
mainfrom
feat/search-map-api-separation-server

Conversation

@mike7643

Copy link
Copy Markdown
Collaborator

✨ 작업 내용 한 줄 요약

  • 검색 결과 조회를 /search 로 분리하고, 검색 상태 지도 핀 조회에 필터와 bounds 반영

🛠️ 작업 내용

  • 기존 /keyword 요청, 응답, 결과 모델 제거
  • /search 요청, 응답, 결과 모델로 검색 API 정리
  • 검색 결과 조회 전용 서비스 추가
  • 검색 상태에서 /pins가 검색어와 필터를 함께 받아 지도 핀 계산하도록 변경
  • PLACE 결과의 하위 보관함 수에 따라 LOCKER 핀 또는 PLACE 핀으로 변환하도록 처리
  • 지도 bounds 안에 포함되는 검색 핀만 반환하도록 함
  • /pins 조회 시 사이즈, 실내외, 보관함 유형 필터 반영
  • ddl auto로 생성 가능한 visitor_logs, keyword_counts 초기화 스크립트 제거

🧠 기술적 의사결정

  • 검색 결과 응답과 지도 핀 응답을 분리해 API 역할 명확화
  • 검색 상태 지도는 /search 응답을 그대로 재사용하지 않고 /pins에서 bounds와 zoom 기준으로 다시 계산

@mike7643 mike7643 requested a review from buddle031 as a code owner June 28, 2026 08:17
@coderabbitai

coderabbitai Bot commented Jun 28, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@mike7643, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 46 minutes and 12 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 91e0857a-9bff-4694-86fb-0923f13afd95

📥 Commits

Reviewing files that changed from the base of the PR and between 85f862c and 3a6904e.

📒 Files selected for processing (59)
  • docs/solutions/architecture-patterns/align-search-component-names-with-active-endpoints.md
  • docs/solutions/database-issues/remove-ddl-duplicated-init-scripts.md
  • docs/solutions/test-failures/prefer-manual-sut-construction-when-only-real-collaborators-are-needed.md
  • docs/solutions/test-failures/remove-controller-tests-only-after-targeted-pass.md
  • docs/solutions/workflow-issues/separate-endpoint-removal-from-search-model-renaming.md
  • scripts/db/02-visitor-logs.sql
  • scripts/db/03-keyword-counts.sql
  • src/main/java/com/zimdugo/locker/application/keyword/LockerKeywordQueryService.java
  • src/main/java/com/zimdugo/locker/application/pin/LockerPinQuery.java
  • src/main/java/com/zimdugo/locker/application/pin/LockerPinQueryService.java
  • src/main/java/com/zimdugo/locker/application/pin/LockerSearchPinAssembler.java
  • src/main/java/com/zimdugo/locker/application/place/PlaceLockerQueryService.java
  • src/main/java/com/zimdugo/locker/application/result/keyword/LockerKeywordResult.java
  • src/main/java/com/zimdugo/locker/application/result/place/PlaceLockerResult.java
  • src/main/java/com/zimdugo/locker/application/result/search/LockerSearchItemResult.java
  • src/main/java/com/zimdugo/locker/application/result/search/LockerSearchLockerResult.java
  • src/main/java/com/zimdugo/locker/application/result/search/LockerSearchResult.java
  • src/main/java/com/zimdugo/locker/application/search/LockerSearchCommand.java
  • src/main/java/com/zimdugo/locker/application/search/LockerSearchResultQueryService.java
  • src/main/java/com/zimdugo/locker/application/search/SearchKeywordCountCommandService.java
  • src/main/java/com/zimdugo/locker/domain/keyword/KeywordCountStore.java
  • src/main/java/com/zimdugo/locker/domain/locker/NearbyLockerPlaceReader.java
  • src/main/java/com/zimdugo/locker/domain/search/SearchKeywordCountStore.java
  • src/main/java/com/zimdugo/locker/entrypoint/LockerApi.java
  • src/main/java/com/zimdugo/locker/entrypoint/LockerController.java
  • src/main/java/com/zimdugo/locker/entrypoint/dto/request/pin/LockerPinRequest.java
  • src/main/java/com/zimdugo/locker/entrypoint/dto/request/search/LockerSearchRequest.java
  • src/main/java/com/zimdugo/locker/entrypoint/dto/response/keyword/LockerKeywordResponse.java
  • src/main/java/com/zimdugo/locker/entrypoint/dto/response/place/PlaceLockerResponse.java
  • src/main/java/com/zimdugo/locker/entrypoint/dto/response/search/LockerSearchItemResponse.java
  • src/main/java/com/zimdugo/locker/entrypoint/dto/response/search/LockerSearchLockerResponse.java
  • src/main/java/com/zimdugo/locker/entrypoint/dto/response/search/LockerSearchResponse.java
  • src/main/java/com/zimdugo/locker/infrastructure/adapter/KeywordCountStoreAdapter.java
  • src/main/java/com/zimdugo/locker/infrastructure/adapter/NearbyLockerPlaceReaderAdapter.java
  • src/main/java/com/zimdugo/locker/infrastructure/adapter/SearchKeywordCountStoreAdapter.java
  • src/main/java/com/zimdugo/locker/infrastructure/persistence/LockerRepository.java
  • src/main/java/com/zimdugo/locker/infrastructure/persistence/SearchKeywordCountEntity.java
  • src/main/java/com/zimdugo/locker/infrastructure/persistence/SearchKeywordCountRepository.java
  • src/main/java/com/zimdugo/locker/infrastructure/projection/NearbyLockerPlaceQueryProjection.java
  • src/main/java/com/zimdugo/user/infrastructure/persistence/VisitorLogEntity.java
  • src/main/resources/application-local.yaml
  • src/test/java/com/zimdugo/admin/entrypoint/AdminDocumentControllerTest.java
  • src/test/java/com/zimdugo/admin/entrypoint/AdminDocumentTranslationReviewControllerTest.java
  • src/test/java/com/zimdugo/admin/entrypoint/AdminLockerControllerTest.java
  • src/test/java/com/zimdugo/admin/entrypoint/AdminLockerReportControllerTest.java
  • src/test/java/com/zimdugo/admin/entrypoint/ClientDocumentControllerTest.java
  • src/test/java/com/zimdugo/auth/entrypoint/AuthControllerTest.java
  • src/test/java/com/zimdugo/common/config/VisitorLogDatabaseMigrationTest.java
  • src/test/java/com/zimdugo/image/entrypoint/ImageUploadControllerTest.java
  • src/test/java/com/zimdugo/locker/application/keyword/LockerKeywordQueryServiceTest.java
  • src/test/java/com/zimdugo/locker/application/pin/LockerPinQueryServiceTest.java
  • src/test/java/com/zimdugo/locker/application/result/search/LockerSearchResultTest.java
  • src/test/java/com/zimdugo/locker/application/search/LockerSearchQueryServiceTest.java
  • src/test/java/com/zimdugo/locker/application/search/LockerSearchResultQueryServiceTest.java
  • src/test/java/com/zimdugo/locker/entrypoint/LockerFavoriteControllerTest.java
  • src/test/java/com/zimdugo/locker/entrypoint/LockerReportControllerTest.java
  • src/test/java/com/zimdugo/locker/entrypoint/dto/response/keyword/LockerKeywordResponseTest.java
  • src/test/java/com/zimdugo/locker/entrypoint/dto/response/search/LockerSearchResponseTest.java
  • src/test/java/com/zimdugo/locker/infrastructure/adapter/NearbyLockerPlaceReaderAdapterTest.java
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/search-map-api-separation-server

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mike7643 mike7643 merged commit c73c835 into main Jun 28, 2026
3 checks passed
@mike7643 mike7643 self-assigned this Jun 29, 2026
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