Go to file
김성경 dd1a1c3914 readme변경사항 추가 2026-04-03 11:03:09 +09:00
public [init] Clinic AD Home 생성 2026-03-16 15:35:50 +09:00
src Merge branch 'master' of https://gitea.o2o.kr/castad/o2o-clinicad-frontend into skkim 2026-04-03 11:00:49 +09:00
.gitignore 프론트 구조 변경 2026-03-31 17:07:22 +09:00
README.md readme변경사항 추가 2026-04-03 11:03:09 +09:00
eslint.config.js [feat] plan 페이지 생성 2026-04-01 17:24:12 +09:00
index.html [init] Clinic AD Home 생성 2026-03-16 15:35:50 +09:00
package-lock.json 프론트 구조 변경 2026-03-31 17:07:22 +09:00
package.json 프론트 구조 변경 2026-03-31 17:07:22 +09:00
tsconfig.app.json [init] Clinic AD Home 생성 2026-03-16 15:35:50 +09:00
tsconfig.json [init] Clinic AD Home 생성 2026-03-16 15:35:50 +09:00
tsconfig.node.json [init] Clinic AD Home 생성 2026-03-16 15:35:50 +09:00
vite.config.ts [feat] main layout 수정 2026-03-30 16:39:55 +09:00

README.md

프로젝트

  • 이름 : Clinic AD

기술 스택

  • React 19 + TypeScript
  • Vite
  • Tailwind CSS
  • TanStack Query
  • Zustand

디렉토리 구조

src/
├── app/                 # 애플리케이션 진입점 및 전역 설정 (Router, Providers, 글로벌 스타일)
│   └── providers/       # React Context Provider 모음 (QueryProvider 등)
├── assets/              # 정적 파일 (이미지, 폰트, SVG 아이콘 등)
├── components/          # 도메인에 종속되지 않는 공통 UI 컴포넌트 (버튼, 카드, 디자인 시스템)
├── features/            # 핵심 비즈니스 로직 및 도메인 영역 (이 구조의 핵심)
│   ├── home/            # 홈(랜딩) 도메인
│   │   ├── content/     # 해당 도메인 전용 UI 텍스트·카피 (정적 콘텐츠)
│   │   ├── hooks/       # 해당 도메인 전용 커스텀 훅
│   │   └── ui/          # 해당 도메인 전용 UI 컴포넌트
│   ├── channelconnect/  # 채널 연결 도메인
│   │   ├── constants/   # 채널 목록 등 상수
│   │   ├── hooks/       # 연결 플로우용 훅
│   │   ├── store/       # 연결 채널·카운트 등 상태
│   │   ├── types/       # 도메인 타입
│   │   ├── utils/       # 채널 아이콘 매핑 등
│   │   └── ui/          # 타이틀·섹션 UI
│   ├── distribution/    # 콘텐츠 배포 도메인
│   │   ├── constants/   # 문구·옵션 상수
│   │   ├── hooks/       # 배포·예약 게시 훅
│   │   ├── store/       # 예약·선택 채널 등 상태
│   │   ├── types/       # 도메인 타입
│   │   └── ui/          # 채널 선택, 예약 게시, 미리보기 등
│   ├── performance/     # 성과 도메인
│   │   ├── constants/   # 지표·섹션 설정 상수
│   │   ├── hooks/       # 데이터 로딩·필터 훅
│   │   ├── store/       # 화면 전용 상태
│   │   ├── types/       # 지표·성과 타입
│   │   └── 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 처리 등)

시작하기

설치

npm install

실행

npm run dev