시스템 아키텍처 가이드
레이어 구조
이 프로젝트는 3-레이어 아키텍처를 따릅니다:
┌─────────────────────────────┐
│ Presentation Layer │ → src/components/, src/pages/
│ (UI 컴포넌트, 라우팅) │
├─────────────────────────────┤
│ Business Logic Layer │ → src/services/, src/hooks/
│ (비즈니스 규칙, 상태관리) │
├─────────────────────────────┤
│ Data Access Layer │ → src/api/, src/repositories/
│ (API 호출, 데이터 변환) │
└─────────────────────────────┘
핵심 설계 원칙
- 단방향 데이터 흐름: 상위 컴포넌트에서 하위 컴포넌트로만 데이터 전달
- 관심사 분리: UI 로직과 비즈니스 로직을 분리
- 의존성 역전: 구체적인 구현이 아닌 인터페이스에 의존
새 기능 추가 시 위치
| 추가할 것 | 위치 |
|---|---|
| UI 컴포넌트 | src/components/ |
| 페이지 레이아웃 | src/pages/ |
| API 연동 로직 | src/api/ |
| 전역 상태 | src/store/ |
| 비즈니스 규칙 | src/services/ |