Skip to content

[Release] Sprint 2. 구매 이후 주문·결제·리뷰 흐름 main 통합#17

Merged
jjunier merged 4 commits into
mainfrom
develop
May 19, 2026
Merged

[Release] Sprint 2. 구매 이후 주문·결제·리뷰 흐름 main 통합#17
jjunier merged 4 commits into
mainfrom
develop

Conversation

@jjunier
Copy link
Copy Markdown
Member

@jjunier jjunier commented May 19, 2026

개요

본 PR은 develop 브랜치에 병합된 D2C-39 주문 내역 확인 및 결제 상태 확인 흐름, D2C-40 주문 상품 기반 리뷰 작성 화면 구현 결과를 main 브랜치에 반영하기 위한 PR입니다.

D2C-39에서는 사용자가 주문 생성, 결제 전, 결제 실패, 결제 성공 이력을 주문 내역 화면에서 확인할 수 있도록 주문 내역 및 결제 상태 확인 흐름을 구현했습니다.

D2C-40에서는 결제 완료된 주문 상품을 기준으로 리뷰 작성 화면에 진입하고, 작성된 리뷰가 상품 상세 페이지에 유지되어 표시되도록 리뷰 작성 및 상품별 리뷰 조회 흐름을 구현했습니다.

본 PR에서는 develop에서 검증된 주문 내역 확인, 결제 상태 확인, 주문 상품 기반 리뷰 작성, 상품 상세 리뷰 조회 흐름을 main에 병합하여 Sprint 2 구매 이후 사용자 흐름의 배포 기준을 정리합니다.


포함 범위

D2C-39 주문 내역 및 결제 상태 확인 흐름

  • 주문 내역 페이지 구현
  • 로그인 사용자 기준 주문 내역 API 연동
  • 주문 생성/결제 실패/결제 성공 이벤트 분리 표시
  • 동일 주문번호의 여러 이벤트를 별도 이력으로 표시
  • 결제 상태 필터 추가
    • 모두
    • 결제 성공
    • 결제 실패
    • 결제 전
  • 결제 상태별 주문 수 표시
  • 날짜별 주문 내역 그룹화
  • 주문 상태 및 결제 상태 배지 표시
  • 주문 상품 목록 표시
  • 상품 금액, 할인 금액, 쿠폰, 최종 결제 금액 표시
  • KST 기준 주문/결제 시간 표시
  • pending order 상태 관리 보완
  • 장바구니 변경 시 pending order 초기화 처리
  • 주문 생성 후 장바구니로 돌아가도 기존 주문 ID를 복원하도록 개선

D2C-40 주문 상품 기반 리뷰 작성 흐름

  • 결제 완료 주문 상품에 리뷰 작성 CTA 추가
  • 결제 전/결제 실패 주문 상품에는 리뷰 작성 CTA 미표시
  • 리뷰 작성 페이지 라우트 추가
  • 리뷰 작성 대상 상품 정보 표시
  • 리뷰 작성 화면에서 상품 상세 보기 CTA 추가
  • 상품 추천 여부 입력 구현
    • 추천
    • 비추천
  • 별점 버튼 기반 평점 입력 구현
  • 상품 추천 여부 필수 검증 추가
  • 평점 필수 검증 추가
  • 리뷰 제목 선택 입력 구현
  • 상세 리뷰 선택 입력 구현
  • 리뷰 제목 미입력 시 기본 문구 저장
  • 상세 리뷰 작성 시 상품 추천 여부와 상세 리뷰가 함께 저장되도록 처리
  • 리뷰 생성 API 연동
  • 중복 리뷰 작성 안내 처리
  • 구매 완료되지 않은 상품 리뷰 작성 실패 메시지 처리

상품 상세 리뷰 조회 및 UI 보완

  • 상품별 리뷰 목록 조회 API 추가
  • 상품 상세 페이지에서 DB에 저장된 리뷰 목록 조회
  • 상품 상세 페이지 하단에 상품 리뷰 섹션 추가
  • 평균 평점 및 리뷰 수 표시
  • 리뷰 제목, 작성자, 작성일, 별점, 상품 추천 여부, 상세 리뷰 표시
  • 상품 목록에서 다시 상품 상세 페이지로 진입해도 리뷰가 유지되도록 개선
  • 상품 상세 페이지 새로고침 후에도 리뷰가 유지되도록 개선
  • 리뷰 카드 UI 및 별점 위치 조정
  • 작성자명 뒤에 suffix 표시
  • 기존 리뷰의 상품 추천 여부 누락 케이스에 대한 표시 보완

백엔드 리뷰 목록 조회 보완

  • 상품별 리뷰 목록 조회 응답 스키마 추가
  • 상품별 리뷰 목록 조회 서비스 추가
  • 상품별 리뷰 목록 조회 라우트 추가
  • visible 상태 리뷰만 조회
  • 리뷰 목록 최신순 정렬
  • 평균 평점 및 총 리뷰 수 계산

스타일 보완

  • 주문 내역 화면 UI 보완
  • 결제 상태 필터 UI 보완
  • 리뷰 작성 페이지 UI 스타일 추가
  • 상품 추천/비추천 버튼 스타일 추가
  • 별점 버튼 스타일 추가
  • 필수 항목 라벨 스타일 추가
  • 상품 리뷰 카드 스타일 추가
  • 상품 리뷰 섹션 레이아웃 보완
  • 반응형 레이아웃 보완

검증 결과

develop 브랜치 기준으로 백엔드 전체 테스트를 실행하여 정상 통과를 확인했습니다.

cd apps/api
python -m pytest ./tests -v

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

cd apps/web
npm run typecheck

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

cd apps/web
npm run build

수동 확인 항목:

  • 주문 생성 시 주문 내역에 주문: 주문 생성, 결제: 결제 전 이력 표시 확인
  • 결제 실패 시 주문: 주문 실패, 결제: 결제 실패 이력 표시 확인
  • 결제 성공 시 주문: 주문 완료, 결제: 결제 성공 이력 표시 확인
  • 동일 주문번호에 대해 주문 생성/결제 실패/결제 성공 이벤트가 각각 별도 카드로 표시되는지 확인
  • 결제 상태 필터 모두 선택 시 전체 주문 이력 표시 확인
  • 결제 상태 필터 결제 성공 선택 시 결제 성공 이력만 표시 확인
  • 결제 상태 필터 결제 실패 선택 시 결제 실패 이력만 표시 확인
  • 결제 상태 필터 결제 전 선택 시 결제 전 이력만 표시 확인
  • 결제 상태별 주문 수 표시 확인
  • 주문 내역 날짜별 그룹화 확인
  • 주문/결제 시간이 KST 기준으로 표시되는지 확인
  • 체크아웃에서 주문 생성 후 장바구니로 돌아갔다가 다시 체크아웃 진입 시 동일 주문 ID 복원 확인
  • 장바구니 상품 추가/삭제/수량 변경 시 pending order 제거 확인
  • 결제 완료 주문 상품에 리뷰 작성 버튼 표시 확인
  • 결제 전 주문 상품에는 리뷰 작성 버튼 미표시 확인
  • 결제 실패 주문 상품에는 리뷰 작성 버튼 미표시 확인
  • 리뷰 작성 버튼 클릭 시 리뷰 작성 화면 이동 확인
  • 리뷰 작성 상품 정보 표시 확인
  • 상품 상세 보기 버튼 동작 확인
  • 상품 추천 여부 미선택 시 경고 메시지 확인
  • 평점 미선택 시 경고 메시지 확인
  • 별점 버튼으로 평점 선택 확인
  • 리뷰 제목 선택 입력 확인
  • 상세 리뷰 선택 입력 확인
  • 리뷰 제목 미입력 시 기본 문구 저장 확인
  • 상세 리뷰 작성 시 상품 추천 여부와 상세 리뷰가 함께 표시되는지 확인
  • 리뷰 등록 성공 후 상품 상세 페이지 이동 확인
  • 상품 상세 페이지에서 등록한 리뷰 표시 확인
  • 상품 목록에서 다시 상품 상세 페이지에 진입해도 리뷰가 유지되는지 확인
  • 상품 상세 페이지 새로고침 후에도 리뷰가 유지되는지 확인
  • 평균 평점 및 리뷰 수 표시 확인
  • 중복 리뷰 작성 시 안내 메시지 확인
  • 작성자명 뒤 표시 확인

브랜치 통합 방식

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

feature/D2C-39-order-history-payment-status-flow
→ develop

feature/D2C-40-order-item-review-form
→ develop

develop
→ main

main 병합 후에는 주문 내역 확인, 결제 상태 확인, 주문 상품 기반 리뷰 작성, 상품 상세 리뷰 조회 흐름이 배포 기준 브랜치에 반영됩니다.


향후 브랜치 운영 원칙

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

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

체크리스트

  • D2C-39 브랜치를 develop에 병합
  • D2C-40 브랜치를 develop에 병합
  • 주문 내역 및 결제 상태 확인 흐름 포함
  • 주문 생성/결제 이벤트 분리 표시 포함
  • 결제 상태 필터 포함
  • KST 기준 시간 처리 보완 포함
  • pending order 상태 관리 보완 포함
  • 주문 상품 기반 리뷰 작성 흐름 포함
  • 상품 추천 여부 및 별점 기반 리뷰 입력 포함
  • 리뷰 생성 API 연동 포함
  • 상품별 리뷰 목록 조회 API 포함
  • 상품 상세 페이지 리뷰 조회 흐름 포함
  • 상품별 평균 평점 및 리뷰 수 표시 포함
  • Backend CI 통과 확인
  • Frontend CI 통과 확인
  • main 병합 완료
  • main 기준 최종 확인

jjunier added 4 commits May 16, 2026 23:16
- implement order history page with payment status filtering and date grouping
- render order-created and payment-simulated events as separate history records
- add order history API client and frontend order history types
- add event-level order history identifiers to prevent duplicate render keys
- standardize order and payment timestamps using KST-based application time
- preserve pending checkout order state across cart navigation until cart changes
- clear pending order state when cart items are added, removed, or updated
…tory-payment-status-flow

[D2C-39] 주문 내역 확인 및 결제 상태 확인 흐름 구현
- add review creation page for purchased order items
- add review CTA to paid order items in order history
- require product recommendation and star rating before review submission
- support optional review title and detailed review content with default fallback text
- add product review list API and render persisted reviews on product detail page
- improve product review card layout, rating display and reviewer name formatting
…m-review-form

[D2C-40] 주문 상품 기반 리뷰 작성 화면 구현
@jjunier jjunier merged commit f76446b into main May 19, 2026
5 checks passed
@jjunier jjunier changed the title [D2C-40] Sprint 2. 구매 이후 주문·결제·리뷰 흐름 main 통 [D2C-40] Sprint 2. 구매 이후 주문·결제·리뷰 흐름 main 통합 May 19, 2026
@jjunier jjunier added enhancement New feature or request good first issue Good for newcomers labels May 19, 2026
@jjunier jjunier changed the title [D2C-40] Sprint 2. 구매 이후 주문·결제·리뷰 흐름 main 통합 [Release] Sprint 2. 구매 이후 주문·결제·리뷰 흐름 main 통합 May 26, 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 good first issue Good for newcomers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant