jay.log

마음 앱 - 레거시 구조의 FSD 단계적 전환

라이프오아시스 • 2025.09 - 2026.09

레이어 구분이 없던 앱에 FSD 레이어를 처음부터 설계·도입하고, 서비스를 계속 배포하면서 도메인 단위로 점진 이전했습니다. 화면마다 복제된 로직을 공용 모듈 80여 개로 추출하고, 여러 플래그로 흩어진 앱 시작·로그인 상태를 단일 흐름으로 통합했습니다. 도메인을 이전할 때마다 모델·스토어 단위 테스트를 같은 PR에 함께 붙여 90여 개를 확보했고, 테스트 없는 이전은 하지 않는 원칙으로 전환 중 회귀를 막았습니다.

주요 지표

60%
FSD 이전 비율
122회
전환 중 출시
90+
단위 테스트

도전 과제

  • 레이어 구분 없이 5년간 쌓인 코드베이스
  • 전환 중에도 매주 출시를 멈출 수 없는 상황
  • 화면마다 복제된 로직과 흩어진 앱 시작·로그인 상태

해결 방안

  • 도메인 단위 점진 이전으로 출시와 전환을 병행
  • 공용 모듈 80여 개 추출, 앱 시작·로그인 상태를 단일 흐름으로 통합
  • 이전 단위마다 Jest·RNTL 단위 테스트를 같은 PR에 포함

결과

  • 레거시 코드 약 60% FSD 이전 (코드 줄 수 기준)
  • 전환 기간 앱·웹 출시 122회
  • 단위 테스트 90여 개 확보

기술 스택

React NativeTypeScriptFSDTanStack QueryZustandJest

© jay.log powered by Next.js, Vercel