초정밀 시스템 아키텍처 및 비즈니스 전개 공정서 — 1인 개발자 × AI 군단 × 국가 행정 정복
이 문서는 단순히 글자 수가 많은 것이 아닙니다. 노트북을 켜고 첫 프롬프트를 입력한 순간부터 정부24 승인 알림을 받기까지의 전체 공정 기술 명세서입니다. 1인 개발자가 Claude Opus 4.6 (설계) · Claude Sonnet 4.6 (구현) · GenSpark · Gemini AI 에이전트를 지휘해 국가 행정 장벽을 기술적으로 무너뜨린 기록. 아키텍처 다이어트, 보안 설계, 결제 연동, 행정 컴플라이언스까지 — 풀스택 1인 창업의 전 공정이 이 문서 안에 있습니다.
| 결정 영역 | 1안 (폐기) | 2안 (채택) | 폐기 이유 | 채택 근거 | 정량 효과 |
|---|---|---|---|---|---|
| 백엔드 프레임워크 | Hono (Node.js) | CF Pages Functions | 서버리스에 Node 런타임 오버헤드 | 엣지 직접 실행, Supabase 직통 | -300ms 레이턴시 |
| 데이터베이스 | Firebase (NoSQL) | Supabase (PostgreSQL) | 관계 무결성 보장 불가 | RDB + RLS + FK 완전 보장 | 데이터 유출 차단 |
| CDN / 배포 | Vercel / Netlify | Cloudflare Pages | IAM 행정 증빙 불가 | 엣지 275개+ IAM 제공 | 행정 증빙 가능 |
| 결제 시스템 | Stripe | TossPayments | 국내 개인사업자 온보딩 불가 | 한국 친화 + 에스크로 | 통신판매업 신고 가능 |
| 인증 (SSO) | Google 단독 | Google + Kakao 듀얼 | 인앱 브라우저 403 차단 | 카카오 링크 유입 대응 | 카톡 유입 100% 대응 |
| AI 코딩 전략 | Claude 단일 모델 100% | Opus 4.6 설계 + Sonnet 4.6 구현 | 단일 모델로 설계·구현 혼용 시 비용·품질 비효율 | Opus=고난이도 1회성 설계, Sonnet=고속 반복 코딩 | 비용 최적화 + 품질↑ |
| 상태 관리 | Redux Toolkit | Zustand + React Query | 보일러플레이트 과다 | 경량화, Supabase 연동 용이 | 번들 40% 감소 |
"React+Supabase+Cloudflare 기반 풀스택 아키텍처 설계해줘."App.tsx, Layout.tsx, UI 컴포넌트 반복 구현 90% 담당. 1,000라인↑ 파일 시 GenSpark 정합성 체크. Hono 시도 → 오버헤드 발견 → 즉시 피벗.judyppview.com 선결제 → NS를 amy.ns.cloudflare.com으로 교체. DNS 전파 5~30분 대기 중 백엔드 세팅 병렬 진행. git push = 전 세계 즉시 배포.101 Townsend St, San Francisco, CA 직접 기입 + 캡처 이중 증빙 → 담당 공무원 확인 전화 → 최종 승인 🏆"PDF 뷰어 컴포넌트만 독립적으로 만들어. 다른 파일은 신경 쓰지 말고.""TypeScript strict 모드. 모든 props 타입 명시. any 사용 금지.""아래 전체 코드의 import 누락, 라우팅 충돌, 타입 오류를 모두 찾아서 수정해.""Hono vs CF Pages Functions 레이턴시 비교. 우리 스택 기준 권장안."judyppview.com 가비아 1년 선결제. 브랜드 네임 선점 + 통신판매업 신고 도메인 증빙.judyppview.com 입력. CF가 현재 DNS 레코드 자동 스캔·임포트.amy.ns.cloudflare.com / 2차: ian.ns.cloudflare.commy-ppv-project 리포 선택.npm run builddist18.xVITE_SUPABASE_URLVITE_SUPABASE_ANON_KEYVITE_TOSS_CLIENT_KEYjudyppview.com 추가 → SSL 자동 발급 + HTTPS 강제 리다이렉트.git push = 전 세계 배포.auth/callback에서 ?provider=kakao 감지 → 독립 세션 생성. Google과 완전 분리.email, profile.judyppview.com 등록 → DNS TXT 레코드 소유권 인증..env 파일 절대 GitHub 푸시 금지.@tosspayments/payment-widget. 결제 완료 → Webhook → DB 자동 업데이트.Manage Account → Members 탭 클릭.Permission Policies → [Edit] → Super Administrator 선택 → [Save].101 Townsend St, San Francisco, CA 94107| 영역 | 항목 | 상태 | 구현 방법 / 조치 필요 |
|---|---|---|---|
| 인증 | OAuth 2.0 PKCE | ● 완료 | Supabase Auth 내장 |
| 인증 | 세션 자동 갱신 | ● 완료 | Supabase JWT 자동 갱신 |
| 인증 | 인앱 브라우저 403 대응 | ● 완료 | Kakao Sync API 듀얼 SSO |
| DB | Row Level Security | ● 완료 | 모든 테이블 RLS 적용 |
| DB | SQL Injection 방지 | ● 완료 | Supabase 파라미터 바인딩 |
| DB | 외래키 CASCADE 설계 | ● 완료 | ON DELETE CASCADE — 유저 삭제 시 데이터 자동 정리 |
| 전송 | HTTPS 강제 | ● 완료 | CF HTTPS Redirect |
| 전송 | HSTS | ● 완료 | CF Security Headers 자동 적용 |
| 전송 | CSP (Content Security Policy) | ◐ 권장 | CF Pages _headers 파일에 CSP 헤더 추가 필요 — XSS 벡터 차단 |
| 전송 | CSRF 방어 | ● 완료 | SPA + JWT 구조 → CSRF 토큰 불필요. Bearer 토큰 방식 |
| 키 관리 | 환경 변수 암호화 | ● 완료 | CF Pages Secrets (암호화 저장) |
| 키 관리 | GitHub 키 노출 방지 | ● 완료 | .gitignore + .env 미푸시 정책 |
| 키 관리 | Supabase Anon Key 노출 | ◐ 주의 | Anon Key는 클라이언트 노출 설계. RLS로 보완 완료. Service Role Key는 절대 프론트 노출 금지. |
| 결제 | 에스크로 적용 | ● 완료 | TossPayments 에스크로 확인서 발급 |
| 결제 | Webhook 위변조 검증 | ◐ 필수 | TossPayments Webhook 수신 시 서명(HMAC) 검증 로직 CF Functions에 구현 필요 |
| 개인정보 | 최소 권한 수집 | ● 완료 | email, profile scope만 요청 |
| 개인정보 | 데이터 보존 기간 정책 | ◐ 문서화 필요 | 개인정보처리방침에 보유기간 명시 + Supabase 자동 삭제 트리거 설정 권장 |
| 인프라 | DDoS 방어 | ● 완료 | Cloudflare 내장 자동 방어 |
| 인프라 | Rate Limiting | ◐ 권장 | CF Rate Limiting Rules 설정 — 로그인·결제 API 남용 방지 |
| 인프라 | 오류 로깅 / 모니터링 | ○ 미완료 | Sentry 또는 CF Analytics 연동 권장 — 프로덕션 오류 추적 |
| 인프라 | 데이터 백업 | ◐ 확인 필요 | Supabase 자동 백업 (Pro 플랜 이상 일간 백업). Free 플랜은 수동 pg_dump 필요. |