1) 프로젝트 개요
- 프로젝트: 트레드링스(Tradlinx), 짐고(ZimGo), OV(Ocean Visibility) 등 트레드링스의 물류 서비스 플랫폼 프론트엔드 리팩토링 및 신규 기능 개발
- 목표: 레거시 코드(Angular, Node.js)의 유지보수성 및 성능 개선, 글로벌 확장을 위한 다국어(i18n) 지원, 결제(PayPal) 연동 등을 통해 사용자 편의성 및 매출 증대
2) 역할 및 담당 업무
- FE 개발팀 매니저로서 팀원 3명 관리(코드 리뷰·일정 조율·기술적 이슈 해결)
- 레거시 코드 분석 및 리팩토링: Angular 8 기반의 노후화된 구조를 모듈별로 재설계
- Ocean Visibility(Next.js + React) 개발: 다국어(i18n), PayPal 결제 등 신규 기능 기획·개발
- SSR(서버 사이드 렌더링) 최적화 및 SEO 개선: 검색 엔진 노출도 상승 및 페이지 로딩 속도 단축
3) 사용 기술
- 프론트엔드: Angular, NgRx, MUI, Next.js, React, TypeScript, Recoil, React Query, zustand, zod
- 백엔드/인프라: Node.js, Docker, Azure, Git, NestJS, prisma, gRPC
- 결제/배포: PayPal API 연동, SSR 환경에서 SEO 메타 태그 자동 생성, CI/CD 파이프라인 구축
4) 어려움과 해결 과정
- 이슈 1: 레거시 코드 모듈화 난이도
- 문제점: 단일 모듈에 복잡도가 높은 로직이 밀집되어, 유지보수 시 장애 발생 확률 증가
- 해결 방법: 단일 모듈을 도메인별(화주, 포워더, 관리자, 선적, 견적, UI 컴포넌트 등)로 분할하고, 공통 컴포넌트 라이브러리를 개발해 코드 재사용률 극대화
- 결과: 모듈화 이후 신규 기능 추가 시 코드 충돌 건수가 40% 감소하고, 유지보수 속도가 30% 단축
- 이슈 2: 글로벌 대응(i18n)과 SEO 충돌
- 문제점: Next.js SSR 환경에서 다국어 라우팅과 SEO 메타 태그 설정이 복합적으로 얽혀 예기치 않은 빌드 에러 발생
해결 방법:
- Next.js의 getStaticProps와 getStaticPaths를 활용해 빌드 시 다국어 페이지를 미리 생성,
- 언어 리소스를 작은 단위로 분할하고 웹팩의 코드 스플리팅 기능을 활용하여 최적화,
- next-seo 라이브러리를 사용하여 언어 및 페이지별 SEO 메타데이터 최적화,
- CI/CD 파이프라인에서 언어별 빌드를 병렬로 실행하고 증분 빌드 기능 활용
- 결과: 빌드 에러 해소, SEO 최적화 개선, 페이지 로딩 속도 향상, 사용자 경험 개선 및 검색 엔진 크롤링 효율성 증대
5) 성과
- 레거시 코드 리팩토링: 개발 속도 30% 향상, 버그 핫픽스 주기가 기존 1주 3~4일로 단축
- SSR 및 SEO 개선: 페이지 로딩 속도 20% 향상, 검색 엔진 유입량 15% 증가
- 결제 기능 안정화: PayPal 결제 모듈 통합으로 결제 성공률 10% 상승, 사용자 이탈률 감소
- 글로벌 사용자 확장: i18n 적용으로 영어를 사용하는 해외 사용자 유입, 월간 사용자 수 15% 증가
6) 서비스 링크
- Tradlinx: https://www.tradlinx.com/kr
- Ocean Visibility: https://www.tradlinx.com/en/services/ocean-visibility
- ZimGo: https://www.tradlinx.com/service-zimgo
더보기