QR 스캔으로 쿠폰 자동 발급하는 프로모션 랜딩 구현
목차
feat: 쿠폰 타입별 상세 페이지 분기 + QR 프로모션 랜딩 개선
QR 코드 기반 프로모션 랜딩 페이지 구현 작업임. QR을 스캔하면 특정 쿠폰을 자동 적용하거나 이벤트 페이지로 연결되는 구조임.
QR 프로모션 플로우
QR 스캔 → 랜딩 페이지 진입
→ 비로그인: 로그인 유도 (return URL 유지)
→ 로그인: 쿠폰 자동 발급 + 완료 페이지
쿠폰 타입별 상세 분기
| 쿠폰 타입 | 상세 페이지 |
|---|---|
| 금액 할인 | 금액 강조 레이아웃 |
| 비율 할인 | % 강조 레이아웃 |
| 무료 상품 | 상품 이미지 포함 |
| 이벤트 참여 | 참여 폼 표시 |
중복 발급 방지
INSERT IGNORE INTO promo_participant
(promo_sn, member_sn, issued_at)
VALUES
(#{promoSn}, #{memberSn}, NOW())
promoKey는 UUID로 생성해서 URL 예측 불가능하게 만듦. 1인 1회 제한은 UNIQUE 제약으로 처리함. 만료일 지난 프로모션은 '종료됨' 화면으로 분기.
개발 원칙 정리
이 작업을 진행하면서 재확인한 원칙들:
작은 커밋: 변경 단위를 작게 유지해서 코드 리뷰와 롤백이 쉽게.
테스트 먼저: 변경 전 현재 동작을 파악하고, 변경 후 동일하게 동작하는지 확인.
문서 동기화: 코드가 바뀌면 관련 주석과 문서도 같이 업데이트.
| 원칙 | 이유 |
|---|---|
| 단일 책임 | 하나의 함수/클래스는 하나의 역할만 |
| 명시적 코드 | 영리한 코드보다 읽기 쉬운 코드 |
| 실패 우선 처리 | happy path보다 에러 케이스 먼저 설계 |
끝
댓글 0
첫 댓글 달아줘.