diff --git a/.forge/iss-478981daa4be-attempt-1-run-c0b7e9d69a7a.md b/.forge/iss-478981daa4be-attempt-1-run-c0b7e9d69a7a.md new file mode 100644 index 0000000..d92c95b --- /dev/null +++ b/.forge/iss-478981daa4be-attempt-1-run-c0b7e9d69a7a.md @@ -0,0 +1,3 @@ +# iss-478981daa4be-attempt-1-run-c0b7e9d69a7a + +Forge 이슈 작업 브랜치 `forge/iss-478981daa4be-attempt-1-run-c0b7e9d69a7a`. diff --git a/.forge/iss-e2325889b406-attempt-1-run-0207d2e91028.md b/.forge/iss-e2325889b406-attempt-1-run-0207d2e91028.md new file mode 100644 index 0000000..64c4c82 --- /dev/null +++ b/.forge/iss-e2325889b406-attempt-1-run-0207d2e91028.md @@ -0,0 +1,3 @@ +# iss-e2325889b406-attempt-1-run-0207d2e91028 + +Forge 이슈 작업 브랜치 `forge/iss-e2325889b406-attempt-1-run-0207d2e91028`. diff --git a/docs/architecture/package-map.md b/docs/architecture/package-map.md new file mode 100644 index 0000000..1b992fb --- /dev/null +++ b/docs/architecture/package-map.md @@ -0,0 +1,9 @@ +# Package Map + +| Package | Responsibility | Forbidden Dependencies | +|----------------|---------------------------------------------------------|-----------------------| +| controller | Handle incoming requests, validate input | service | +| service | Business logic, coordination between layers | repository | +| repository | Data access and persistence | domain | +| domain | Core business models and logic | integration | +| integration | Interact with external systems, including payment gateways | domain | \ No newline at end of file diff --git a/docs/architecture/transaction-sequence.md b/docs/architecture/transaction-sequence.md new file mode 100644 index 0000000..8803753 --- /dev/null +++ b/docs/architecture/transaction-sequence.md @@ -0,0 +1,31 @@ +```mermaid +sequenceDiagram + participant User + participant PaymentGateway + participant Database + + %% 정상 흐름 %% + User->>PaymentGateway: 결제 요청 + PaymentGateway->>User: 결제 승인 + User->>Database: 거래 기록 저장 + Database-->>User: 거래 성공 + %% 커밋 %% + User->>Database: 커밋 + Database-->>User: 커밋 완료 + + %% 외부 실패 %% + User->>PaymentGateway: 결제 요청 + PaymentGateway-->>User: 결제 실패 + %% 롤백 %% + User->>Database: 롤백 + Database-->>User: 롤백 완료 + + %% DB 실패 %% + User->>PaymentGateway: 결제 요청 + PaymentGateway->>User: 결제 승인 + User->>Database: 거래 기록 저장 + Database-->>User: DB 오류 + %% 롤백 %% + User->>Database: 롤백 + Database-->>User: 롤백 완료 +``` \ No newline at end of file