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

공통 컴포넌트를 별도 패키지로 관리하여 여러 앱에서 재사용 가능한 모노레포의 장점 활용.