Phase 2 _ 사용자 웹 조회 버전 스프린트

Phase 2 _ 사용자 웹 조회 버전 스프린트

목표
사용자는 웹에서 “지금 사용 가능한 슬롯”을 빠르게 확인할 수 있어야 한다.
웹은 앱의 대체가 아니라 보조 채널이다.

원칙(앱과 동일)

  • 타임슬롯 중심

  • 무한 스크롤 기본 금지

  • 인기/랭킹 기본값 금지

  • 광고/배너 없음

  • 시간 → 혜택 → 수량 → 거리 우선

전제

  • 웹에서 “확보/체크인”까지 할지 여부는 단계적으로 진행한다.

  • Phase 2에서는 우선 “탐색/조회”를 완성한다.


Sprint UW1 – 웹 조회 MVP(리스트/상세) (1주)

UW1-1 사용자 웹 프로젝트 초기화 및 배포 파이프라인

  • Next.js 기반 프로젝트 생성(TypeScript)

  • Cloudflare Pages 배포 연결(GitHub 연동)

  • 환경변수 설정

완료 조건

  • PR merge 시 자동 배포

  • dev/prod 환경 분리


UW1-2 위치 권한 + fallback 입력(동네/좌표)

  • 브라우저 위치 권한 요청

  • 권한 거부 시 fallback

    • “현재 위치 허용” 재요청 버튼

    • 또는 “지역 선택”(간단 텍스트/드롭다운)로 대체 좌표 설정

완료 조건

  • 권한 허용/거부 모두에서 서비스 이용 가능

  • fallback은 최소 동작으로만 제공


UW1-3 주변 슬롯 조회 API 연결

  • getNearbySlots 호출

  • 로딩/빈/에러 상태 UI

  • 반경 기본값 고정(예: 1~2km)

완료 조건

  • 현재 위치 기준으로 슬롯 목록 표시

  • 실패 시 재시도 가능


UW1-4 필터(최소) + 기본 정렬 적용

  • 시간 프리셋(now/next1h/today)

  • 거리 반경 프리셋

  • 업종(선택)

  • 정렬 기본값: 사용 가능 여부 → 거리 → 임박

완료 조건

  • 필터 적용 시 목록 갱신

  • 무한 스크롤 없이 탐색 종료 가능


UW1-5 슬롯 상세 페이지

  • 시간/혜택/수량/거리/매장요약 표시

  • 길찾기 버튼(외부 지도 딥링크)

완료 조건

  • 목록→상세 전환 자연스럽게

  • 앱 설치 유도 배너는 금지(필요 시 조용한 링크만)


Sprint UW2 – “확보는 앱에서” 브릿지 설계 (1주)

목표
웹은 조회, 앱은 실행(확보/체크인).
웹에서 앱으로 자연스럽게 이어지게 만든다.

UW2-1 슬롯 공유 링크(SEO 친화, 슬러그 전략)

  • slotId 기반 공유 URL 생성

  • 메타 태그(제목/요약) 설정

완료 조건

  • 링크 공유 시 카드가 깨지지 않음

UW2-2 앱 딥링크/유니버설 링크(가능 범위 내)

  • 앱 설치되어 있으면 앱으로 열기

  • 없으면 웹에서 계속 보기

완료 조건

  • 최소한 “앱에서 열기” 버튼이 정상 동작

  • 미설치 시 안내 문구는 최소/절제


UW2-3 “앱에서 확보” CTA (조용한 UX)

  • 웹 상세에서 “앱에서 15분 확보” 버튼 제공

  • 클릭 시 딥링크 또는 스토어/설치 안내

완료 조건

  • 웹이 구매/소비 유도 UI처럼 보이지 않음

  • CTA는 기능 안내 수준


Sprint UW3 – 성능/안정화/관측 (1주)

UW3-1 캐싱 및 응답 최적화

  • 근거리 조회 결과 캐시(짧은 TTL)

  • 중복 요청 방지(debounce)

완료 조건

  • 새로고침/필터 변경 시 UX 안정

UW3-2 빈 상태 UX 강화

  • “반경 확장”

  • “시간 프리셋 변경”

  • “다른 업종 선택”

  • 지역 밀도 낮을 때도 막히지 않게

완료 조건

  • 빈 화면에서 다음 행동이 명확

UW3-3 이벤트 로깅 최소

  • view_list, view_detail, click_directions, click_open_app

  • 실패 이벤트(geo_denied, api_fail)

완료 조건

  • 웹 유입/전환 퍼널 기본 측정 가능

Web Phase 2 완료 정의

  • 웹에서 주변 슬롯 탐색 가능

  • 필터/정렬이 정책대로 동작

  • 상세에서 길찾기 및 앱 연결 가능

  • 무한 스크롤/랭킹/배너 없음

  • 지역 밀도 낮아도 빈 상태 UX로 막히지 않음