Skip to content

Latest commit

 

History

History
68 lines (54 loc) · 3.38 KB

File metadata and controls

68 lines (54 loc) · 3.38 KB

📝 Team Meeting Minutes

Date (일시): Location (장소): ZEP Recorder (작성자): 권지원 Attendees (참석자): 권지원, 박소영, 김예은, 정민교, 신현민


1. Meeting Agenda (회의 안건)

  • 튜터님 피드백
  • 플로우차트

비즈니스 상 이상거래는 따로 탐지하는게 좋음 (ex) 결제 금액이 다른 경우는 환불 해주긴 하겠지만 결제 상태에는 실패로 처리하기
주문 생성 후 일정 시간이 지나면 Pending 처리 대신 다른 상태값으로 변경해주는 로직 추가
포인트 처리할 때도 동시성 문제 처리하기 (동시에 포인트를 사용하는 경우)
PortOne 등 외부에서 오류가 발생했을 때는 포인트 복구를 어떻게 할 지에 대해서 고민해보기

환불 파트도 위에서 집었던 부분에 대해 다시 생각해보기
상품 조회 후 금액 한 번 더 검증하는 로직 추가 (주문 생성할 때 총액 vs 상품 총액) webhook 이 들어오는 sequence 도 짜기
portone 으로 요청이 들어가는 경우를 잘 분리해주기

  • ERD

주문과 결제는 선택 관계가 아님 (1:1) 주문이 생성되면 결제도 바로 생성되도록 함 (pending 상태로 )
portone 에는 결제 생성시 만들어진 ID 를 보내기
point 의 주문 ID 는 nullable 로 설정하기! (이후 생일용 포인트 등 확장성을 위해서)

전액환불 구조니까 환불 테이블에 환불금액 컬럼은 정규화 위반

멤버십 등급 테이블로 설계하기, DB 에 정책 설계를 해주기 편하니까!

2. Key Discussions (주요 논의 사항)

  • 정민교: 개인 사정으로 외출
  • 권지원: api 명세서 작성하기 어려워요... -> 열심히 하세요
  • 신현민:
  • 박소영:
  • 김예은:

3. Decisions Made (의사 결정 사항)

  • 기초 API 명세 작성   - 각자 도메인 분리하고 API 명세서를 작성했습니다.

4. Action Items (향후 계획 및 TODO)

👥 Common Tasks (공통 작업)

  • 초기 코드 업로드   - yml 파일, 프로젝트 생성, 의존성 추가, 공통응답, 공통 에러 포맷, DB 연결설정
  • 코딩 각자 맡은 부분 (domain) 해야할 일 나눠서 작성하기
  • git convention
    브랜치 이름 -> feat/이슈번호-도메인-기능 이슈 등록하고 작성하기
  • String id 에 관한 질문 프론트에서 id 를 Long 이나 number, int 타입이 아닌 String 타입으로 받는데 이 때 String type 의 식별자를 따로 만들어서 보내야할지 아니면 그냥 Long ID 를 String 타입으로 변환하여 반환할지에 대한 고민
    -> 지금같은 상황에서는 주문을 제외하고는 string id 를 secquence 로 만들어진 id 값으로 넘기는게 좋을 것 같다 주문같은 경우는 사용자에게 보여줄 수 있는 간단한 번호가 있는게 좋지만 다른 도메인에 대해서는 MSA 환경이 아니고, 데이터 개수를 노출시키는 것에 대해서 걱정할 필요가 따로 X 라고 말씀해주셨습니다!! 현재는 성능을 최우선으로 한다고 발표 때 작성하면 될 듯 해요

👤 Individual Tasks (개별 역할)

  • 정민교: 주문
  • 권지원: 인증인가, 사용자, 상품 도메인
  • 신현민: 결제
  • 박소영: 결제
  • 김예은: 포인트