Skip to content

feat: 메인 Hero 관리와 XP 광고 경매 화면 - #69

Merged
dev-ant merged 2 commits into
mainfrom
feat/hero-xp-auction
Nov 12, 2026
Merged

dev-ant merged 2 commits into
mainfrom
feat/hero-xp-auction

Conversation

@dev-ant

@dev-ant dev-ant commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

메인 Hero를 API 기반 1~10개 캐러셀로 바꾸고, 관리자가 이미지·링크·순서·한국 시간 노출 기간을 관리하는 /admin/hero와 회원이 1·2번 광고에 XP로 입찰하는 /hero-auctions를 추가합니다. 마이페이지는 소비 후 XP와 예약·사용 가능 XP를 표시합니다.

  • 광고 링크는 프런트와 Auth가 공유하는 fixture로 검증합니다. JPEG/PNG 업로드 미리보기, 이미지 오류 fallback, 일정 만료 시 광고 제거, 30초 및 포커스 갱신, 기존 캐러셀 접근성 조작을 유지합니다.
  • BFF는 기존 Auth 쿠키 인증을 전달하고 동일 Origin·변경 헤더 검사를 적용합니다. 공개 요청은 인증 쿠키를 전달하지 않습니다.
  • 외부 상위 입찰로 반환된 XP도 주기적으로 갱신합니다. 관리자 소재 차단과 주차 전체 취소·환불 UI, 참여·거래 이력을 포함합니다.
  • version 1.0.27, 의존성 추가 없음. Backend provider: feat: 메인 Hero 관리와 주간 XP 광고 경매 devnogi-auth-server#60 를 먼저 배포해야 합니다.
  • 고정 기획: Auth docs/hero-plan.md r1 / SHA256 DDE5AE421F387AF5EED55C8172CFF9A27CDEEDABB9C893A992EF20099A5FA48F. 계약: Auth docs/hero-api.md. 운영 안내: docs/hero-auctions.md.

검증:

  • Node20.20.2 npm run verify 통과: format, lint, typecheck, knip, 112 Jest suites / 505 tests, production build49 pages. 저장소 pre-push 검사도 동일하게 실행합니다.
  • 독립 Codex 코드 검토 ACCEPT. 외부 상위 입찰 후 사용 가능 XP 갱신 누락을 수정하고 회귀 테스트를 추가했습니다.
  • Playwright production-build smoke, localhost3327, desktop1440x1000 및 mobile390x844. API·사용자는 합성 fixture입니다. 소재 선택→10XP 입찰→예약10/사용가능90, 관리자 정렬→외부 링크 사전 차단→multipart 이미지 등록, 메인 검색과 광고 링크 클릭 분리 및 같은 탭 이동을 확인했습니다. 최종 화면에서 runtime/console 오류나 가로 넘침이 없었습니다. 실제 Auth DB 동작은 backend PR의 격리 MySQL44개 테스트로 별도 검증했습니다.

실제 운영 계정·스토리지와 운영 배포는 검증 범위에 포함하지 않았습니다. 경매는 Auth에서 기본 비활성화이며 승인된 배포 후 다음 월요일 시작 설정이 필요합니다. PR 병합과 운영 배포는 별도 승인 대상입니다. Copilot 리뷰는 요청하지 않습니다.

@dev-ant
dev-ant merged commit 3d1bca9 into main Nov 12, 2026
5 checks passed
@dev-ant
dev-ant deleted the feat/hero-xp-auction branch November 12, 2026 04:52
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