Low-code Front-end Design & Development Platform
시각적 빌더와 헤드리스 콘텐츠 모델링을 지원하는 프론트엔드 개발 플랫폼, 정적 사이트와 UI 개발 도구 제공
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기vibe coding experiment
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
글귀를 Unsplash 사진 위에 올려 SNS용 PNG 카드(1:1, 4:5, 9:16)로 저장하는 정적 웹앱입니다. HTML + CSS + 바닐라 JS(빌드 도구 없음)와 Vercel /api 서버리스 함수로 만들었습니다. 자세한 설계는 quote-card-generator-spec.md를 보세요.README 전문 보기 ↗
글귀를 Unsplash 사진 위에 올려 SNS용 PNG 카드(1:1, 4:5, 9:16)로 저장하는 정적 웹앱입니다.
HTML + CSS + 바닐라 JS(빌드 도구 없음)와 Vercel /api 서버리스 함수로 만들었습니다.
자세한 설계는 quote-card-generator-spec.md를 보세요.
localStorage에 저장하고 새로고침 후 복원, ?text=...&author=...로 글귀 채우기Unsplash Developers에서 앱을 등록하고 Access Key를 발급받습니다.
.env.example을 .env.local로 복사하고 UNSPLASH_ACCESS_KEY를 채웁니다. (커밋 금지)
의존성 설치:
npm install
아래 중 하나로 실행합니다.
# A. Vercel CLI (배포 환경과 가장 비슷함)
npm i -g vercel
vercel dev
# B. Vercel CLI 없이 로컬 서버로 실행 (기본 포트 3333, PORT 환경변수로 변경)
npm run dev:local
브라우저에서 http://localhost:3333(B 기준)을 엽니다.
/api/health가 {"status":"ok","unsplashKeyConfigured":true}를 돌려주면 키가 잘 들어간 것입니다.
index.html을 파일로 직접 열면/api함수가 없어 검색이 동작하지 않습니다. 반드시 위 방법으로 여세요.
/api/search(Zod 검증, content_filter=high, 응답 캐시, 한도 헤더 전달), /api/track-download(허용 주소 검사 후 호출), /api/healthrenderCard()를 사용하고, 직접 만든 줄바꿈과 폰트 로드 후 재렌더 적용js/quotes.js): 의미가 나뉘는 지점에 줄바꿈을 미리 넣음dev-server.mjs): Vercel CLI 설치·로그인 없이 같은 /api 함수를 3333 포트에서 실행utm_source 기본값도 sinabro)localStorage에 기억api/random.js(/photos/random, 캐시 없음)와 TODAY_QUOTESmapPhoto)를 쓰도록 api/_lib.js로 정리assets/logo.png(32×32)를 브라우저 탭 아이콘과 헤더의 "시나브로" 옆 로고로 사용. 로컬 서버가 assets/를 서빙하도록 허용 목록에 추가이번 작업에서 실제 동작 중 발견해 고친 버그는 없습니다. 다음은 확인한 내용과 남은 확인 항목입니다.
downloadLocation 조작 주소 4종이 모두 400이고 Unsplash 호출이 나가지 않음 (SSRF 방어)ixid를 유지하는 배경 URL 조작, 위치 제한을 단독 시험/api/search 검색 성공, 화면에서 배경·글귀·글꼴·크레딧 표시 확인/api/random): 실제 키로 사진이 반환되고 호출마다 다른 사진이 나오며, 잘못된 입력은 400으로 거절됨links.download_location이 실제로 포함되는 것을 확인했습니다(https://api.unsplash.com/photos/<id>/download?...). 값이 비어 있으면 추적 호출을 건너뜁니다.api/ search · random · track-download · health (Access Key는 여기서만 사용)
js/ app · state · api-client · renderer · fonts · export · quotes
assets/ 로고·파비콘 (logo.png)
docs/ README 스크린샷
dev-server.mjs Vercel CLI 없이 쓰는 로컬 서버
index.html, styles.css
content_filter=high로 고정하지만, 부적절한 사진을 완전히 막지는 못합니다.