Skip to content

feat: 이력서 업로드/목록/삭제 API 및 분석 트리거 발행#17

Merged
i3months merged 25 commits into
feature/github-oauthfrom
feature/us-05-06-resume
May 15, 2026
Merged

feat: 이력서 업로드/목록/삭제 API 및 분석 트리거 발행#17
i3months merged 25 commits into
feature/github-oauthfrom
feature/us-05-06-resume

Conversation

@csh1668

@csh1668 csh1668 commented May 15, 2026

Copy link
Copy Markdown
Contributor

요약

이력서 PDF 업로드 -> S3 저장 -> AI 분석 큐 발행까지의 파이프라인과, 목록/조회/삭제 API를 추가합니다.

#15 과 연계되므로 해당 PR이 먼저 병합되어야 합니다.

csh1668 and others added 19 commits May 15, 2026 19:07
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
messaging.md §3의 envelope를 모든 publisher가 공유할 수 있도록 공용 record로 변경한다.
- MessageEnvelope를 제네릭에서 일반 record로 변경 (Object payload, Map<String, Object> context)
- @JsonInclude(NON_NULL) 및 Instant 직렬화 애너테이션 추가
- RabbitMessagePublisher 및 테스트 업데이트

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel

vercel Bot commented May 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
stackup Ready Ready Preview, Comment May 15, 2026 2:52pm

@csh1668 csh1668 changed the title feat: 이력서 업로드·목록·삭제 API 및 분석 트리거 발행 (US-05/06) feat: 이력서 업로드·목록·삭제 API 및 분석 트리거 발행 May 15, 2026
@csh1668 csh1668 changed the title feat: 이력서 업로드·목록·삭제 API 및 분석 트리거 발행 feat: 이력서 업로드/목록/삭제 API 및 분석 트리거 발행 May 15, 2026
this.events = events;
}

private static final long MAX_SIZE = 20L * 1024 * 1024;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

업로드 최대 크기는 yml에 빼는게 깔끔해보입니다.

import org.springframework.transaction.event.TransactionPhase;
import org.springframework.transaction.event.TransactionalEventListener;

@Component

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lombok 쓰면 코드가 간결해지겠네요

@@ -0,0 +1,232 @@
package com.stackup.stackup.resume.application;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

테스트를 많이 작성해셨군요 좋습니다
ci / cd 단계에서 테스트도 함께 돌려보면 좋겠네요

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

리뷰 감사합니다

- ResumeService의 하드코딩 MAX_SIZE 상수를 제거하고 ResumeProperties(DataSize)로 주입
- application.yml의 spring.servlet.multipart 한도를 동일 키로 일원화해 분기 방지
- ResumeService/ResumeAnalysisPublisher/RabbitMessagePublisher/AnalyzedDocumentBasedResumeUsageChecker
  에 @requiredargsconstructor·@slf4j 적용해 보일러플레이트 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@i3months i3months merged commit 59421e7 into feature/github-oauth May 15, 2026
2 checks passed
i3months added a commit to i3months/stackup that referenced this pull request Jun 30, 2026
UX 감사 후속(보류했던 중간 규모 6건).

- [Team-StackUp#9 데이터유실] 라이브 텍스트 답변 낙관적 업데이트 롤백: 답변은 WS fire-and-forget
  (ack 없음)이라 tempId별 10s 타임아웃 도입 — 시간 내 서버 반영(pendingAnswers
  content 매칭 소진)이 없으면 stuck 낙관적 메시지 제거 + 입력 복원(restoreDraft) +
  실패 토스트. 낙관적 상태를 COMPLETED→CREATED('전송 중')로. 해피패스(서버 COMPLETED
  대체)·dedup 보존, 언마운트 시 타이머 정리.
- [Team-StackUp#17] 세션 생성: maxQuestions >= generalQuestionCount 교차검증 + 인라인 안내,
  라벨 명료화('한 주제를 얼마나 파고들지', '꼬리질문 포함 전체 질문 최대 개수').
- [Team-StackUp#18] 피드백 리포트: 강점/개선/키워드/학습방향을 점수 직후로 끌어올림,
  직무적합도·이해도·첫인상을 '추가 평가' 그룹으로 묶어 '종합 점수 미반영' 면책 1회.
- [Team-StackUp#16] 세션 생성 페이지 '워크스페이스로' 복귀 링크 추가.
- [Team-StackUp#22] 터치 타깃: Stepper ± 및 DeliveryModeToggle min-h-11(>=44px).
- [Team-StackUp#12] 공용 ListSkeleton 도입, 5개 목록의 '불러오는 중…' 한 줄 → 고정높이 골격(CLS↓).

build 통과, lint 신규 에러 없음. 프론트 전용.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

2 participants