시스템 아키텍처 가이드

레이어 구조

이 프로젝트는 3-레이어 아키텍처를 따릅니다:

┌─────────────────────────────┐
│   Presentation Layer        │  → src/components/, src/pages/
│   (UI 컴포넌트, 라우팅)      │
├─────────────────────────────┤
│   Business Logic Layer      │  → src/services/, src/hooks/
│   (비즈니스 규칙, 상태관리)  │
├─────────────────────────────┤
│   Data Access Layer         │  → src/api/, src/repositories/
│   (API 호출, 데이터 변환)    │
└─────────────────────────────┘

핵심 설계 원칙

  1. 단방향 데이터 흐름: 상위 컴포넌트에서 하위 컴포넌트로만 데이터 전달
  2. 관심사 분리: UI 로직과 비즈니스 로직을 분리
  3. 의존성 역전: 구체적인 구현이 아닌 인터페이스에 의존

새 기능 추가 시 위치

추가할 것위치
UI 컴포넌트src/components/
페이지 레이아웃src/pages/
API 연동 로직src/api/
전역 상태src/store/
비즈니스 규칙src/services/