핵심 요약
잡코리아가 Server-Driven UI 도입의 핵심인 Section API 백엔드를 Clean Architecture로 설계하고, 섹션 CRUD와 검색, 버전 퍼블리시를 지원해 앱 배포 없이 화면 구성을 바꿀 수 있는 체계를 제시했습니다.
구현 방법
- 계층 구성: Controller → AppService → Validator/Mapper/HistoryAppService/VersionManifestUpdater → Domain Service → Repository로 분리
- 핵심 로직: 중복 검증(SectionExistenceValidator), Composite 기반 정책 검증, MoreInfo/광고 처리 및 변경 이력 발행, 검색은 동적 쿼리로 수행
- 퍼블리시 흐름: VersionPublishStrategy로 수집→Initialize 응답 생성→저장·이력 기록→버전 인덱스 갱신 분리
- 배포 인프라: S3/CDN(환경 버킷), version.json 인덱스, 화이트리스트 도메인 검사, 이벤트 기반 이력 저장
주요 결과
- 퍼블리시 시점에만 앱 반영되도록 하여 운영 안전성 강화
- 섹션 단위의 독립 배포 구조로 확장성과 유지보수성 향상