Skip to content

feat: 상세정보조회#171

Merged
millkk04 merged 1 commit into
devfrom
feat/170/author
Feb 11, 2026
Merged

feat: 상세정보조회#171
millkk04 merged 1 commit into
devfrom
feat/170/author

Conversation

@millkk04
Copy link
Copy Markdown
Collaborator

@millkk04 millkk04 commented Feb 11, 2026

Summary by CodeRabbit

Release Notes

  • New Features

    • Added author nationality tracking and display
    • Enabled ISBN-10 lookups for book discovery
    • Genre now included in book keyword analysis
    • Asynchronous background processing for book taste enrichment
    • AI-powered taste analysis generation when unavailable
    • Book recommendations now include IDs and enhanced keywords
  • Deprecations

    • Previous keyword fields in recommendation responses
  • Chores

    • Removed internal data validation utilities

@millkk04 millkk04 requested a review from icarus0616 February 11, 2026 16:21
@millkk04 millkk04 self-assigned this Feb 11, 2026
@millkk04 millkk04 added the enhancement New feature or request label Feb 11, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 11, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This PR extends author enrichment with nationality data, introduces asynchronous book taste enrichment with optional tag assignment, adds genre-based keyword analysis in GPT integration, expands onboarding recommendations with ISBN-based book ID lookups and enhanced keyword fields, and removes deprecated SQL check scripts.

Changes

Cohort / File(s) Summary
Removed legacy SQL utilities
booklog/check_author_data.sql, booklog/check_book_tags.sql
Deleted data-check routines that validated author and book-tag data; no functionality removed from active codebase.
Author entity & enrichment
booklog/src/main/java/com/example/booklog/domain/library/books/entity/Authors.java, booklog/src/main/java/com/example/booklog/domain/library/books/dto/AuthorDetailResponse.java, booklog/src/main/java/com/example/booklog/domain/library/books/service/AuthorGptEnrichmentService.java
Added nationality field to Authors entity, corresponding DTO, and GPT enrichment service for parsing and persisting author nationality from API responses.
Author detail service
booklog/src/main/java/com/example/booklog/domain/library/books/service/AuthorQueryServiceImpl.java
Refactored to integrate async taste enrichment, track nationality in data completeness checks, extend GPT enrichment to handle nationality, wire BookTagsRepository, and add scaffolding for future tag-assignment and taste-regeneration logic.
Book enrichment async infrastructure
booklog/src/main/java/com/example/booklog/domain/library/books/service/BookTasteEnrichmentAsyncService.java
New service class that asynchronously enriches books by batch processing via CompletableFuture, checking/regenerating taste analysis, and optionally triggering tag assignment per book.
Book enrichment GPT integration
booklog/src/main/java/com/example/booklog/domain/library/books/service/BookEnrichmentService.java
Added GPT-backed taste analysis generation when books lack tags; includes helper methods for GPT API calls, JSON parsing, and structured mood/style/immersion output with fallback defaults.
Book repository
booklog/src/main/java/com/example/booklog/domain/library/books/repository/BooksRepository.java
Added findByIsbn10 query method to support ISBN-10-based book lookups.
GPT keyword analysis
booklog/src/main/java/com/example/booklog/domain/ai/service/GptService.java
Extended keyword extraction to include genre alongside mood, style, and immersion; updated prompts and parsing logic to extract and default genre ("일반") when missing.
Onboarding recommendations
booklog/src/main/java/com/example/booklog/domain/onboarding/dto/BookRecommendationCardResponse.java, booklog/src/main/java/com/example/booklog/domain/onboarding/service/OnboardingRecommendationService.java
Added bookId field and new keyword fields (keyword1, keyword2, keyword3); deprecated moodKeyword, styleKeyword, immersionKeyword; implemented ISBN-to-bookId lookup logic across all recommendation generation paths.
Database migration
booklog/src/main/resources/db/migration/V20260212__add_nationality_to_authors.sql
Added deprecation notice indicating schema is managed by JPA entity; no functional SQL operations.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • feat: 작가 검색 수정 #166 — Modifies Authors entity and AuthorGptEnrichmentService, directly overlapping with nationality field additions and GPT author enrichment logic.
  • feat: 작가 세부 정보 조회 #163 — Introduces author-detail scaffolding and AuthorDetailResponse structure that this PR extends with nationality and new enrichment flows.
  • feat: 목차 #160 — Adds GPT-backed taste analysis and keyword generation in GptService and BookEnrichmentService, shared components modified here.

Suggested reviewers

  • icarus0616
  • jaehyeon4406

Poem

🐰 A rabbit hops through author lands,
where nationality now firmly stands,
taste blooms async, keywords take flight,
ISBN maps to bookIds just right!
Genre sings with mood and style—
enrichment made worthwhile! ✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/170/author

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


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 and usage tips.

@millkk04 millkk04 merged commit 24e5c6a into dev Feb 11, 2026
1 check was pending
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 온보딩 추천 로직 수정 및 작가 상세정보 조회 리팩토링

1 participant