stack-analysis
CHAPTER 70 / 90
읽기 약 2분
FUNCTION
SaaS 종합: 완성된 SaaS 보일러플레이트
핵심 개념
create-saas-app·SST·Shadcn — 1주일 만에 SaaS MVP 출시.
본문
검증된 SaaS 보일러플레이트
1. SaaS Starter Kit (Vercel)
- Next.js + Postgres + Stripe
- 무료 + 오픈소스
github.com/vercel/nextjs-subscription-payments
2. T3 Stack + Stripe
- tRPC + Prisma + NextAuth
- 풀스택 TS 안전
3. Saas-UI
- Chakra 기반 컴포넌트
- 대시보드·테이블·차트
4. Bedrock (유료 $300+)
- 검증된 풀 SaaS
- 시간 절약 큼추천 스택 (1인 개발자)
[Frontend]
- Next.js 16 App Router
- Tailwind + shadcn/ui
- TanStack Query + Zustand
- React Hook Form + Zod
[Backend]
- Next.js API Routes (또는 별도 Express)
- Prisma + Supabase Postgres
- BullMQ + Upstash Redis
[Auth]
- Clerk ($25/mo) 또는 Lucia (무료)
[Payments]
- Stripe (subscription·portal)
[Email]
- Resend (트랜잭션)
- React Email (템플릿)
[Search]
- Meilisearch (셀프호스트) 또는 PostgreSQL FTS
[Storage]
- Cloudflare R2 (S3 호환·무료 송신)
- 또는 Vercel Blob
[Monitor]
- Sentry (errors)
- PostHog (analytics)
- Vercel Analytics (web vitals)폴더 구조 (production-ready)
my-saas/
├── app/
│ ├── (marketing)/ # 공개
│ │ ├── page.tsx # 랜딩
│ │ ├── pricing/
│ │ └── blog/
│ ├── (auth)/ # 인증
│ │ ├── sign-in/
│ │ └── sign-up/
│ ├── (app)/ # 앱 (인증 필요)
│ │ ├── layout.tsx # 사이드바
│ │ ├── dashboard/
│ │ ├── projects/
│ │ ├── settings/
│ │ ├── billing/
│ │ └── team/
│ ├── api/
│ │ ├── stripe/
│ │ ├── webhooks/
│ │ └── trpc/[trpc]/
│ └── layout.tsx
├── components/
│ ├── ui/ # shadcn/ui
│ ├── marketing/
│ ├── dashboard/
│ └── shared/
├── lib/
│ ├── auth.ts
│ ├── stripe.ts
│ ├── db.ts
│ └── utils.ts
├── server/
│ ├── api/ # tRPC routers
│ ├── services/
│ └── workers/
├── prisma/
│ └── schema.prisma
└── public/핵심 schema.prisma
model Tenant {
id String @id @default(cuid())
name String
slug String @unique
plan String @default("free")
stripeCustomerId String? @unique
stripeSubscriptionId String? @unique
subscriptionStatus String?
currentPeriodEnd DateTime?
members TenantMember[]
projects Project[]
invitations Invitation[]
auditLogs AuditLog[]
createdAt DateTime @default(now())
}
model User {
id String @id @default(cuid())
email String @unique
name String?
avatarUrl String?
emailVerified DateTime?
tenants TenantMember[]
pushSubs PushSubscription[]
createdAt DateTime @default(now())
}
model TenantMember {
tenantId String
userId String
role String @default("member")
joinedAt DateTime @default(now())
tenant Tenant @relation(fields: [tenantId], references: [id], onDelete: Cascade)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@id([tenantId, userId])
@@index([userId])
}
model Project {
id String @id @default(cuid())
tenantId String
name String
// ...
tenant Tenant @relation(fields: [tenantId], references: [id], onDelete: Cascade)
@@index([tenantId, createdAt])
}
model Invitation {
id String @id @default(cuid())
tenantId String
email String
role String @default("member")
token String @unique
expiresAt DateTime
acceptedAt DateTime?
@@index([tenantId, email])
}
model AuditLog {
id String @id @default(uuid())
tenantId String
actorId String?
action String
resourceType String
resourceId String?
changes Json?
ip String?
createdAt DateTime @default(now())
@@index([tenantId, createdAt(sort: Desc)])
}출시 체크리스트
[기능]
☐ 회원가입 + 이메일 인증
☐ 워크스페이스 생성
☐ 팀 초대 (이메일)
☐ Stripe 구독 + Portal
☐ 핵심 기능 1개 이상
☐ 알림 시스템
☐ 검색 (기본)
☐ 설정 페이지
☐ 빌링 페이지
[페이지]
☐ 랜딩 + 가격
☐ FAQ + 도움말
☐ 약관 + 개인정보처리방침
☐ 연락처
[인프라]
☐ Vercel 배포
☐ Supabase Postgres
☐ Stripe webhook
☐ 도메인 + SSL
☐ Sentry 통합
☐ 백업 자동화
[마케팅]
☐ Twitter·LinkedIn 계정
☐ Product Hunt 페이지
☐ Indie Hackers 글
☐ 블로그 첫 글 3개
☐ SEO 메타데이터1주 출시 일정 (1인 개발자)
Day 1: 셋업 (Next.js + DB + Auth)
Day 2: 핵심 기능 1개
Day 3: 결제 연동 (Stripe)
Day 4: 팀 초대 + 알림
Day 5: 랜딩 페이지 + 가격
Day 6: 배포 + 도메인
Day 7: Product Hunt + Twitter 런칭
→ 1주 후 첫 사용자 받기 시작
→ 피드백 루프 시작다음 모듈
CH.71~80 "이커머스 해부".
AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
내 프로젝트의 SaaS 보일러플레이트 부분을 분석해서 실전 분석 + 개선 우선순위를 알려줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
SaaS 보일러플레이트 관련 실제 서비스 5개를 비교 분석해서 패턴 추출를 알려줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
내 코드베이스에서 SaaS 보일러플레이트 최적화 가능 위치를 보고해줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
2026년 한국 풀스택 시장의 SaaS 보일러플레이트 트렌드를 솔직히 알려줘.
⭐ 이것만 기억하세요
SaaS 종합: 완성된 SaaS 보일러플레이트는 이 3가지만 확실히 잡으세요
1.SaaS 보일러플레이트 = 1주 만에 출시 가능 — Vercel + Supabase + Stripe + Clerk
2.풀 폴더 구조 + Prisma 스키마 = 신규 프로젝트 30분 셋업
3.출시 체크리스트로 누락 방지 — 기능·페이지·인프라·마케팅 4영역
공유하기
진행도 70 / 90