🏛️
▶ Section
강원도민 복지 플랫폼
ReactReduxWebpackJest
▶Overview
강원도민이 비대면으로 공공 지원금을 신청·관리할 수 있는 모바일 앱. 위하고(WEHAGO) SSO 단일 진입점 위에서 React SPA + Spring 백엔드 + Web · Android · iOS 다중 배포 타겟을 다루며, 빌드 파이프라인과 런타임 성능을 함께 개선했습니다.
▶Background
- ▸하드코딩된 프로토타입 구조로 인해 유지보수 비용이 빠르게 증가.
- ▸빌드 파이프라인이 1.5시간을 넘어 배포 사이클 지연.
- ▸위하고(WEHAGO) SSO 단일 진입점으로 더존 그룹 서비스와의 단일 로그인 경험 제공 필요.
- ▸써드파티 헤더가 다른 부서 소유라 직접 손댈 수 없는 조직 제약.
- ▸Web + Android(
com.wehago.nayana) + iOS 다중 배포 타겟.
▶Architecture
touch_app노드 hover · 휠로 확대 · 드래그로 이동
100%
▶What I Did
- ▸위하고 SSO 콜백·토큰 저장·만료 재인증을 Redux + Auth 훅으로 일원화.
- ▸Redux + 모듈 경계 재설계로 도메인별 책임 분리, 프로토타입을 운영 환경 수준으로 리팩토링.
- ▸Webpack 빌드 최적화 (Terser · Tree Shaking · externals)로 빌드 사이클 단축.
- ▸React.lazy 코드 스플리팅과 GNB hover preload로 초기 청크 사이즈 감소 + 체감 속도 개선.
- ▸Jest 기반 단위 테스트로 핵심 함수 회귀 버그 사전 방지.
- ▸써드파티 헤더는 손댈 수 없어, 본인 영역인 라우트 단위 분할로 우회적으로 사용자 체감 성능 개선.
▶Before / After
| 항목 | Before | After |
|---|---|---|
| 빌드 시간 | 최대 1시간 30분 | ▶ 최대 30분 이내 |
| 초기 렌더링 | 1~5초 | ▶ 0.5~2초 |
| 번들 구조 | 외부 lib까지 포함 | ▶ externals로 제외 |
| 회귀 방지 | 수동 QA 의존 | ▶ Jest 단위 테스트 |
▶Impact
- ▸빌드 시간 1.5h → 30분 이내로 단축.
- ▸초기 렌더링 속도 개선 (1~5s → 0.5~2s), 핵심 화면 진입 체감 속도 향상.
- ▸조직 경계를 고려한 엔지니어링 의사결정으로 외부 제약 속에서도 사용자 체감 성능 개선.
▶Tech Stack
Frontend
JavaScriptReactReduxWebpackBabel
Backend
JavaSpring BootSpring Security
Auth
위하고 (WEHAGO) SSO
Build / CI
JestJenkins
Deploy
WebAndroid (com.wehago.nayana)iOS