Skip to content

[Release] 로그 저장 및 이벤트 발생 로직 main 병합#24

Merged
jjunier merged 7 commits into
mainfrom
develop
May 26, 2026
Merged

[Release] 로그 저장 및 이벤트 발생 로직 main 병합#24
jjunier merged 7 commits into
mainfrom
develop

Conversation

@jjunier
Copy link
Copy Markdown
Member

@jjunier jjunier commented May 26, 2026

개요

본 PR은 D2C-43, D2C-44, D2C-45 작업이 반영된 develop 브랜치를 main 브랜치에 병합하기 위한 PR입니다.

이번 병합에서는 이벤트 로그 저장 기반, 프론트엔드 사용자 행동 이벤트 로그 발생 로직, 백엔드 도메인 이벤트 로그 발생 로직을 main 브랜치에 반영합니다.

이를 통해 D2C Commerce Prototype에서 사용자 행동과 주요 도메인 상태 변경을 event_logs 테이블에 기록할 수 있는 로그/검증 기반이 main 배포 기준 브랜치에 포함됩니다.


포함 범위

D2C-43 이벤트 로그 저장 방식 구현

  • event_logs 테이블 추가
  • 이벤트 로그 저장용 migration 추가
  • 이벤트 로그 요청/응답 스키마 추가
  • 공통 이벤트 로그 저장 서비스 추가
  • POST /events API 추가
  • 이벤트 로그 라우터 등록
  • 이벤트 로그 API 테스트 추가

D2C-44 사용자 행동 이벤트 로그 발생 로직 구현

  • 프론트엔드 이벤트 로그 타입 추가
  • 프론트엔드 이벤트 로그 API 클라이언트 추가
  • 상품 목록/상세 사용자 행동 이벤트 기록
  • 장바구니 사용자 행동 이벤트 기록
  • 체크아웃 사용자 행동 이벤트 기록
  • 주문 내역 페이지 진입 이벤트 기록
  • 쿠폰함 페이지 진입 이벤트 기록
  • 리뷰 작성 페이지 및 리뷰 등록 클릭 이벤트 기록
  • 이벤트 저장 실패가 사용자 화면 흐름을 막지 않도록 처리

D2C-45 주문/결제 상태 이벤트 로그 발생 로직 구현

  • 백엔드 도메인 이벤트 안전 기록 유틸 추가
  • 주문 생성 성공 후 order_created 이벤트 기록
  • 결제 성공 후 payment_succeeded 이벤트 기록
  • 결제 실패 후 payment_failed 이벤트 기록
  • 결제 성공 후 cart_checked_out 이벤트 기록
  • 쿠폰 적용 성공 후 coupon_applied 이벤트 기록
  • 쿠폰 사용 완료 후 coupon_used 이벤트 기록
  • 리뷰 생성 성공 후 review_created 이벤트 기록
  • 장바구니 생성 및 장바구니 상품 변경 이벤트 기록
  • 도메인 이벤트 기록 실패 시 서버 logging 처리
  • 이벤트 기록 실패가 핵심 API 응답을 막지 않도록 처리

검증 결과

D2C-43, D2C-44, D2C-45 개별 PR에서 아래 검증을 완료했습니다.

cd apps/api
python -m pytest ./tests -v
cd apps/api
pylint --rcfile=../../.pylintrc backend tests
cd apps/web
npm run typecheck
cd apps/web
npm run build

수동 확인 항목:

  • develop 브랜치에 D2C-43 병합 완료 확인
  • develop 브랜치에 D2C-44 병합 완료 확인
  • develop 브랜치에 D2C-45 병합 완료 확인
  • 이벤트 로그 저장 기반 포함 확인
  • 프론트엔드 사용자 행동 이벤트 기록 로직 포함 확인
  • 백엔드 도메인 이벤트 기록 로직 포함 확인
  • 이벤트 기록 실패가 사용자 흐름 또는 핵심 API 응답을 막지 않도록 처리 확인
  • Backend 테스트 통과 확인
  • Backend Pylint 통과 확인
  • Frontend typecheck 통과 확인
  • Frontend build 통과 확인

브랜치 통합 방식

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

develop
→ main

main 병합 후에는 D2C-43, D2C-44, D2C-45 이벤트 로그 관련 작업이 배포 기준 브랜치에 반영됩니다.


체크리스트

  • D2C-43을 develop에 병합
  • D2C-44를 develop에 병합
  • D2C-45를 develop에 병합
  • 이벤트 로그 저장 기반 반영
  • 사용자 행동 이벤트 로그 발생 로직 반영
  • 백엔드 도메인 이벤트 로그 발생 로직 반영
  • Backend 테스트 통과 확인
  • Backend Pylint 통과 확인
  • Frontend typecheck 통과 확인
  • Frontend build 통과 확인
  • developmain으로 병합

jjunier added 7 commits May 22, 2026 23:26
- add event_logs table schema and migration
- add event log request and response schemas
- implement shared event recording service
- add POST /events API for frontend behavior events
- add event log API tests
…-storage

[D2C-43] 이벤트 로그 저장 방식 구현
- add frontend event log types and API client
- record product list and product detail behavior events
- record cart and checkout interaction events
- record order history, coupon wallet, and review page events
- keep event logging failures from blocking user flows
…vior-event-logging

[D2C-44] 사용자 행동 이벤트 로그 발생 로직 구현
- add safe backend domain event recording helper
- record order, payment, coupon, review, cart domain events
- keep domain event logging failures from blocking API responses
- add server logging for domain event recording failures
…ment-domain-event-logging

[D2C-45] 주문/결제 상태 이벤트 로그 발생 로직 구현
@jjunier jjunier added enhancement New feature or request good first issue Good for newcomers labels May 26, 2026
@jjunier jjunier merged commit 24f8a7a into main May 26, 2026
5 checks passed
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