Commit Graph

112 Commits

Author SHA1 Message Date
273da6b7b3 feat: 홈페이지 제작 샘플 카드 — 아이콘 대신 실제 페이지 미니 프리뷰 표시
- SampleMiniPreview 컴포넌트 추가: 700×350px 레이아웃을 scale(0.5)로 축소
- 8개 샘플별 실제 페이지 디자인 언어를 그대로 재현
  - corporate: 화이트 배경, 네이비 Nav, 그리드 패턴, 통계 수치
  - bakery: 크림 배경, 세리프 로고, 앰버 버튼, 베이커리 메뉴 카드
  - portfolio: 블랙 배경, 네온 그린 타이포, 아바타 카드
  - dashboard: 다크 슬레이트, 사이드바, 통계 카드, 막대 차트
  - game: 블랙+사이버 보라/청록, 챔피언 카드 그리드
  - interior: 다크 브라운 Nav, 스플릿 레이아웃, 인테리어 이미지 그리드
  - reading: 다크 웜, 골드 세리프, 책등 스택 시각화
  - shopping: 페이퍼 배경, 에디토리얼 히어로, 미니 상품 그리드
- 기존 아이콘 + 단색 그라디언트 → 실제 페이지처럼 보이는 CSS 프리뷰로 교체

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 00:42:31 +09:00
0ad7981504 샘플 홈페이지 기업 페이지 고도화 2026-03-23 00:33:21 +09:00
6533039fd7 feat: 사주 결과 - 오늘의 운세 섹션 추가 및 AI 재호출 방지
- SajuFortuneSection 신규 추가: 일진 기반 결정론적 오늘의 운세 (AI 불필요)
  - 1900-01-01 甲戌 기준 오늘의 일주 계산 (CLAUDE.md 검증 로직)
  - 용신·희신 오행과 일진 오행의 상생·상극으로 종합 점수 산출
  - 재물/애정/직업/건강/사회 5대 운세 seededRand 결정론적 생성
  - 사주 AI 섹션 → 오늘의 운세 → 로또 추천 순서로 자연스럽게 연결
- SajuLottoSection: id="saju-lotto-section" 추가 (운세 섹션 스크롤 대상)
- page.tsx: savedInterpretation 2차 폴백 쿼리 추가
  - birth_hour 불일치 시 시간 제외 키로 재조회 → 다시 보기 시 AI 재호출 방지

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 00:28:05 +09:00
1e0569dab5 fix: 홈페이지제작·프롬프트·자동화 결제버튼 → 견적문의(ContactModal)로 변경
- website/page.tsx: PaymentButton 제거, ContactModal 추가, 버튼 '견적 문의'
- prompt/page.tsx: 전 플랜 PaymentButton 제거, ContactModal openModal 통일
- automation/page.tsx: PaymentButton 제거, ContactModal openModal 통일
- PaymentButton unused import 정리

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 23:52:18 +09:00
2167719c6e feat: 미결제 서비스 전체 토스페이먼츠 결제 연결
products.ts — 7개 상품 신규 등록:
- prompt_team (249,000원): 팀/기업 프롬프트 패키지
- automation_basic (50,000원): 단순 업무 자동화
- automation_advanced (150,000원): 자동화 심화
- website_starter (200,000원): 홈페이지 스타터
- website_business (1,000,000원): 홈페이지 비즈니스
- website_premium (2,000,000원): 홈페이지 프리미엄

PaymentButton — style prop 추가 (inline-style 페이지 대응)

프롬프트 서비스: 팀/기업 패키지 PaymentButton 연결
업무 자동화: 단순·심화 플랜 PaymentButton 연결 (대형은 협의가격→ContactModal 유지)
웹사이트 제작: 전 플랜 Link 버튼 → PaymentButton 전환

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 18:35:18 +09:00
2a52d98c81 fix: 마케팅 카피 혼자/1인 표현 제거 + 토스페이먼츠 심사 준비 (항목 2·3)
- '한 명이 끝까지 책임' → '끝까지 책임' (landing/page.tsx)
- '직접 만들고, 직접 책임' → '납기 지키고, 끝까지 책임' (freelance/page.tsx)
- SVG 서브텍스트 '한 명이 책임' 제거 (thumb-homepage-A.svg)

토스페이먼츠 심사 항목 2 — 상품 추가:
- products.ts: prompt_single (30,000원), prompt_business (99,000원) 신규 등록
- 프롬프트 엔지니어링 서비스: PaymentButton 연결 (단건·비즈니스 플랜)
  팀/기업 패키지(가변가격)는 ContactModal 유지

토스페이먼츠 심사 항목 3 — 이미지 오류 수정:
- 인테리어 샘플: Pinterest 핫링크(차단 위험) → picsum.photos 교체 (7개)
- 쇼핑·독서 샘플: 이미 picsum.photos 사용, 이상 없음

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 18:29:06 +09:00
8fb3714936 copy: 마케팅 카피 전면 교체 — 자격증명 → 약속 중심
'7년차 대기업 개발자' (자기 자랑) →
'납기 100% · 무료 AS · 연락두절 없음' (고객 약속)

- 랜딩페이지: '납기 지키고 연락 끊지 않는 개발자가 책임집니다'
- SVG 썸네일 7개 바텀바/뱃지/서브카피 전체 교체
- 배너: 헤드라인 '납기 지키고 연락 끊지 않는 개발자가 만드는 홈페이지'
- 어드민 체크리스트 항목 업데이트

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 18:21:01 +09:00
a7d9af0d35 feat: 마케팅 에셋 전면 재설계 + 어드민 체크리스트 추가
- 어드민 마케팅 페이지: 4대 전문가 체크리스트(디자인/PM/품질/마케팅) 추가, localStorage 저장, 크몽 등록 가이드 패널, 품질 점수 바
- SVG 썸네일 6개 전면 재설계: 헤드라인 강화, 목업 세밀화, 실제 제품가 반영
- 신규 썸네일 2개 제작: thumb-lotto.svg (로또 번호 추천), thumb-saju.svg (AI 사주 분석)
- 사이드바 상호명 추가 (토스페이먼츠 심사 준비)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 18:13:44 +09:00
de941442ae fix: dev/prod 환경 분리 — Google OAuth 리다이렉트 + TossPayments 키 구분
[Google OAuth]
- login/page.tsx: NODE_ENV=development일 때 NEXT_PUBLIC_SITE_URL 무시하고
  window.location.origin(localhost) 사용
- auth/callback/route.ts: dev에서는 항상 request origin 사용하도록 수정
  (이전: siteUrl이 없을 때만 origin 사용 → dev이면 무조건 origin)

[TossPayments]
- confirm/route.ts: 실수로 dev에서 live 키 사용 시 console.warn 추가
- PaymentButton.tsx: NEXT_PUBLIC_TOSS_CLIENT_KEY가 test_ck_* 이면
  버튼 우상단에 TEST 배지 표시 (dev 확인용)

[환경변수 구조]
- dev  (.env.local): test_ck_*, test_sk_* → 테스트 결제 (실청구 없음)
- prod (Vercel ENV): live_ck_*, live_sk_* → 실결제
- 코드 변경 없이 같은 변수명으로 환경별 키만 다르게 설정

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 17:33:43 +09:00
3b4054e23e fix: 샘플 페이지 CSS 전역 오염으로 인한 사이드바 레이아웃 변경 수정
- interior/shopping 샘플 페이지의 * {} CSS 리셋이 사이드바 포함
  전체 DOM을 오염시키던 문제 수정
- .au-page / .ml-page 클래스로 스코프 한정:
  *, *::before, *::after → .au-page *, .ml-page * 로 변경
- 쇼핑몰 이미지: Unsplash CDN → picsum.photos 교체 (항상 안정 로드)
  seed 기반으로 일관된 이미지 유지

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 17:24:25 +09:00
d321b0d5fd redesign: 쇼핑몰 샘플 에디토리얼 패션 스타일로 완전 재설계
- 디자인 언어: 인테리어(크림/골드)와 완전히 다른 INK/PAPER 스타크 B&W 팔레트
- 타이포: DM Serif Display italic (Toteme/Acne Studios 레퍼런스)
- Unsplash 패션 이미지로 전체 교체 (Structured Blazer, Cocoon Coat 등 8종)
- Hero: 다크 풀스크린 에디토리얼 스플릿 레이아웃
- 상품 그리드: 4열 비대칭 (첫/6번째 카드 span 2 portrait)
- Quick-add 호버 인터랙션, 상품 이미지 스케일 + 채도 전환
- Editorial Banner: 풀블리드 다크 오버레이 룩북 섹션
- Lookbook: 가로 스크롤 스트립 (240px × 3:4)
- Reviews: 배경 없는 타이포그래픽 인용 스타일 (카드 없음)
- 뉴스레터 CTA: 미니멀 박스형
- 맨 위로 스크롤 버튼 포함

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 17:17:34 +09:00
53e01fad4a feat: 쇼핑몰 샘플 추가, 홈페이지 서비스 페이지 재디자인, 공통 UI 개선
- 모든 샘플 페이지 우측 하단 맨 위로 스크롤 버튼 추가 (인테리어, 독서)
- 독서 기록 노트 상단 '홈페이지 제작 서비스로 돌아가기' 배너 추가
- 개인 쇼핑몰 샘플 (MELLOW STUDIO) 신규 생성
  - 베이지/크림 라이트 톤, Cormorant Garamond + Pretendard
  - 히어로 스플릿 레이아웃, 상품 그리드(카테고리 필터), 브랜드 스토리, 리뷰, CTA, 푸터
  - 장바구니 뱃지, 상품 찜하기, 퀵 장바구니 인터랙션
- 홈페이지 서비스 소개 페이지 재디자인
  - CookieRun → Pretendard 교체로 한글 폰트 렌더링 개선
  - word-break: keep-all 적용으로 이상한 개행 제거
  - IntersectionObserver 스크롤 reveal 애니메이션 추가
  - Trust badge 섹션, Marquee 추가
  - 쇼핑몰 샘플 카드 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 17:07:56 +09:00
0a907b4bfe fix: 인테리어 샘플 — 히어로 배치·스크롤 애니메이션·폰트 오류 수정
[Root cause 3가지]
1. 스크롤 이벤트 타깃 오류
   - window.scroll → .main-content (overflow-y:auto) 로 수정
   - DashboardShell의 내부 스크롤 컨테이너를 querySelector로 탐색
2. 히어로 높이 오류
   - height:100dvh → calc(100dvh - 40px - 72px)
   - 배너(40px) + 네비(72px) 이후 남은 뷰포트를 정확히 채움
3. 스크롤 텍스트 transform 충돌
   - top:50%; transform:translateY(-50%) 위치지정 제거
   - au-scrub-text를 inset:0 flex 레이아웃으로 변경
   - JS는 opacity+filter만 갱신 (transform 불변)

[추가 개선]
- nav: 히어로 위에서 투명, 스크롤 후 cream 배경+blur 전환
- 스크롤 섹션 초기 onScrub() 즉시 호출로 첫 텍스트 표시
- IntersectionObserver root를 .main-content로 지정
- 마일스톤 2 data-end="1.01" (경계값 처리)
- 전체 페이지 코드 정리 및 중복 제거

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 16:45:08 +09:00
203b18da73 feat: 인테리어 샘플 — 히어로 영상 + 스크롤 프레임 스크러빙 추가
- 히어로: MP4 풀스크린 비디오 배경 (autoplay/muted/loop), 초기 8초 drift 애니메이션
- 스크롤 섹션(380vh): 48장 WebP 프레임 스크러빙 (Apple 스타일)
  - 스크롤 위치에 따라 캔버스에 프레임 렌더링 (requestAnimationFrame)
  - 3단계 텍스트 오버레이 (공간 철학 / 실적 / CTA) DOM 직접 조작
  - 하단 진행 바 실시간 업데이트
- 6fps WebP 48프레임 추출 (libwebp, quality 82) → 총 1.3MB
- 모든 이미지 cover-fit 캔버스 렌더링

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 16:30:48 +09:00
c031019b15 fix: 인테리어 샘플 페이지 이미지 실제 인테리어 사진으로 교체
picsum 플레이스홀더 → 실제 인테리어 이미지 7장으로 교체:
- 히어로, 포트폴리오 벤토 4컷, 서비스 지그재그 3컷
- Pinterest 이미지 + Lunalight Studios 조명 이미지 적용

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 16:22:14 +09:00
d24d25a160 feat: 인테리어·독서기록 샘플 페이지 추가
supanova taste-skill + soft-skill 적용:
- interior: Warm Editorial 감성, Playfair Display + Pretendard, 황금/크림 팔레트, 비대칭 벤토 포트폴리오 그리드, 지그재그 서비스 섹션, Double-Bezel 후기 카드
- reading: Vantablack Luxe 감성, Cormorant Garamond + Pretendard, 앰버/다크 팔레트, 독서 컬렉션 벤토 그리드, 명언 마소너리, 현재 독서 진도 표시
- /services/website 샘플 목록에 두 항목 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 16:15:11 +09:00
d1054f0eee feat: 쟁승메이드 마케팅 랜딩페이지 신규 제작 (/landing)
7단계 디자인 프레임워크 적용 (60% Trust + 30% Warmth + 10% Energy)
- Hero: 다크 배경 + 그리드 패턴 + URL 증거 브라우저 카드 + 플로팅 애니메이션
- Trust Bar: CountUp 카운터 (3개 서비스, 24h 견적, 100% 소스코드, 1개월 AS)
- Services: 5개 서비스 카드 (호버 컬러 탑바, URL 증거 배지)
- Proof Section: 3개 운영 서비스 브라우저 카드 + 개발자 경력 타임라인
- Guarantees: 계약서/환불/소스코드/패널티 4격자 (SVG 아이콘)
- Pricing: 투명한 가격 테이블
- FAQ: 어코디언 펼치기
- Final CTA: 그라디언트 배경 + 펄스 CTA 버튼
- 사이드바 우회용 독립 layout.tsx 포함

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 15:54:40 +09:00
95d8a5e52c feat: 샘플 홈페이지 5종 목적성에 맞게 전면 리팩토링
- bakery: 이모지 → SVG 빵/셰프 일러스트, 고객 리뷰 섹션, 시즌 스페셜 섹션, 재료 태그 추가
- portfolio: 수상내역 마퀴 배너, 서비스 섹션, 프로젝트 카테고리 필터+호버 오버레이, 클라이언트 후기 추가
- dashboard: SVG 라인 차트, KPI 스파크라인, 알림 패널, 도넛 차트, 사용자 아바타 테이블 개선
- game: 챔피언 선택 섹션, 시즌 패스 진행 바, 최근 매치 히스토리, 파티클 배경, 티어 SVG 배지

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 12:17:32 +09:00
a55cd0e7e2 feat: 서비스 가격 전면 개편
- 홈페이지 제작: 50→20만, 150→100만, 300→200만원
- 업무 자동화: 10→5만, 중간→자동화심화 15만원 (이름 변경 포함)
- 주식 자동매매: 스타터 99→49k/29→9.9k, 프로 199→99k/49→29k
- 홈 서비스 카드 가격 동기화 (stock, automation)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 11:48:39 +09:00
64393e9740 fix: 미들웨어 Supabase hang으로 인한 모바일 접속 불가 해결
- /api/ 경로 전체를 미들웨어 매처에서 제외 (각 API 라우트가 자체 인증 처리)
- updateSession() 실패 시 try-catch로 페이지 접근 허용 (연결 hang 방지)
- supabase.auth.getUser() 오류 시 세션 갱신 생략하고 통과

원인: 모든 요청에 실행되는 Edge Runtime 미들웨어에서 Supabase
외부 API 호출이 일시 지연/실패 시 Vercel이 연결을 강제 종료,
Safari에서 "네트워크 서버를 찾을 수 없음"으로 표시됨

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 23:29:26 +09:00
3f53594d3f feat: 견적서 자동화, 마케팅 에셋, 전체 카피 강화
- 관리자 견적서 CRUD (WBS/항목/향후관리/특이사항 5탭 편집기)
- 고객용 공개 견적서 페이지 (optional 항목 선택 + 실시간 총액 + 수락)
- 마케팅 SVG 에셋 6종 (썸네일 5개 + 배너 1개) + 관리자 에셋 페이지
- 전체 카피 강화: 크레덴셜 제거 → URL증거/환불보장/계약서/납기패널티 중심

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 10:48:28 +09:00
d29cdbcd82 revert: purchase/analysis NAS 기반으로 원복 (maxDuration 추가)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 02:23:24 +09:00
f8bfc74d02 debug: NAS 엔드포인트 진단 라우트 추가 + purchase/analysis 원복
- /api/lotto/debug: NAS의 15개 경로 응답 상태를 일괄 점검
- purchase/analysis personal을 다시 NAS 기반으로 원복 (NAS에 데이터 보유)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 02:22:29 +09:00
12c135ebd8 fix: purchase/analysis API를 NAS → Supabase로 재설계
- 원인: purchase/personal은 유저별 데이터인데 NAS로 프록시 → NAS가 userId 모름
- ConnectTimeoutError는 NAS에 미구현 엔드포인트로 연결 시도한 결과

purchase/route.ts: nasGet/nasPost → Supabase lotto_purchases CRUD
purchase/stats/route.ts: nasGet → Supabase 집계 (총구매/당첨금/순손익 계산)
purchase/[id]/route.ts: nasPut/nasDelete → Supabase UPDATE/DELETE (user_id RLS)
analysis/personal/route.ts: nasGet → lotto_history 테이블 직접 분석
  (번호 빈도, top/least picks, 홀짝패턴, 구간 분포, 당첨평균 대비)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 02:13:04 +09:00
cf4f25620d perf: stats/performance 인증 제거 + CDN 캐시 10분 적용
- Supabase auth 왕복 1-2s 제거 (집계 데이터는 인증 불필요)
- Cache-Control: s-maxage=600 으로 Vercel Edge CDN 캐싱 적용
- 동일 요청 10분간 NAS 호출 없이 CDN에서 즉시 응답

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 02:02:16 +09:00
040866292e fix: 로또 API 504 타임아웃 및 Application error 수정
- _nas.ts: AbortSignal timeout 10s → 25s (NAS 무거운 연산 대응)
- stats/performance, report/latest, report/history: maxDuration = 60 추가 (Vercel 함수 타임아웃 연장)
- ReportTab: 에러 응답({error:"NAS_TIMEOUT"}) 받을 시 렌더 전 차단, confidence_factors null guard 추가
- PurchaseTab: API 에러 응답 감지 후 조용히 빈 상태 유지
- PatternTab: 에러 응답 감지 후 에러 메시지 표시

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 01:55:48 +09:00
54d252372b feat: 로또 서비스 플랜별 기능 차별화 및 서비스화
- 플랜 등급 유틸리티 (PLAN_RANK, planGte) 추가
- 탭 네비게이션: 골드 미만 → 공략/구매 탭 🔒 잠금, 플래티넘 미만 → 패턴 탭 💎 PLATINUM+ 뱃지
- 내 패턴 탭: 플래티넘 미만 접속 시 업그레이드 유도 카드 표시
- 비구독자 업셀 UI 전면 개편: 잠금 오버레이 → 골드/플래티넘/다이아 플랜 기능 미리보기 카드
- 로또 서비스 소개 페이지: 9개 기능 행 x 3개 플랜 비교표 추가 (요금제 섹션 위)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 01:29:57 +09:00
4cacea69c8 feat: 로또 서비스 Phase 1-2 프론트엔드 고도화
- NAS 프록시 공통 헬퍼 (_nas.ts): nasGet/Post/Put/Delete + requireSubscription
- API 라우트 7개: stats/performance, report/latest, report/history, analysis/personal, purchase CRUD
- ReportTab: 주간 공략 리포트 (신뢰도, 추천 세트, 핫/콜드 번호, 히스토리)
- PurchaseTab: 구매 기록 CRUD + 투자 통계 (총구매/당첨금/순손익/최대당첨)
- PatternTab: 개인 번호 패턴 분석 (자주 선택/기피 번호, 구간 분포)
- 성과 배너: 실제 검증 통계 (3개 이상 일치율, 평균 일치 개수, 무작위 대비 개선율)
- 탭 네비게이션: 구독자 전용 (번호 생성/이번 주 공략/구매 기록/내 패턴)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 01:12:59 +09:00
b306b0e42c feat: 다운로드 URL을 NAS CDN 환경변수 기반으로 변경
NEXT_PUBLIC_CDN_URL 환경변수로 다운로드 경로 관리
- Cloudflare Tunnel + NAS nginx 서버 연동 예정
- 미설정 시 상대경로(/downloads/...) 폴백

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 00:08:10 +09:00
b2c96ceec7 feat: 홈페이지 제작 폰트 통일 + 자동화 툴 다운로드 섹션 추가
- app/services/website/page.tsx: Google Fonts (Syne, Noto Sans KR) 제거
  → 사이트 공통 폰트 CookieRun으로 교체, @import 제거
- app/services/automation/page.tsx: 자동화 도구 무료 다운로드 섹션 추가
  - 엑셀 자동화 도구(배포), 웹 스크래핑·이메일 자동화(준비중) 카드
  - 각 카드 → 상세 서브페이지 링크 연결
- app/services/automation/tools/excel/page.tsx: 신규 생성
  - 엑셀 매크로 툴킷 상세 페이지 (기능 6가지, 사용법, 미리보기 목업, FAQ)
  - 무료 다운로드 버튼 (/downloads/Excel_Macro_Toolkit_v1.2.xlsm)
  - 맞춤 개발 문의 CTA
- public/downloads/: 다운로드 파일 배치 디렉토리 생성

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 00:00:46 +09:00
0222eca381 fix: Google OAuth 로그인 시 localhost:3000 리다이렉트 문제 수정
- app/auth/callback/route.ts: NEXT_PUBLIC_SITE_URL 우선, x-forwarded-host 폴백
  Vercel 내부 라우팅에서 request.url의 origin이 localhost로 잡히는 경우 대응
- app/login/page.tsx: signInWithOAuth redirectTo를 NEXT_PUBLIC_SITE_URL 기준으로 변경
  window.location.origin 대신 명시적 환경변수 사용으로 안정성 확보

Vercel 환경변수에 NEXT_PUBLIC_SITE_URL=https://<도메인> 추가 필요

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 23:44:54 +09:00
1193a075c2 refactor: 사주 Python 엔진 제거 + lunar-javascript 기반 절기 계산 도입
- lib/solar-terms.ts: solarlunar → lunar-javascript로 전면 교체
  - getSolarTermDate(): LunarYear.fromYear().getJieQiJulianDays() 사용 (시분 단위 정밀도)
  - 소한(22)/대한(23)은 year-1로 조회해 해당 연도 1월 날짜 정확히 반환
  - getCurrentSolarTerm(): 입춘 기준 두 구간 분리, Date.UTC() 비교
- lib/daeun-calculator.ts: getSolarTermDate 정확도 향상으로 termYear 수동 보정 제거
- lib/saju-calculator.ts: 일주 기준일 甲戌, Date.UTC(), 오호둔월법 공식 적용
- lib/ai-interpretation.ts: 신약 용신 후보 내림차순 정렬 수정
- app/saju/result/page.tsx: Python 엔진(fetchFromPythonEngine) 완전 제거, TS 전용
- app/api/saju/calculate/route.ts: Python 프록시 라우트 삭제
- app/saju/page.tsx: fromHistory 파라미터 제거
- types/lunar-javascript.d.ts: 타입 선언 파일 추가

검증 케이스(1992-12-23 16:30 남성): 壬申/壬子/癸酉/庚申

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 23:38:25 +09:00
7f4fb8027a 웹페이지 제작 소개 페이지 생성 & 사주 분석 고도화 2026-03-19 07:58:38 +09:00
b250d4b50c fix: 홈 로또 카드 가격/플랜명 수정, 관리자 구독자 통계/구독 현황 추가
- 홈 카드: 월 4,900원 → 900원~, 플랜명 골드/플래티넘/다이아로 수정
- 관리자 대시보드: 활성 구독자 수 카드 추가
- 관리자 회원 목록: 구독 현황(플랜명, 만료일) 컬럼 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 03:51:18 +09:00
16fa4f4c98 fix: 관리자 로그인 ID 필드 autoComplete off (이메일 유효성 검사 오류 방지)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 03:39:16 +09:00
b931438e51 feat: 구독 관리 시스템 (해지, 자동갱신 토글, 만료 Cron)
- subscriptions 테이블 마이그레이션 (기존 paid orders에서 자동 생성)
- GET/PATCH /api/subscription: 구독 조회, 해지, 자동갱신 토글
- 마이페이지 구독 관리 탭: D-day, 해지 버튼, 자동갱신 토글
- 해지 시 만료일까지 서비스 계속 이용 가능
- Vercel Cron: 매일 01:00 KST 만료 구독 자동 처리 + 텔레그램 알림

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 03:32:31 +09:00
cee7e74793 feat: 로또 번호 히스토리 저장 + 마이페이지 구독정보/히스토리 표시
- POST /api/lotto/history: 생성 번호 저장 API
- GET /api/lotto/history: 히스토리 조회 API
- 번호 생성 시 자동 히스토리 저장 (NAS/클라이언트 출처 구분)
- 합계 표시 복원
- 마이페이지: 활성 구독 카드 (D-day, 만료일 표시)
- 마이페이지: 로또 기록 탭 추가 (번호볼 + 출처 + 플랜 표시)
- Supabase 마이그레이션: lotto_history 테이블

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 03:21:40 +09:00
4040fce9bf fix: 배치 생성 개수 플랜 한도 반영, 합계 표시 제거
- 배치 버튼/레이블에 실제 생성 가능한 개수 동적 표시 (MAX_COMBOS 기준)
- 메트릭에서 합계 제거, 콤보 목록에서 합계 제거

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 03:14:42 +09:00
ec9bd85ea8 fix: NAS 불가 시 구독자 추천도 클라이언트 Monte Carlo 폴백 처리
- recommend API: fetch 실패/503 시 NAS_UNAVAILABLE 반환
- 추천 페이지: 503 수신 시 클라이언트 Monte Carlo로 폴백

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 02:58:47 +09:00
eeea370ad0 fix: 텔레그램 웹훅 경로를 미들웨어 인증에서 제외 (307 redirect 수정)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 02:47:43 +09:00
8e23e55cc8 fix: lunar-calendar → solarlunar 패키지로 교체 (빌드 에러 수정)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 02:19:34 +09:00
a95715ec6b feat: 로또 추천 API, 텔레그램 봇 연동, 관리자 페이지 추가
- 로또 번호 추천 구독자 전용 페이지 (/services/lotto/recommend)
- NAS 몬테카를로 API 연동 + 클라이언트 사이드 폴백
- 무료 미리보기 1개 + 구독자용 프리미엄 번호 추천
- 구독 플랜 변경: 골드(900원)/플래티넘(2,900원)/다이아(9,900원)
- 텔레그램 봇 연동: 연결/해제, 웹훅, /start 명령 처리
- 마이페이지 텔레그램 연결 UI + 가이드 모달
- 관리자 페이지 (/admin): 대시보드, 회원, 서비스, 문의 관리
- Supabase 마이그레이션: profiles 텔레그램 컬럼, 신규 상품

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 02:12:17 +09:00
2469063979 AI 사주풀이 결과 페이지 개선 2026-03-11 08:20:56 +09:00
dc43b12fbb docs: README를 서비스 소개 중심으로 전면 재작성
개발 기술 스택·배포 가이드 중심에서 서비스 가치·이용 방법 중심으로 변경.
AI 사주 분석, 로또 추천, 주식 자동매매, 업무 자동화, 외주 개발 각 서비스
특징과 바로가기 링크 포함. 운영자 소개 및 문의 방법 명시.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 08:02:21 +09:00
de02d44762 사주 프롬프트 강화 2026-03-11 07:46:21 +09:00
95453212ec 사주 결과 강화 2026-03-11 07:30:44 +09:00
367378aeed 사주 nas 설정 변경 2026-03-10 04:37:45 +09:00
83043a357b 사주 기능 이식 & 로그인, 유저 페이지 Supabase 연동 & 토스 페이먼츠 결제 연동 & 사주 심층 분석을 위한 기능 분리 2026-03-10 04:28:56 +09:00
e8076b2b7a chore: Vercel 배포를 위한 깃허브 remote 연동 2026-03-06 02:32:43 +09:00
19fb7a0892 Redesign full site: dashboard layout, service pages, modal contact, CookieRun font
- 전체 디자인 시스템 개편: 딥 네이비 (#04102b) + 로열 블루 (#1a56db) 팔레트
- 홈 대시보드: 가운데 정렬, 서비스별 고유 카드 디자인 (로또/주식/프롬프트/자동화)
- 서비스 페이지 4종: 각 서비스 테마 색상 + 장식 요소 + 가운데 정렬 레이아웃
- 외주 개발 페이지: 라이브 카운터 (진행중/상담중/납품완료), 수직 타임라인
- ContactModal 컴포넌트: 서비스별 모달 문의폼 + 체크리스트 (페이지 이동 없이 문의)
- CookieRun 폰트 적용 (Regular/Bold/Black, 상업적 이용 가능 라이선스)
- 실명 '박재오' → '쟁토리' 전체 변경, 7년차 강조 홈 페이지에만 표시

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 02:11:25 +09:00