projects
DPM Core
2026.01 ~ 현재프론트엔드 개발
디프만의 모든 활동을 지원하는 코어 시스템.
- Next.js 15
- React 19
- TypeScript 5
- TanStack Query
- React Hook Form
- Radix UI
- Tailwind CSS 4
- Turborepo
과제 공지 상세 페이지 구현 - 제출 상태 관리 및 필터링 시스템
.problem
Admin과 Client 앱 간 공통 UI 컴포넌트 중복 개발로 인한 유지보수 비용 증가. 모노레포 구조에서 컴포넌트 재사용 전략 부재.
.solution
컴포넌트 분리 및 재사용성 강화. 공통 컴포넌트를 packages/shared에 배치하여 모노레포 구조에서 재사용 가능하도록 설계.
.tradeoff
- advantages
- 관심사 분리로 유지보수성 향상, 빌드 최적화(Turborepo 캐싱), 타 프로젝트 재사용 가능.
- disadvantages
- 초기 설정 복잡도 증가, 의존성 관리 필요.
- rationale
- 장기적으로 Admin과 Client 앱에서 공통 컴포넌트를 재사용할 가능성이 높고, 초기 리팩토링 비용이 이후 유지보수 비용 절감으로 이어질 것으로 판단
.result
shared 패키지의 컴포넌트를 재사용하여 Admin/Client 앱 간 일관성 확보.
.learning
공통 컴포넌트를 별도 패키지로 관리하여 여러 앱에서 재사용 가능한 모노레포의 장점 활용.