MSG-502 feat: 승인된 이벤트를 골라 참여를 신청한다 - #244
Merged
Merged
Conversation
|
Claude finished @s13121312's task in 3m 44s —— View job 리뷰 완료
확인한 범위: 마이그레이션 V50/에러코드 13440·13441이 origin/develop 및 로컬에 페치된 다른 브랜치들과 충돌하지 않음(단, 네트워크 접근이 막혀 있어 발견된 이슈 없음. PR 본문에서 스스로 밝힌 두 가지 알려진 한계(위치 개수 검증의 호출 순서 의존성, EVENT 행 생성 후 구버전 롤백 비호환)는 코드 주석·스펙 결정 기록·테스트로 충분히 뒷받침되어 있어 별도 지적하지 않았습니다. |
테스트 커버리지
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎫 관련 티켓
작업 내용
배경 (PRD docs/prd/event-submission.md v2.2) — 행사 운영자 콘솔의 등록 유형은 셋입니다. 지역축제와 팝업스토어는 독립 행사를 새로 등재하는 신청이고(MSG-498), 세 번째 "이벤트 참여형"은 2026-08-28 디자인 개정으로 바뀐 유형입니다: 독립 행사를 만드는 게 아니라 이미 승인된 큰 행사(이벤트)를 골라 그 아래에 참여를 신청합니다(FR-7). 유형 카드를 누르면 페이지 이동 없이 모달이 떠서 시·도 칩과 검색으로 승인 이벤트를 고르고(FR-26, MSG-501), 그다음 기본 정보를 입력해 제출합니다. 이 PR이 그 신청 경로입니다.
flowchart LR A["유형 선택<br/>(지역축제 / 팝업 / 이벤트)"] -->|이벤트 카드| B["승인 이벤트 모달<br/>시·도 칩 + 검색 (MSG-501)"] B -->|부모 회차 선택| C["기본 정보 입력<br/>이름·운영 주체·공개 기간<br/>참여 방식·소개·커버 이미지"] C --> D["대표 위치 등록<br/>사각형 영역 1곳"] D --> E["제출 → 심사 중"] E -->|승인| F["부모 이벤트의<br/>행사 위치로 반영 (MSG-500)"] E -->|반려| G["사유 확인 → 수정 → 재제출<br/>(부모는 못 바꿈)"] G --> EPRD의 유형별 기본 정보 (시안 실측 — 이 PR은 세 번째 행을 구현):
구현한 것
🤔 고민한 내용
👀 리뷰 포인트
Footnotes
Flyway — DB 스키마 변경을 번호 붙은 SQL 파일(V50 등)로 쌓아 순서대로 적용하는 도구. 번호가 겹치거나 순서가 꼬이면 배포가 깨져서, 병렬 작업에서는 번호 예약이 중요하다. ↩
SRS(요구사항 명세) — 서비스 전체 요구사항을 한 문서(docs/srs.md)에 ID를 붙여 모아 둔 정본. 각 요구가 어떤 테스트로 검증되는지 추적표(docs/rtm.md)로 이어지고, CI가 이 연결이 끊기면 빌드를 막는다. ↩
Bean Validation — 요청 DTO 필드에 어노테이션(@SiZe 등)으로 다는 선언적 입력 검증. 서비스 코드에 닿기 전에 걸러지고, 실패하면 공통 400 응답으로 나간다. ↩
enum — 코드에 값 목록을 고정해 두는 자료형. DB에는 문자열로 저장되므로, DB에 새 값이 있는데 코드 목록에 없으면 그 행을 읽는 순간 변환에 실패한다. ↩
더티 체킹 — JPA가 트랜잭션 안에서 객체의 바뀐 필드를 감지해 커밋 시점에 UPDATE 문을 만들어 주는 동작. 개발자가 UPDATE를 직접 쓰지 않아도 저장되는 대신, 실제 나가는 SQL은 로그로 확인해야 안다. ↩