Commit Graph

27 Commits

Author SHA1 Message Date
e713ebceee docs(plan): Phase 2 재개 체크포인트 — P2-8까지 완료, P2-9 미커밋 중단 2026-06-11 13:21:01 +09:00
fe055fd0d0 docs(plan): 리뉴얼 Phase 2 구현 계획 — orders 단일 소스 제품 판매 시스템
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 08:21:39 +09:00
a496c2244b docs(plan): 리뉴얼 Phase 1 구현 계획 — 디자인 토큰·숨김 가드·메인/외주/로그인/마이페이지
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 01:06:48 +09:00
d46acc43e3 docs(spec): 사이트 리뉴얼 설계 — 외주+소프트웨어 판매 2축 재구성
- 계좌이체 중심 결제, 기존 서비스 숨김(admin 토글), 고객 포털, 풀 리디자인
- orders 단일 소스 구매 식별, pack 인프라 범용 제품 시스템 확장

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 00:59:36 +09:00
3e0d8bcf88 docs(plan): Phase 6 ① 완료 + 재개 체크포인트(③ DNS 전환 직전) 기록
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 03:16:21 +09:00
0aa4da7143 docs(plan): Phase 5 완료 — 앱 NAS 배포(Gitea registry) + app.jaengseung-made.com 검증
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 17:20:22 +09:00
58290041e1 docs(plan): Phase 4 완료(OAuth E2E 검증) + Phase 6 supa 노출·OAuth 부분 완료
- 로컬 통합테스트: supa 도메인 apikey 200, Google OAuth 로그인→mypage 데이터 확인
- supa 노출: Cloudflare DNS + DSM 역방향 프록시(443→8100) + Let's Encrypt
- OAuth: GOTRUE_GOOGLE 활성화, authorize 302 확인
- 남은 컷오버는 Phase 5(앱 배포) 후

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 16:20:44 +09:00
f9d3664608 docs(plan): Phase 2 완료 — 무손실 데이터 이전(PG17 전환·쟁승만·RLS 검증)
- 멀티앱 공유 DB 발견 → 쟁승 10테이블+auth+storage만 이전
- 클라우드 PG17.6 ↔ NAS PG17 통일, 행수 12개 일치, project_milestones anon 없음 확인
- storage 0(실파일 스킵), subscriptions 클라우드 미존재(후속)
- Phase 3: maxDuration 제거 안 함(Vercel 전용 메타, self-host 무시)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 14:50:08 +09:00
866853e594 docs(plan): Phase 1 완료 — NAS self-host Supabase 스택 기동(11개 healthy)
- /volume1/docker/jsm, KONG 8100/8543, pooler 5432 충돌 해결(522 주석)
- 레거시 JWT_SECRET 호환 확정 → 앱 무수정 연결 가능

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 13:42:32 +09:00
0cad590ddb docs(plan): Phase 0 완료 — 리소스 실측·443 노출방식·gitea 기존운영 반영
- RAM 14GB여유/디스크 1.8TB , CPU 2코어 부하가 유일 리스크(Phase 6 관찰)
- 443 이미 외부 HTTPS 200 → 기존 nginx vhost 추가로 확정(Cloudflare Tunnel 불필요)
- 포트 8000/3000 점유 → host 비노출 정책, gitea 기존 운영으로 Phase 5 단순화

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 11:15:02 +09:00
8b03a7024e docs(plan): NAS 풀 self-host 전환 단계별 마이그레이션 계획 (Phase 0-7)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 09:50:14 +09:00
ee5dbb2927 docs(spec): 배포를 기존 deployer와 분리된 별도 방식으로 정정 (검토 반영)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 09:47:21 +09:00
4cbc50dc70 docs(spec): NAS 풀 self-host 전환 설계 (Vercel/Supabase/GitHub → NAS/self-host Supabase/Gitea)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 09:45:04 +09:00
4cbc563411 docs(plan): SaaS 전환 마이그레이션 P1·P2·P4 완료 + P3 골격 구현 상태 반영
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 16:09:43 +09:00
ae10bdc0b9 docs(plan): CONTOUR PMF 설문 사이트 implementation plan — 19 task, 5 phase
5 phase 구성:
- A (4): supabase migration + lib types/questions/storage
- B (8): UI 컴포넌트 — Intro/Q1-Q7/Thanks/ProgressBar/QuestionLayout
- C (4): page+layout 통합 + /api/survey POST + standalone shell + /api/admin/survey
- D (2): /admin/survey 대시보드 + AdminSidebar 메뉴
- E (1): build/lint/시각 회귀/CEO 운영 안내 (메모리 갱신 선택)

핵심 패턴:
- 단일 페이지 + step state (URL 불변, localStorage 진행 저장)
- /gyeol standalone (TopNav/푸터/카카오 모두 숨김)
- DB RLS — anon INSERT만, admin SELECT
- Resend 즉시 확인 메일 (이메일 입력 시만)
- UTM·referrer 자동 수집 → 9 채널 CPM 분석
- 각 task 마지막에 git log -3 직접 검증 (Phase 2 sandbox 이슈 대비)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 05:07:09 +09:00
82feb14fa1 docs(spec): CONTOUR PMF 인터뷰 설문 사이트 설계
obsidian PMF spec(7질문) + design PNG 참고:
- URL /gyeol, 브랜드 CONTOUR 영문 단독 (마케팅 반감 회피, '결' 한글 제거)
- 단일 페이지 + step state 9개 (intro / q1-q7 / thanks), localStorage 진행 저장
- /gyeol standalone shell (TopNav/푸터/카카오 모두 숨김, 설문 집중)
- DB: survey_responses 테이블 + RLS (anon INSERT만, SELECT service role)
- POST /api/survey + Resend 즉시 확인 메일 1통
- /admin/survey 대시보드: 목록 + 카운트 + CSV (차트는 응답 누적 후 별도)
- UTM·referrer 추적 → 9 채널 × CPM 분석
- robots: noindex (PMF 검증 단계)

백로그: 차트 시각화, Q6 자발어 워드클라우드, rate limit,
NAS Synology Mail Server 전환(Resend 의존 제거).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 04:50:41 +09:00
fd7297a383 docs(plan): D 트랙 follow-up — 4 task cleanup
P0/P1/P2 review에서 defer된 4 cleanup 일괄:
- D1: lib/contact.ts — KAKAO_OPENCHAT_URL SSOT
- D2: KakaoFloatButton.tsx 컴포넌트 추출
- D3: mypage 잔여 정돈 (kakao URL 상수 + EmptyState linkHref 새 URL + 탭 가로 스크롤)
- D4: TopNav "Try now" 로그인 시 노출 (컨버전 유지)

당초 5 follow-up 중 "mypage 다운로드 버튼 조건부 렌더"는 Phase 2 implementation
에서 이미 조건부 처리됨 → D3 정돈에 흡수.

총 ~100 LOC 미만. brainstorm 생략 (review에서 이미 명세).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 04:05:46 +09:00
666dbd94da docs(plan): 홈 재구조 P1 implementation plan — 17 task, 4 phase
4월 27일 brainstorm 의 A-1 결정 + 5월 16일 spec 구현:
- Phase A (2): next.config redirects 10개 + lib/freelance-portfolio 추출
- Phase B (9): /music 허브 + /music/{packs,samples,studio} + /work 허브
  + /work/{freelance,website,saju,blog} + website samples 8개 + saju 7개
- Phase C (4): app/page.tsx 안 2 + TopNav 2개 LINKS + PublicShell footer
  + layout JSON-LD URL 갱신
- Phase D (2): 원본 25 파일 삭제 + build/lint/시각 회귀

핵심 안전 장치:
- Phase A/B/C/D 분할로 빌드 무중단 (원본 + 신규 양쪽 존재 기간 보호)
- push 시점은 Phase D 완료 후 (사용자 시각 회귀 후)
- 모든 task 마지막 step: git log -3 직접 검증 (Phase 2 subagent commit 누락 이슈 대비)
- redirect 영구 (301) — 외부 링크/검색 인덱스 보존

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 03:02:49 +09:00
eaa0c18438 docs(spec): 홈 재구조 P1 — IA 마이그레이션 + 메인 안 2 + 헤더 안 b
4월 27일 brainstorm의 A-1 결정을 구현 spec으로 확정.

CEO 결정 8개 라인:
- 메인 안 2 (Brand Hero + 2-up Card)
- 헤더 안 b (Music | Custom Build | Try now)
- /work, /music URL prefix, 10 redirects
- 사주 단순 URL 마이그 (카탈로그 spec 보류)
- 자동화는 /work/freelance 흡수 (Custom Build 4라인)
- /about 미신설 (Brand Hero가 약식 회사 표지)
- 가격 미정 → 견적 문의 CTA만
- 외주 진행 5건 비공개, 납품 5건만 사례

Phase A/B/C 분할 마이그레이션 (인프라+신규 → 원본 삭제+안 2 → 검증).
push는 Phase B 완료 후 무중단 배포.

신규 21+, 수정 5, 삭제 21 파일.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 02:55:28 +09:00
0c6a86d96d docs(plan): mypage Phase 2 — NAS 다운로드 자동화 implementation plan (15 tasks, 2 repos)
4 phase 구성:
- Phase A (web-backend repo, 6 tasks): packs-lab 스캐폴드 + HMAC 인증 + DSM client + routes + tests + docker/nginx
- Phase B (jaengseung-made, 6 tasks): supabase migration + lib helpers + pack-assets 마이그레이션 + 3 API routes
- Phase C (jaengseung-made, 3 tasks): admin packs 페이지 + sidebar + mypage 다운로드 활성화
- Phase D (2 tasks): 통합 smoke test (수동) + 메모리 갱신

부록 A: 단계별 빌드 안전성 분석 (B3-C3 사이 빌드 깨짐 → C3 commit 직후 push로 일괄 배포)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 07:52:41 +09:00
03b3ae8a17 docs(spec): mypage Phase 2 — NAS 자료 다운로드 자동화 설계
CEO 결정 7개 라인:
- 파일 전달: Synology File Station 공유 링크 (DSM 7.x SYNO.FileStation.Sharing v3)
- 업로드: admin UI 자동화
- 아키텍처: Vercel → web-backend (NAS) → DSM
- 다운로드 UX: 파일별 개별 버튼
- 공유 링크 만료: 4시간
- 파일 크기 한도: 5GB
- order.status completed 흐름: 기존 /admin/contacts 코드 활용 (운영 매뉴얼만 갱신)

핵심 아키텍처:
- 사용자 다운로드: Vercel API → supabase 인증/권한 → web-backend → DSM 공유 링크
- admin 업로드 (5GB): Vercel은 일회성 HMAC 토큰만 발급 → 브라우저가 web-backend에 직접 multipart POST → Vercel function body limit 우회
- pack_files 테이블 신설 (min_tier + label + file_path), DB가 SSOT, PACK_ASSETS.files 폐기

두 repo 작업: jaengseung-made (Vercel) + web-page-backend (NAS, FastAPI).
HMAC 32 byte 시크릿 + 일회성 jti + 4시간 만료로 디지털 콘텐츠 누출 방어.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 07:43:12 +09:00
d2bdc6a854 docs(plan): mypage Liquid Glass Phase 1 — 8 task implementation plan
Spec docs/superpowers/specs/2026-04-27-mypage-liquidglass-redesign.md 의 7개 섹션
모두 task로 매핑. 검증 인프라 부재 → lint + build + 시각 회귀 3단계 검증.

Task 순서 안전 분석(부록 A): 각 commit 후 mypage 로그아웃 경로 + 카카오 진입 항상 유지.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 03:37:49 +09:00
3c3f1e0298 docs(spec): mypage Liquid Glass 리뉴얼 Phase 1 — PublicShell 통합 + 음악 통합 placeholder
CEO 결정 5개 라인:
- 음악 통합 = B(구매한 팩 자료) + C(스튜디오 링크 — TopNav에 이미 있음)
- 구조 = PublicShell + TopNav 통합, Sidebar 제거
- 톤 = Hybrid Dark Hero + Light Cards (kx-surface + 보라 액센트)
- NAS 호스팅 = Phase 1 디자인/구조만, Phase 2 자료 호스팅 별도
- 신원 표시 = TopNav "마이페이지/로그아웃" link + mypage 축소 hero

변경 범위 (4 파일):
- DashboardShell.tsx: 사이드바 분기 + 카카오 버튼 통째 삭제
- TopNav.tsx: supabase auth 구독 + 로그인 상태 토글 (Sidebar 패턴 차용)
- Sidebar.tsx: 삭제 (사용처 0)
- mypage/page.tsx: 디자인 토큰 마이그레이션 + hero 축소 + "구매한 팩" 탭 신설

신규: lib/pack-assets.ts (3 tier 정적 자료 매핑 + extractPackTier 함수)
이동: 카카오 플로팅 버튼 → PublicShell footer 다음

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 03:30:07 +09:00
f2370131ef docs(spec,plan): 홈 재구조 brainstorm + P0 implementation plan
- spec: Music + Custom Build 동등 두 사업부 (A/A-1) IA 재구조
  · /work 사용, /work/saju 통합, 자체 정가, 외주 5건 비공개
  · 메인 안 2 (Brand Hero + 2-up) + 헤더 안 b 추천
  · TODO P0~P3 우선순위
- plan: P0 4 task (TopNav 외주 링크 / 푸터 Custom Build / 메인 미니 섹션 / JSON-LD)
  · 결제는 이미 계좌이체 단일화 상태(Music/Blog) 발견 → P0 결제 task 제외
  · 사주 1,000원 PG는 미해결로 부록 분리

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 02:12:51 +09:00
ae3a469cff docs(plan): 사주 서비스 카탈로그 운영화 구현 계획 — 7 task
lib/saju-catalog.ts SSOT, /services/saju-business LP(인쇄 모드 포함),
견적 에디터 카탈로그 모달/프리셋 4종, 결제 안내 페이지까지.
TopNav 노출은 매출 검증 후 옵션 task.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 08:19:00 +09:00
ce2720b562 docs(spec): 사주 서비스 카탈로그 설계 — 코어 49만 + 모듈 11종
A(반복 판매 표준화) + C(LTV 락인) 방향으로 D 듀얼 페르소나(사주집·인스타) 대상
B 단일 코어 + 모듈 카탈로그 구조 확정. 풀세트 사주집 1년 LTV 746만 시나리오 포함.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 08:04:01 +09:00
fae92940e5 feat: 하이브로지스틱스 견적서 + 컨셉 시안 + 견적 UI 개선
- 하이브로지스틱스코리아 홈페이지 리뉴얼 견적서(docs) + 컨셉 시안(HTML)
- 관리자 견적항목: grid→flex 레이아웃, 수량/선택 축소, 설명 확대
- 고객용 견적서: table-layout fixed, 카테고리 줄바꿈 방지, WBS 너비 통일
- PUT API wbs 필드 허용 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 08:47:41 +09:00