- DB 스키마는 ERD Cloud에서 확인할 수 있습니다.
- Backend : Java 17, Spring Boot / Modulith / Security / Data JPA
- Testing : Testcontainers, ArchUnit, JaCoCo
- Infra : MySQL, Redis, AWS S3, Docker
1. 모듈형 아키텍처와 검증 자동화
- Port-Adapter 구조를 적용해 도메인 간 직접 의존을 줄이고, 내부 중심의 의존 흐름을 유지했습니다.
- Spring Modulith를 적용해 기능별 모듈 경계를 분리하고, 모듈 간 제약 위반 사항을 검증할 수 있도록 구성했습니다.
- ArchUnit 테스트를 통해 아키텍처 규칙 위반 시 빌드가 실패하도록 구성했습니다.
- 자세한 사항은 여기에서 확인해주세요.
2. SSE 기반 실시간 기능
- 거래 요청, 상태 변경 알림과 채팅 메시지 수신을 Server-Sent Events 기반으로 구현했습니다.
- 채팅 메시지 전송은 REST API, 수신은 SSE로 분리해 각 통신 목적에 맞는 방식을 적용했습니다.
- 멀티 인스턴스 환경에서는 Redis Pub/Sub을 활용해 서버 간 메시지 전달을 동기화했습니다.
- 자세한 사항은 여기에서 확인해주세요.
3. 계층별 테스트 전략과 품질 관리
- Domain, Application, Adapter 계층에 맞춰 단위 테스트, 통합 테스트, 인수 테스트 전략을 분리했습니다.
- 반복되는 테스트 설정은 커스텀 테스트 애노테이션으로 정리해 재사용성을 높였습니다.
- JaCoCo를 통해 테스트 커버리지를 검증하고, 기준에 미달하면 빌드가 실패하도록 구성했습니다.
- Testcontainers를 활용해 실제 환경과 유사한 통합 테스트 환경을 구성했습니다.
- 자세한 사항은 여기에서 확인해주세요.
src/main/java/com/bob
├── admin
├── core
├── global
├── infrastructure
├── integration
├── security
├── shared
└── statistics
