문서
StartFast Pro
StartFast Pro는 인증, 결제, 팀, i18n, 분석, 블로그, 깔끔한 UI 시스템을 갖춤 프리미엄 프로덕션 준비 Next.js 15 보일러플레이트입니다.
이 문서를 통해 빠르게 시작하고 SaaS 제품에 맞게 StartFast Pro를 커스터마이즈할 수 있습니다.
포함 내용
- •Next.js 15 App Router (React 19 및 서버 컴포넌트)
- •Better Auth 인증 (이메일, Google, GitHub OAuth)
- •PostgreSQL 데이터베이스 (Drizzle ORM)
- •Stripe 결제 (구독 및 Webhooks)
- •Resend를 통한 이메일 발송
- •next-intl 국제화 (7개 언어)
- •팀 및 RBAC (조직, 역할, 권한)
- •PostHog 분석 통합
- •블로그 시스템 (Markdown, SEO, 읽기 시간)
- •관리 대시보드 (사용자, 주문, 분석, 콘텐츠)
- •Playwright E2E 테스트
- •TypeScript 엔드투엔드 타입 안전성
빠른 시작
git clone https://github.com/Harries/startfast-pro.git my-saascd my-saas && npm installcp .env.example .env.localnpm run db:pushnpm run devhttp://localhost:3000 열기
환경 변수
.env.example을 .env.local로 복사하고 설정:
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_APP_NAME=StartFast Pro
# Database (Postgres)
DATABASE_URL=postgresql://username:password@localhost:5432/startfast_pro
# Authentication (Better-Auth)
BETTER_AUTH_SECRET=your-secret-key-at-least-32-characters
BETTER_AUTH_URL=http://localhost:3000
# Email (Resend)
RESEND_API_KEY=re_xxxxx
EMAIL_FROM=onboarding@yourdomain.com
# Stripe
STRIPE_SECRET_KEY=sk_test_xxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxx
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_xxxxx
# Optional: Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Optional: GitHub OAuth
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# Analytics (PostHog)
NEXT_PUBLIC_POSTHOG_KEY=
NEXT_PUBLIC_POSTHOG_HOST=https://app.posthog.com
# Default Locale
NEXT_PUBLIC_DEFAULT_LOCALE=en데이터베이스 설정
StartFast Pro는 PostgreSQL과 Drizzle ORM을 사용합니다. 서버리스 PostgreSQL에는 Neon을 추천합니다.
- 1.PostgreSQL 데이터베이스 생성 (로컬 또는 Neon)
- 2..env.local에 DATABASE_URL 설정
- 3.npm run db:push로 스키마를 데이터베이스에 푸시
- 4.npm run db:studio로 Drizzle Studio를 사용하여 데이터 보기/편집
- 5.npm run db:generate로 마이그레이션 생성
Schema: 데이터베이스 스키마는 src/db/schema.ts에서 Drizzle의 TypeScript 우선 방식으로 정의됩니다. DB 클라이언트는 src/db/index.ts에서 내보냅니다.
인증
StartFast Pro는 Better Auth와 Drizzle 어댑터를 사용하여 인증합니다. 이메일/비밀번호 및 소셜 OAuth 지원.
- 1.BETTER_AUTH_SECRET 설정 (최소 32자)
- 2.BETTER_AUTH_URL을 앱 URL로 설정
- 3.(선택) Google OAuth 설정: GOOGLE_CLIENT_ID 및 GOOGLE_CLIENT_SECRET
- 4.(선택) GitHub OAuth 설정: GITHUB_CLIENT_ID 및 GITHUB_CLIENT_SECRET
Tip: 인증 설정은 src/lib/auth.ts (서버) 및 src/lib/auth-client.ts (클라이언트)에 있습니다. 세션은 기본 7일 후 만료.
Stripe 결제
StartFast Pro는 Stripe 구독과 Webhook 처리를 지원합니다.
- 1.Stripe Dashboard → API Keys에서 API 키 가져오기
- 2.STRIPE_SECRET_KEY, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY 설정
- 3.https://your-domain.com/api/webhook/stripe에 Webhook 엔드포인트 생성
- 4.Webhook 서명 시크릿을 STRIPE_WEBHOOK_SECRET에 복사
Tip: 로컬 테스트에는 stripe listen --forward-to localhost:3000/api/webhook/stripe 사용
이메일 설정
StartFast Pro는 트랜잭션 이메일에 Resend를 사용합니다.
- 1.Resend 계정 생성
- 2.API 키를 가져와 RESEND_API_KEY 설정
- 3.EMAIL_FROM을 인증된 발신자 주소로 설정
RESEND_API_KEY=re_xxxxx
EMAIL_FROM=onboarding@yourdomain.com국제화
StartFast Pro는 next-intl을 통한 다국어 지원을 포함하며, 7개 언어가 내장되어 있습니다.
- • 영어 (en)
- • 중국어 (zh)
- • 일본어 (ja)
- • 한국어 (ko)
- • 독일어 (de)
- • 프랑스어 (fr)
- • 스페인어 (es)
번역 파일은 src/i18n/messages/에 있습니다. 기본 로케일 설정:
NEXT_PUBLIC_DEFAULT_LOCALE=en분석
StartFast Pro는 PostHog과 통합하여 프로덕트 분석을 제공합니다. 가입, 구독, 팀 액션 등의 이벤트 트래커가 포함되어 있습니다.
- 1.PostHog 계정 생성
- 2.NEXT_PUBLIC_POSTHOG_KEY 및 NEXT_PUBLIC_POSTHOG_HOST 설정
Tip: 분석 헬퍼는 src/lib/analytics.ts에 있습니다. analytics.signUp(), analytics.subscriptionStarted() 등 사용.
팀 및 역할
StartFast Pro에는 완전한 조직 및 역할 기반 액세스 제어(RBAC) 시스템이 포함되어 있습니다.
역할
- • 소유자 — 전체 액세스 권한. 소유권 이전 가능.
- • 관리자 — 멤버, 설정 및 대부분의 리소스 관리.
- • 멤버 — 콘텐츠 생성 및 편집. 제한된 설정 액세스.
- • 뷰어 — 읽기 전용 액세스.
Tip: 권한은 src/lib/permissions.ts에 정의되어 있습니다. hasPermission(role, permission)으로 액세스 확인.
배포
몇 분 만에 Vercel에 배포:
- 1.코드를 GitHub에 푸시
- 2.Vercel에서 리포지토리 가져오기
- 3.모든 환경 변수 추가
- 4.배포!
Important: 배포 후, Stripe Webhook URL을 프로덕션 도메인으로 업데이트하세요.
지원
도움이 필요하신가요? 연락해 주세요:
- • Email: support@startfast.dev
- • GitHub: @Harries
- • Twitter: @HarriesSteele