본문으로 건너뛰기

폴더 구조

딸깍문서 프로젝트의 디렉토리 구조를 설명합니다.

전체 구조

smart-docs/
├── src/ # 소스 코드
│ ├── app/ # Next.js App Router
│ ├── components/ # React 컴포넌트
│ ├── hooks/ # 커스텀 React Hooks
│ ├── lib/ # 유틸리티 라이브러리
│ ├── server/ # 서버 사이드 코드
│ ├── types/ # TypeScript 타입 정의
│ ├── utils/ # 헬퍼 함수
│ ├── data/ # 정적 데이터
│ ├── i18n/ # 국제화 설정
│ └── styles/ # 전역 스타일
├── public/ # 정적 파일
├── messages/ # i18n 번역 파일
├── supabase/ # DB 마이그레이션
├── docs-site/ # 기술 문서
└── scripts/ # 유틸리티 스크립트

src/app/ (App Router)

app/
├── api/ # API 라우트
│ ├── document/ # 문서 API
│ ├── pdf/ # PDF API
│ ├── ocr/ # OCR API
│ ├── translate/ # 번역 API
│ ├── templates/ # 템플릿 API
│ └── auth/ # 인증 API
├── document/ # 문서 편집 페이지
│ └── [id]/ # 동적 라우트
├── documents/ # 문서 목록
│ └── templates/ # 템플릿 페이지
├── blank-filler/ # PDF 빈칸 채우기
├── settings/ # 설정 페이지
├── share/ # 공유 페이지
├── layout.tsx # 루트 레이아웃
└── page.tsx # 홈페이지

src/components/

components/
├── tiptap-extension/ # TipTap 확장
├── tiptap-icons/ # 에디터 아이콘
├── tiptap-node/ # 커스텀 노드
├── tiptap-templates/ # 에디터 템플릿
├── tiptap-ui/ # 에디터 UI 컴포넌트
├── tiptap-ui-primitive/ # 기본 UI 컴포넌트
├── AISidebar.tsx # AI 사이드바
├── DocumentToolbar.tsx # 문서 툴바
├── PDFViewer.tsx # PDF 뷰어
├── PDFEditor.tsx # PDF 편집기
└── ...

src/lib/

lib/
├── auth.ts # 인증 설정
├── db.ts # Supabase 클라이언트
├── anthropic-models.ts # AI 모델 설정
├── pdf-utils.ts # PDF 유틸리티
└── ...

주요 파일

파일설명
next.config.jsNext.js 설정
tailwind.config.tsTailwind 설정
tsconfig.jsonTypeScript 설정
package.json의존성 및 스크립트
.env.local환경 변수