Skip to content

Feat/#77 이력서 생성·편집·미리보기 및 목차(미니맵) 기능 구현 - #82

Merged
leeleeleeleejun merged 33 commits into
devfrom
feat/#77
Jul 22, 2026
Merged

leeleeleeleejun merged 33 commits into
devfrom
feat/#77

Conversation

@leeleeleeleejun

@leeleeleeleejun leeleeleeleejun commented Jul 22, 2026 •

Copy link
Copy Markdown
Member

#️⃣연관된 이슈

📝작업 내용

이력서 생성부터 편집·미리보기·목차까지 이어지는 전체 플로우를 구현했습니다.

이력서 생성

  • 경험 선택(ExperiencePickerDialog) → 이력서 생성 플로우 연결 및 다이얼로그 열림 상태 관리
  • 생성 시 섹션 순서를 정의하고, EXPERIENCE는 선택된 경험 아이템으로 채움
  • 그 외 섹션은 useDefaultItems로 서버 기본값을 채우도록 변경 (API 스키마 변경 반영)
  • 이력서 배경 UI 추가

이력서 편집 / 미리보기

  • 상세 조회 페이지(미리보기·목차) 구현, 미리보기 섹션 클릭 시 활성화
  • react-hook-form 기반 편집 폼 상태 모델 및 실시간 미리보기·저장 연결
  • 우측 Edit 영역 섹션 컴포넌트 구현(경력/자격증/핵심역량/학력/경험/어학/기술/수상)
  • 기본정보 편집(연락처·이메일 숨기기 토글), 항목 추가/삭제 및 삭제 확인 모달
  • 수동/자동 저장 상태 구분 및 자동 저장 기능

목차(미니맵)

  • 미니맵에서 드래그앤드롭으로 섹션·아이템 순서 변경 (@dnd-kit)
  • 카테고리 추가/삭제 모달 (삭제는 visible 토글로 데이터 보존)
  • 목차에서 섹션·아이템 클릭 시 해당 섹션으로 포커스 이동 및 미리보기 스크롤

스크린샷 (선택)

2026-07-22.5.25.05-1.mov

💬리뷰 요구사항(선택)

AI 첨삭 기능이 이후 PR에서 진행하겠습니다.

- payload 필드 optional화 및 optimizationMode 추가
- 삭제는 visible 토글로 데이터 보존
- 섹션 uid로 신규 섹션 포커스
- 삭제 시 포커스 이동 처리
 - 수동 저장과 자동 저장 상태 구분 추가
@vercel

vercel Bot commented Jul 22, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
28th-web-team-1-fe Ready Ready Preview, Comment Jul 22, 2026 8:44am

@coderabbitai

coderabbitai Bot commented Jul 22, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@leeleeleeleejun, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 36 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

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 reviews.

How do review 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 refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d8684e3b-84c5-461d-9d09-a4f395e949c8

📥 Commits

Reviewing files that changed from the base of the PR and between 4facc0a and fd4a7ab.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (55)
  • package.json
  • schema.graphql
  • src/entities/jd/api/jd.api.ts
  • src/entities/jd/index.ts
  • src/entities/jd/model/jd.keys.ts
  • src/entities/jd/model/jd.queries.ts
  • src/entities/resume/api/resume.api.ts
  • src/entities/resume/index.ts
  • src/entities/resume/model/resume.mutations.ts
  • src/entities/user/index.ts
  • src/entities/user/model/user.queries.ts
  • src/shared/hooks/useIntervalAutosave.ts
  • src/shared/lib/date.ts
  • src/shared/lib/gql/gql.ts
  • src/shared/lib/gql/graphql.ts
  • src/shared/ui/date_picker/DatePicker.stories.tsx
  • src/shared/ui/date_picker/DatePicker.tsx
  • src/shared/ui/date_picker/index.ts
  • src/shared/ui/month_picker/MonthPicker.stories.tsx
  • src/shared/ui/month_picker/MonthPicker.tsx
  • src/shared/ui/month_picker/index.ts
  • src/views/resume_create/index.ts
  • src/views/resume_create/model/buildResumeInput.ts
  • src/views/resume_create/ui/ExperiencePickerDialog.tsx
  • src/views/resume_create/ui/ResumeCreatePage.tsx
  • src/views/resume_edit/model/category.ts
  • src/views/resume_edit/model/experiencesToFormItems.ts
  • src/views/resume_edit/model/formToSaveInput.ts
  • src/views/resume_edit/model/resume-form.types.ts
  • src/views/resume_edit/model/resumeToFormValues.ts
  • src/views/resume_edit/model/section.ts
  • src/views/resume_edit/ui/ResumeEditPage.tsx
  • src/views/resume_edit/ui/ResumeIndex.tsx
  • src/views/resume_edit/ui/edit/AwardSection.tsx
  • src/views/resume_edit/ui/edit/BasicInfoSection.tsx
  • src/views/resume_edit/ui/edit/CarrerSection.tsx
  • src/views/resume_edit/ui/edit/CertificatesSection.tsx
  • src/views/resume_edit/ui/edit/CoreSkillSection.tsx
  • src/views/resume_edit/ui/edit/DeleteItemAlert.tsx
  • src/views/resume_edit/ui/edit/EducationSection.tsx
  • src/views/resume_edit/ui/edit/ExperienceSection.tsx
  • src/views/resume_edit/ui/edit/LanguageSection.tsx
  • src/views/resume_edit/ui/edit/ResumeSectionEdit.tsx
  • src/views/resume_edit/ui/edit/Section.tsx
  • src/views/resume_edit/ui/edit/SkillSection.tsx
  • src/views/resume_edit/ui/form/FormDatePicker.tsx
  • src/views/resume_edit/ui/form/FormInput.tsx
  • src/views/resume_edit/ui/form/FormPeriodPicker.tsx
  • src/views/resume_edit/ui/form/FormTextarea.tsx
  • src/views/resume_edit/ui/preview/AwardSection.tsx
  • src/views/resume_edit/ui/preview/CertificatesSection.tsx
  • src/views/resume_edit/ui/preview/LanguageSection.tsx
  • src/views/resume_edit/ui/preview/ResumeSectionView.tsx
  • src/views/resume_edit/ui/preview/Section.tsx
  • src/views/resume_edit/ui/preview/SkillSection.tsx
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/#77

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.

@github-actions

github-actions Bot commented Jul 22, 2026 •

Copy link
Copy Markdown

@optshj optshj left a comment

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.

고생하셨습니다~~

나중에 DatePicker랑 MonthPicker랑 합쳐서
type="date" | "month" 이런식으로 해도 괜찮을것 같습니다

Comment thread src/shared/lib/date.ts

// TODO : 날짜 형식이 늘어날 경우 추가 필요
type DateFormat = 'YYYY.MM.DD' | 'YYYY.MM'
type DateFormat = 'YYYY.MM.DD' | 'YYYY.MM' | 'HH:mm:ss'

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.

👍

@leeleeleeleejun
leeleeleeleejun merged commit b4669da into dev Jul 22, 2026
6 checks passed

This branch was successfully deployed

1 active deployment
Preview — fd4a7ab2 Deployed Jul 22, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feature 기능 구현

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 이력서 수정 기능 구현 (경험 선택 후 이력서 작성 하는 flow)

2 participants