
프론트엔드
오늘도 엔지니어가 된다고 말했다 - 당근페이 이용 내역 개편기
두줄요약
당근페이는 이용내역 개편을 위해 서버 드리븐 UI에서 클라이언트 주도 구조로 전환하고 GraphQL을 도입했습니다. 단계적 마이그레이션과 명확한 스키마 원칙으로 안정성과 확장성을 함께 확보했습니다.
문제 상황
- 당근페이 이용내역이 서비스 확장과 함께 단순 테이블에서 복잡한 거래 맥락을 담아야 하는 화면으로 변모
- 서버 드리븐 UI와 REST 중심 구조로는 새로운 거래 상태, 부가 정보, 디자인 변경을 빠르게 반영하기 어려움
- 거래 타입마다 의미가 다른 필드가 섞이며 금액 표기 혼선과 QA 버그 발생
원인 분석
- 미래 요구사항을 미리 예측해 설계한 서버 주도 구조의 한계
- REST API의 재사용성 부족과 화면별 엔드포인트/응답 구조 조정 비용 증가
- 포괄적 필드명과 원칙 부재로 인한 스키마 해석 차이
해결 방법
- 웹 특성을 활용해 클라이언트 주도 구조로 전환
- GraphQL 도입으로 필요한 데이터를 클라이언트가 선택적으로 조합
- 단계적 마이그레이션과 REST 폴백으로 안정성 검증
적용해볼 점
- 애매한 필드는 원자적으로 분해하고 명확한 네이밍 규칙 수립
- 프론트엔드가 필요한 데이터를 먼저 정의하는 협업 방식 도입
- 모니터링과 테스트를 전제로 한 점진적 기술 전환