Project guide

Project Guide | 달빛해몽소

Free dream-symbol content library with privacy-safe educational interpretation prompts. This guide organizes the repository's original implementation notes for consumer search visitors and lifestyle content readers.

Reviewed 2026-07-28. This page is derived from checked-in repository evidence and links back to its source.

Live Demo

Curated supporting repo This repository is kept as optional proof, but it no longer leads the portfolio. Current front door: aix-pilot and doeon-kim-portfolio. Reason: Consumer SEO and entertainment traffic are not aligned with the strongest technical or B2B architecture story.

Cloudflare Pages에 올릴 수 있는 꿈해몽 사이트입니다. 프런트는 Vite + Vanilla TypeScript, 서버는 Pages Functions를 사용하고, AI API(OpenAI 또는 Google Gemini)는 서버측에서만 호출합니다. OPENAI_API_KEY가 설정되면 OpenAI를 사용하고, 그렇지 않으면 GEMINI_API_KEY로 Google Gemini를 사용합니다. 둘 다 없으면 내장 fallback 해석이 제공됩니다.

System Overview

A consumer AI app that tests fast distribution, safe fallback behavior, and lightweight personalization on a free hosting stack.

AreaDetails
UsersConsumer AI builders, content communities, and solo users who want low-friction creative interpretation.
Technical pathValidate the demo, README, architecture notes, and quality gate before deeper workflow review.
System scopeCloudflare Pages functions, server-side AI adapters, abuse controls, deterministic fallback output, and Vite/TypeScript app surface.
Operating boundaryInterpretations are entertainment/reflection content; user prompts need privacy controls and abuse-rate limits.
Evaluation pathRun the local build/functions path and verify fallback behavior without model-provider keys.

Evaluation Path

Architecture Notes

포함된 것

로컬 실행

npm install
cp .dev.vars.example .dev.vars
cp .env.example .env.local
npm run build
npm run cf:dev

브라우저에서 http://127.0.0.1:8788로 확인할 수 있습니다.

환경 변수

Cloudflare Pages 배포

  1. Cloudflare 대시보드에서 Pages 프로젝트를 만듭니다.
  2. 빌드 명령은 npm run build, 출력 디렉터리는 dist로 설정합니다.
  3. Pages 프로젝트의 Settings -> Environment variables에 AI 키(OPENAI_API_KEY 또는 GEMINI_API_KEY), 모델명, SITE_NAME를 추가합니다.
  4. 공개 트래픽에서 비용 남용을 막고 싶다면 Turnstile 위젯을 만들고 TURNSTILE_SECRET_KEY, VITE_TURNSTILE_SITE_KEY도 같이 등록합니다.
  5. 가능하면 KV 바인딩 RATE_LIMITER도 추가하세요.
  6. Git 연동 없이 배포하려면:
npm run build
npx wrangler pages deploy dist --project-name <your-project-name>

공개 배포 전에 바꿔야 할 것

AI가 만든 얇은 문서만으로는 콘텐츠 품질 유지가 어렵습니다. 꿈 상징 사전, 운영자 소개, FAQ, 실제 문의 채널 같은 신뢰 신호를 함께 쌓는 편이 낫습니다.

보안 메모

Turnstile 선택 적용

.env.local 예시:

VITE_TURNSTILE_SITE_KEY=1x00000000000000000000AA

Cloudflare Pages 런타임 환경변수 예시:

TURNSTILE_SECRET_KEY=1x0000000000000000000000000000000AA

검증

npm run check
npm run build

공개 전 최종 체크

Cloud + AI Architecture

Enterprise Productization

System Architecture

Service Architecture

Search And Service Surface