Skip to content

feat(request): 요청(Request) & 솔루션(Solution) 사용자 플로우 완성 #45

@thxforall

Description

@thxforall

개요

사용자가 아이템을 요청하고 솔루션을 받는 전체 플로우 프로덕션 수준 완성.

Epic: #36

현재 상태 ✅ 구현됨

  • 3-Step Request Flow:
    1. Upload: 드래그앤드롭/갤러리, "아이템 아는지" 분기
    2. Detect: 이미지 위 스팟 배치, 솔루션 입력 폼
    3. Submit: 이미지 압축 → API 전송 → 포스트 생성
  • API 라우트: /posts/upload, /posts/with-solutions, /spots/{spotId}/solutions
  • Request Store: Zustand (addSpot, removeSpot, setSpotSolution)
  • 솔루션 채택: /solutions/{solutionId}/adopt

TODO

  • Request 플로우 UX 개선
    • 업로드 진행률 표시 (현재 로딩만)
    • 이미지 크롭/회전 기능
    • 스팟 배치 가이드 (최소 1개 이상 안내)
  • 솔루션 알림 시스템
    • 내 요청에 솔루션이 달리면 알림 (푸시 or 인앱)
    • 이메일 알림 옵션
  • 솔루션 브라우징 개선
    • 포스트 상세 페이지에서 스팟별 솔루션 비교 UI
    • 솔루션 투표(accurate/different) UX 개선
    • 어필리에이트 링크 클릭 추적
  • 로그인 연동
    • 비로그인 사용자: 요청 시도 시 로그인 유도
    • 게스트 → 정식 계정 전환 시 데이터 마이그레이션
  • 에러 처리 강화
    • 업로드 실패 재시도
    • 네트워크 오류 시 임시 저장
    • 이미지 크기/형식 검증 클라이언트 사이드

참고 파일

  • packages/web/app/request/upload/ — 업로드 페이지
  • packages/web/app/request/detect/ — 감지 페이지
  • packages/web/lib/stores/requestStore.ts — Request 상태 관리
  • packages/web/lib/components/request/ — Request 컴포넌트
  • packages/web/app/posts/[id]/page.tsx — 포스트 상세 (솔루션 표시)

Metadata

Metadata

Labels

backend백엔드/APIfrontend프론트엔드priority: high아키텍처 안정화 단계release: phase-22차 릴리즈 (4/12) — 로그인, 유저

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions