spring_2기[본캠프]/과제

[과제] 결제 시스템 Day9

minwoo95 2026. 2. 20. 21:43

https://github.com/teeeam3/payment-assignment

 

GitHub - teeeam3/payment-assignment: 결제 도메인 프로젝트입니다

결제 도메인 프로젝트입니다. Contribute to teeeam3/payment-assignment development by creating an account on GitHub.

github.com

 

결제시스템_프로젝트_결과보고서.pptx
1.12MB

 

 

 

오늘은 과제의 마지막날 과제 제출과 발표만 남은상태였다.

 

물론 부족하지만 잘 진행되었고, 그동안의 과제 결과물들 이다.

 

놓치지않고 성장하기 위해 아래 두가지를 진행할 예정이다.

 

 

1. Git 이슈로 등록된 피드백 내용은 모두 리팩토링 하여 부족한 부분을 보완할것이다.

1.패키지 구 조가 도메인 영역이 명확히 구분되어있지 않다.
2.익셉션이 잡아서 뜨로우로 던지고만 있다. 차라리 넘어갈건 넘어가게 하면 알아서 401에러를 터트릴텐데 인증인가쪽(필터)
3.어노테이션 사용시 ROLE_ 또는 hasRole() 사용시 작성규칙에 맞게 해야한다[완료]
4.포인트 차감과 증가 사이에 동시성 해결을 고려해야 하며, 이런 상황을 확인하기 위해서 테스트 코드작성이 필요하다
5.오더서비스에 주문상태 변경으로 넘어가면 업데이트오더스테이터스 메서드의 받는 매개변수가 새로운 트렌젝션을 생성하는것으로 하는것으로 하면 실패시 데이터 정합성의 문제가 발생할수 있다.[완료]
6.특히 결제쪽은 익셉션 넘기거나 넘기고나서 로그를 남길수 있도록 하는게 중요하다 이유는 추적이 필요하기 때문이다.
7.숫자로 직접 작성된 모든 수치를 (매직넘버->상수)로 선언하여 모아 관리하는게 좋다. 개별로 하드코딩을 하게 된다면 유지보수가 힘들기 때문이다.
8.사용하지 않는 임포트 정리와 들여쓰기와 띄워쓰기도 모두 정리해야한다[완료]
9.페이먼트 서비스에서 클라이언트에서 보내온 데이터를 검증없이 사용하는건 문제다. 무조건 클라이언트에서 오는 데이터를 사용하기 전에 검증을 무조건 거쳐야 한다.
10.포인트 서비스에서 300포인트가 있는데 500포인트 사용시 -200포인트가 되어버리는 로직이다
11.페이먼트 엔티티에서 페이드엣 생성시 널인건 좋은데, 어프로브할때는 페이드엣같은게 시간 기록이 남게 수정해야한다.[완료]
12.주문조회시 현재 로그인한 고객의 주문만 보이게 로직을 수정해야한다. 기본적으로 로그인 상태를 생각해야한다.

13.리드미에 부분취소만 되는지 전체취소가 되는지 면접관의 리소스가 소모되지 않도록 명확하게 정리해야한다. [완료]

14.보상트랜젝션에 관하여 다양한 시나리오대로 어떤 타이밍에 실행하여 보상을 진행할지? 보상이 실패하면 몇번 까지 재시도 할건지에 대한 내용을 보강하기

15.트렌젝션별 상태 전이에 대해 명확하고 잘 처리가 되고있는지 도식화 해보기

16.테스트 코드 꼭 작성하기

 

2.튜터님의 피드백을 회고로 따로 정리하여 부족한 개념과 사고방향을 습관화 해야할것이다

https://www.notion.so/KPT-Keep-Problem-Try-20260220-30d009bf1a918063be97d66448955898?source=copy_link

 

결제시스템 개발 과제 KPT 회고 [Keep, Problem, Try] 20260220 | Notion

프로젝트 KPT 회고란?

www.notion.so

 

 

아쉬움이 크지만 성장통이라 생각하겠당~!

'spring_2기[본캠프] > 과제' 카테고리의 다른 글

[플러스] 챕터1 QueryDSL  (0) 2026.02.25
[과제] Standard Spring Task 5  (0) 2026.02.24
[과제] 결제 시스템 Day8  (0) 2026.02.19
[과제] 결제 시스템 Day7  (0) 2026.02.13
[과제] 결제 시스템 Day6  (0) 2026.02.12