Phase 1 _ 가맹점 관리자 MVP
목표
가맹점이 다음을 할 수 있어야 한다:
슬롯 발행
발행 제한 확인
기본 통계 확인
구독 상태 확인
광고 기능 없음
노출 조정 기능 없음
랭킹 기능 없음
Sprint W1 – 기본 구조 및 인증 (1주)
W1-1 웹 프로젝트 초기화
Next.js(또는 Vite + React) 프로젝트 생성
TypeScript 적용
Supabase 클라이언트 연결
환경변수 설정(.env.local)
완료 조건
로컬 실행 가능
Supabase 연결 테스트 성공
W1-2 인증 연결 (Supabase Auth 연동)
로그인 페이지
Google 로그인 버튼
매직링크 로그인
로그인 후 대시보드 이동
완료 조건
로그인 성공 시 merchantId 연결 가능
비로그인 접근 차단
W1-3 Merchant 모델 및 접근 제어
users ↔ merchants 연결 구조
RLS 정책 설정
자신 소유 merchant만 접근 가능
완료 조건
- 다른 가맹점 데이터 접근 불가
Sprint W2 – 슬롯 발행 기능 (1주)
W2-1 슬롯 발행 폼 UI
입력 항목:
시간 범위
수량
혜택 텍스트
적용 조건
업종(초기 고정 가능)
완료 조건
유효성 검사 작동
시간 겹침 체크 기본 구현
W2-2 발행 제한 로직 연동
월 발행 횟수 계산
동일 조건 재발행 최소 간격 체크
동시 노출 수 제한
완료 조건
제한 초과 시 발행 불가 메시지
플랜별 제한 반영
W2-3 슬롯 목록 화면
현재 발행 슬롯 리스트
상태 표시 (issued / reserved / redeemed / expired)
남은 수량 표시
완료 조건
- 실시간 갱신 또는 수동 새로고침 가능
Sprint W3 – 구독 및 플랜 관리 (1주)
W3-1 구독 상태 표시
현재 플랜
남은 발행 가능 횟수
다음 결제일
완료 조건
- Stripe 상태와 동기화
W3-2 Stripe 결제 연동
구독 생성
플랜 변경
취소
완료 조건
결제 성공 시 DB 반영
웹훅 처리 정상
Sprint W4 – 기본 통계 (1주)
목표
광고가 아니라 “운영 도구”라는 인식 제공
W4-1 기본 지표
발행 횟수
소진율
도착률
만료율
완료 조건
- 기간 필터(7일/30일) 적용 가능
W4-2 시간대별 소진 히트맵(간단 버전)
시간대별 발행/도착 비율 표시
시각화는 단순 차트로 충분
완료 조건
- 가맹점이 “언제가 잘 되는지” 직관적으로 이해 가능
Sprint W5 – 발행 편의성 개선 (1주)
W5-1 이전 슬롯 복사 기능
기존 슬롯 불러오기
시간만 수정 후 재발행
W5-2 반복 슬롯 템플릿
매주 특정 시간 자동 발행(옵션)
Basic 플랜은 수동만 허용
Web Phase 1 완료 정의
가맹점이 모바일 앱 없이 웹에서 운영 가능
발행 제한 정책이 자동 적용
구독 결제가 안정적으로 동작
기본 통계로 운영 판단 가능