프로젝트 배경
1) 문제점 - 결제와 송금이 서로 다른 외부 시스템에서 일어나 한쪽만 성공한 상태가 생길 수 있었습니다. - 그 상태에서 다시 시도하면 이중 처리가 되므로, 재시도를 그냥 허용할 수 없었습니다. - 특정 단계 이전에는 결제가 일어나서는 안 되는 등, 허용되지 않는 경로가 코드에 아예 존재해서는 안 되는 제약이 있었습니다. 2) 프로젝트 목표 - 돈의 흐름이 정해진 순서를 벗어날 수 없게
프로젝트 성과
상태 변경 경로를 한 곳으로 통일
결제 요청의 상태를 바꾸는 경로를 한 서비스로만 두고, 그 밖에서 상태를 직접 고치지 못하게 했습니다. 우회 경로가 생기지 않게 하는 것이 목적입니다.
권한 누락이 통과되지 않는 구조
상태 변화의 존재 여부와 그 변화를 일으킬 수 있는 주체를 별도의 표로 나눴습니다. 두 곳에 모두 등록되어야만 처리가 성립하므로 권한 등록을 빠뜨리면 아무도 실행할 수 없습니다.
테스트 480건으로 도메인 고정
단위 테스트 101개 파일과 종단 테스트 22개 파일에 검증 블록 480개를 두었습니다. 본문 코드 대비 테스트 분량이 약 0.6배입니다.
도메인 전용 검토 기준 자동화
상태 우회·금액 계산·중복 처리·트랜잭션 경계·기획서 대조 다섯 축을 변경분마다 검사하게 했습니다. 각 축에 실행할 명령과 판정 기준이 짝지어져 있습니다.
핵심 기능
진행 단계
도메인 설계와 데이터 모델 확정
2026.07.
결제 요청의 흐름을 상태로 정리하고, 데이터 모델 22개를 도메인별 파일로 나눠 경계가 코드에서 보이도록 구성했습니다.
프로젝트 상세
1) 포트폴리오 소개 카드로 결제하면 수취인 계좌로 송금해 주는 결제 대행 서비스의 백엔드입니다. 서비스 카테고리는 금융 결제 대행이며, 메인 타깃은 결제를 요청하는 일반 이용자와 요청을 심사·처리하는 운영 관리자입니다. 결제와 송금이 서로 다른 외부 시스템에서 일어나기 때문에 한쪽만 성공한 상태가 생길 수 있고, 그 상태에서 다시 시도하면 이중 처리가 됩니다. 돈의 흐름에서는 대체로 맞다가 성립하지







