56 lines
2.3 KiB
Markdown
56 lines
2.3 KiB
Markdown
## 프로젝트
|
|
- 이름 : Clinic AD
|
|
|
|
## 기술 스택
|
|
- React 19 + TypeScript
|
|
- Vite
|
|
- Tailwind CSS
|
|
- TanStack Query
|
|
- Zustand
|
|
|
|
## 디렉토리 구조
|
|
|
|
```bash
|
|
src/
|
|
├── app/ # 애플리케이션 진입점 및 전역 설정 (Router, Providers, 글로벌 스타일)
|
|
│ └── providers/ # React Context Provider 모음 (QueryProvider 등)
|
|
├── assets/ # 정적 파일 (이미지, 폰트, SVG 아이콘 등)
|
|
├── components/ # 도메인에 종속되지 않는 공통 UI 컴포넌트 (버튼, 카드, 디자인 시스템)
|
|
├── features/ # 핵심 비즈니스 로직 및 도메인 영역 (이 구조의 핵심)
|
|
│ ├── home/ # 홈(랜딩) 도메인
|
|
│ │ ├── content/ # 해당 도메인 전용 UI 텍스트·카피 (정적 콘텐츠)
|
|
│ │ ├── hooks/ # 해당 도메인 전용 커스텀 훅
|
|
│ │ └── ui/ # 해당 도메인 전용 UI 컴포넌트
|
|
│ ├── report/ # 리포트 도메인
|
|
│ │ ├── config/ # 섹션 ID·레이블 등 UI 설정값
|
|
│ │ ├── hooks/ # 해당 도메인 전용 커스텀 훅
|
|
│ │ ├── mocks/ # API 연동 전 임시 목업 데이터
|
|
│ │ ├── types/ # 해당 도메인 전용 타입 정의
|
|
│ │ └── ui/ # 해당 도메인 전용 UI 컴포넌트
|
|
│ └── plan/ # 마케팅 플랜 도메인 (report와 동일한 구조)
|
|
│ ├── config/
|
|
│ ├── hooks/
|
|
│ ├── mocks/
|
|
│ ├── types/
|
|
│ └── ui/
|
|
├── hooks/ # 전역에서 사용하는 공통 훅 (useInView 등)
|
|
├── layouts/ # 페이지 레이아웃 (GNB, SubNav, Footer 등)
|
|
├── pages/ # 라우팅과 1:1 매칭되는 페이지 진입점 (features의 컴포넌트만 조립)
|
|
├── services/ # 공통 API 클라이언트 설정 (Axios 인스턴스, 인터셉터 등)
|
|
├── store/ # 전역 상태 관리 (사용자 세션, 테마 등)
|
|
├── types/ # 여러 도메인에서 공유하는 공통 타입 정의
|
|
└── utils/ # 공통 유틸리티 함수 (숫자 포맷팅, URL 처리 등)
|
|
```
|
|
|
|
## 시작하기
|
|
|
|
### 설치
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
### 실행
|
|
```bash
|
|
npm run dev
|
|
```
|