
아키텍처
오픈소스 ABC User Feedback에 적용한 모노리포 구조 소개
두줄요약
ABC User Feedback에 적용한 모노리포 구조와 디렉터리 구성을 소개했습니다. Turborepo 캐시와 원격 캐시로 빌드 효율을 높인 방식도 함께 설명했습니다.
핵심 내용
- ABC User Feedback의 API-웹 풀스택 프로젝트에 모노리포 구조를 적용한 사례
- apps, packages, tooling으로 디렉터리를 나눠 애플리케이션, 코드 공유, 공통 설정을 분리
- Turborepo 캐시와 파이프라인, 원격 캐시로 빌드·검사 효율을 높인 구성
선택 이유
- 프런트엔드와 백엔드를 한 저장소에서 효율적으로 협업하기 위한 구조 선택
- TypeScript 단일 언어와 공통 설정 패키지로 일관성·유지보수성 강화
- 모듈 시스템 차이와 패키지 사용 범위에 따라 빌드 여부를 구분해 활용
장단점
- 코드 재사용성과 관심사 분리, 설정 일원화에 유리
- 패키지 간 모듈 시스템 차이에서는 별도 빌드가 필요
- 캐시와 파이프라인 관리로 반복 작업을 줄일 수 있음
적용해볼 점
- 공통 ESLint, Prettier, tsconfig를 tooling 패키지로 분리
- 공유 패키지는 사용 범위와 모듈 시스템에 맞춰 빌드 전략 조정
- CI와 Docker 환경에서는 원격 캐시 도입 검토