QueryPie 회사 홍보·소개 웹사이트입니다. 제품 소개, Features Demo, Documentation, Company, Plans, Legal 문서를 en / ko / ja 다국어로 제공합니다.
Admin CMS는 Demo / Documentation / News 콘텐츠를 편집·게시하기 위한 보조 기능으로 포함되어 있습니다.
npm install
npm run dev개발 서버:
http://localhost:3000
npm run dev
npm run typecheck
npm run test:run
npm run build
npm run start
npm run audit:public-assets로컬 전용 Playwright E2E:
npm run e2e:local:contact-us:stage설정과 실행 조건은 docs/reference/local-e2e.md를 확인합니다.
| 항목 | 버전 |
|---|---|
| Next.js App Router | 15.x |
| React | 19.x |
| TypeScript | 5.8 |
| Tailwind CSS | 3.4 |
| Tiptap | 3.x |
| Vitest | 3.x |
src/
├── app/
│ ├── [locale]/ # 공개 페이지: en / ko / ja
│ ├── admin/ # Admin CMS
│ └── api/ # 서버 API 라우트
├── components/ # common, layout, pages, sections
├── features/ # content, seo, contact 등 도메인 로직
├── content/ # demo, documentation, news, legal 콘텐츠
├── constants/ # i18n, navigation, plans, legal 등
└── styles/ # 전역 스타일
관리형 콘텐츠는 src/content/{demo,documentation,news}/**/cnt_xxxxxx/ 아래 파일을 원본으로 사용합니다.
meta.jsonen.html,ko.html,ja.html*.tiptap.json
콘텐츠 읽기/쓰기 관련 코드는 아래 파일을 먼저 확인합니다.
src/features/content/contentState.server.tssrc/features/content/authored.server.tssrc/features/content/data.tssrc/features/content/config.ts
- locale은
en,ko,ja를 지원합니다. - 공개 URL은 영어 포함 모든 locale에
/{locale}접두사를 붙입니다. 예:/en/solutions/aip,/ko/solutions/aip,/ja/solutions/aip /및 locale 없는 public path는 영어 경로(/en,/en/...)로 redirect됩니다.- 공개 경로 생성은
src/constants/i18n.ts의getLocalePath()를 우선 사용합니다. - 공개 콘텐츠 상세 경로는
getPublicListHref(),getPublicDetailHref()사용 여부를 먼저 확인합니다. - locale별 public 영역의
lang은src/app/[locale]/layout.tsx에서 적용합니다.
현재 SEO 상태는 브라우저 localStorage 기반입니다.
- 클라이언트 저장소:
src/features/seo/clientStore.ts - 런타임 적용:
src/components/common/SeoRuntime.tsx
| 환경 | 도메인 | 트리거 |
|---|---|---|
| Staging | stage-v2.querypie.com |
main push |
| Production | www-v2.querypie.com |
workflow_dispatch |
| Preview | Vercel preview URL | PR open / sync |
상세 내용은 docs/reference/vercel-deployment.md를 확인합니다.
| 문서 | 설명 |
|---|---|
| AGENTS.md | 에이전트 작업 규칙 |
| 구현 현황 | 공개 페이지, Admin CMS, API 구현 현황 |
| 테스트 커버리지 | 테스트 파일 목록과 mock 패턴 |
| Local E2E | 로컬 Playwright E2E 실행 방법 |
| Vercel 배포 | GitHub Actions / Vercel 배포 구조 |
| GitHub 설정 | CI 워크플로우와 브랜치 보호 |
| Contact Us API | 문의 API와 리드 캡처 흐름 |
| UTM Attribution | UTM 저장과 전송 흐름 |