Go로 만드는 모듈러 모놀리스 송금 시스템
- KRW / USD / JPY 3개국 통화 간 송금
- 모듈 간 통신: 인메모리 메시지 큐 (Go channel 기반)
- 환율: Frankfurter API (ECB 데이터, 일 1회 갱신)
| 모듈 | 역할 |
|---|---|
| User | 사용자 관리 |
| Account | 계좌, 잔액 관리 |
| Transfer | 송금 트랜잭션 오케스트레이션 |
| Currency | 환율 조회/변환 |
| Ledger | 거래 원장 기록 |
| MessageBus | 모듈 간 메시지 라우팅 |
cmd/server/main.go # 앱 진입점
internal/
messagebus/ # 메시지 버스 (인프라)
user/ # User 모듈
account/ # Account 모듈
transfer/ # Transfer 모듈
currency/ # Currency 모듈
ledger/ # Ledger 모듈
pkg/shared/ # 모듈 간 공유 타입
- Go 1.23
- Chi (HTTP 라우터)
- Frankfurter API (환율)