Skip to content

[D2C-34] 상품 상세 화면 및 장바구니 담기 흐름 구현#7

Merged
jjunier merged 1 commit into
developfrom
feature/D2C-34-product-detail-cart-flow
May 11, 2026
Merged

[D2C-34] 상품 상세 화면 및 장바구니 담기 흐름 구현#7
jjunier merged 1 commit into
developfrom
feature/D2C-34-product-detail-cart-flow

Conversation

@jjunier
Copy link
Copy Markdown
Member

@jjunier jjunier commented May 11, 2026

개요

본 PR은 D2C-34 상품 상세 화면 및 장바구니 담기 흐름 구현 작업을 develop 브랜치에 통합하기 위한 PR입니다.

D2C-33에서 구현한 카테고리/상품 목록 화면 이후, 사용자가 상품 카드에서 상세 화면으로 이동하고 상품 상세 정보를 확인한 뒤 장바구니에 상품을 담을 수 있는 흐름을 구현했습니다.

이번 작업에서는 상품 상세 API 연동, 수량 선택 UI, 장바구니 생성 및 상품 담기 API 연동, 로그인 안내 및 성공/실패 피드백 처리를 포함했습니다.


포함 범위

상품 상세 화면 구현

  • 상품 상세 페이지 API 연동
  • 상품명, 브랜드명, 상품 상태, 정가, 판매가 표시
  • 상품 상세 placeholder 이미지 영역 구성
  • 상품 목록으로 돌아가기 동선 구성
  • 상품 상세 화면 전용 레이아웃 및 반응형 스타일 추가

장바구니 담기 흐름 구현

  • 수량 선택 UI 구현
  • 수량 증가/감소 버튼 구현
  • 수량 직접 입력 처리
  • localStorage 기반 사용자 상태 확인
  • 비로그인 상태에서 장바구니 담기 제한 및 로그인/회원가입 안내 표시
  • 저장된 cart_id가 없을 경우 장바구니 생성
  • 생성된 cart_id를 localStorage에 저장
  • 장바구니 상품 담기 API 연동
  • 장바구니 담기 성공/실패 메시지 표시
  • 장바구니 화면 이동 CTA 제공

API / 타입 구성

  • 상품 상세 조회 API 함수 추가
  • 장바구니 생성 API 함수 추가
  • 장바구니 상품 담기 API 함수 추가
  • 상품 상세 타입 구성
  • 장바구니 및 장바구니 아이템 타입 추가

기타 UI 보완

  • Vite public favicon 추가
  • index.html favicon link 등록
  • 브라우저 favicon 요청으로 인한 불필요한 404 로그 해소

검증 결과

프론트엔드 타입 체크를 실행하여 정상 통과를 확인했습니다.

cd apps/web
npm run typecheck

프론트엔드 빌드를 실행하여 정상 통과를 확인했습니다.

cd apps/web
npm run build

프론트엔드 개발 서버와 백엔드 서버를 함께 실행하여 상품 상세 및 장바구니 담기 흐름을 수동 확인했습니다.

cd apps/api
uvicorn backend.main:app --reload
cd apps/web
npm run dev

수동 확인 항목:

  • http://localhost:5173/products 접속 확인
  • 상품 카드 클릭 시 상품 상세 페이지 이동 확인
  • 상품 상세 정보 표시 확인
  • 수량 증가/감소 및 직접 입력 확인
  • 비로그인 상태에서 장바구니 담기 시 로그인 안내 표시 확인
  • 테스트 사용자 정보가 localStorage에 있을 때 장바구니 생성 및 상품 담기 확인
  • 장바구니 담기 성공/실패 메시지 표시 확인
  • 장바구니 보기 버튼 이동 확인
  • favicon 표시 및 불필요한 favicon 404 로그 해소 확인

브랜치 통합 방식

이번 PR의 통합 흐름은 아래와 같습니다.

feature/D2C-34-product-detail-cart-flow
→ develop

D2C-34 병합 후에는 develop 브랜치에서 D2C-35 전용 feature 브랜치를 새로 분기하여 회원가입 화면 및 사용자 생성 흐름 구현을 진행합니다.


향후 브랜치 운영 원칙

Sprint 2에서는 아래 브랜치 운영 원칙을 유지합니다.

  • Jira 이슈키별 독립 feature 브랜치 생성
  • 각 feature 브랜치는 develop에서 분기
  • 작업 완료 후 develop으로 개별 PR 생성
  • PR 단위로 CI 검증 후 병합
  • 의미 있는 사용자 흐름 단위가 완료되면 developmain에 병합
  • main은 배포 기준 브랜치로 유지
  • 기능 작업이 누적된 장기 브랜치는 지양

체크리스트

  • develop 브랜치에서 분기한 feature 브랜치에서 작업
  • D2C-34 이슈키를 PR 제목과 설명에 포함
  • 상품 상세 API 연동
  • 상품 상세 화면 UI 구현
  • 수량 선택 UI 구현
  • 비로그인 상태 장바구니 담기 제한 및 안내 처리
  • 장바구니 생성 API 연동
  • 장바구니 상품 담기 API 연동
  • cart_id localStorage 저장 처리
  • 장바구니 담기 성공/실패 피드백 표시
  • favicon 추가 및 index.html 반영
  • .env, node_modules, dist, cache 파일이 커밋에 포함되지 않도록 확인
  • 로컬에서 프론트엔드 typecheck / build / dev 실행 확인

- connect product detail API and render product detail page
- add quantity selector and cart add action from product detail
- create cart when stored cart_id is missing and persist cart_id in localStorage
- show login guidance, success, and error feedback for cart add flow
- add cart API client and cart-related frontend types
- add favicon asset and register it in the Vite index page
@jjunier jjunier self-assigned this May 11, 2026
@jjunier jjunier added the enhancement New feature or request label May 11, 2026
@jjunier jjunier merged commit 134205c into develop May 11, 2026
2 checks passed
@jjunier jjunier changed the title feat(frontend): implement product detail and cart add flow [D2C-34] [D2C-34] 상품 상세 화면 및 장바구니 담기 흐름 구현 May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant