Documentação
StartFast Pro
StartFast Pro é um boilerplate premium Next.js 15 pronto para produção com autenticação, pagamentos, equipes, i18n, analytics, blog e um sistema de UI limpo — tudo pré-configurado.
Esta documentação vai te ajudar a começar rapidamente e personalizar o StartFast Pro para seu produto SaaS.
O que você recebe
- •Next.js 15 App Router com React 19 e componentes de servidor
- •Autenticação com Better Auth (E-mail, Google, GitHub OAuth)
- •Banco de dados PostgreSQL com Drizzle ORM
- •Pagamentos Stripe com assinaturas e webhooks
- •Envio de e-mails via Resend
- •Internacionalização com next-intl (7 idiomas)
- •Equipes e RBAC com organizações, funções e permissões
- •Analytics com integração PostHog
- •Sistema de blog com Markdown, SEO e tempo de leitura
- •Painel admin para usuários, pedidos, analytics e conteúdo
- •Testes E2E com Playwright
- •TypeScript com segurança de tipos de ponta a ponta
Início rápido
git clone https://github.com/Harries/startfast-pro.git my-saascd my-saas && npm installcp .env.example .env.localnpm run db:pushnpm run devAbrir http://localhost:3000
Variáveis de ambiente
Copie .env.example para .env.local e configure:
# 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=enConfiguração do banco de dados
StartFast Pro usa PostgreSQL com Drizzle ORM. Recomendamos Neon para PostgreSQL serverless.
- 1.Criar um banco de dados PostgreSQL (local ou Neon)
- 2.Configurar DATABASE_URL no seu .env.local
- 3.Executar npm run db:push para enviar o schema ao banco de dados
- 4.Usar npm run db:studio para ver/editar dados com Drizzle Studio
- 5.Usar npm run db:generate para gerar migrações
Schema: O schema do banco é definido em src/db/schema.ts usando a abordagem TypeScript-first do Drizzle. O cliente DB é exportado de src/db/index.ts.
Autenticação
StartFast Pro usa Better Auth com adaptador Drizzle para autenticação. Suporta e-mail/senha e OAuth social.
- 1.Configurar BETTER_AUTH_SECRET (pelo menos 32 caracteres)
- 2.Configurar BETTER_AUTH_URL com a URL do seu app
- 3.(Opcional) Configurar Google OAuth: GOOGLE_CLIENT_ID e GOOGLE_CLIENT_SECRET
- 4.(Opcional) Configurar GitHub OAuth: GITHUB_CLIENT_ID e GITHUB_CLIENT_SECRET
Tip: A config de auth está em src/lib/auth.ts (servidor) e src/lib/auth-client.ts (cliente). Sessões expiram após 7 dias por padrão.
Pagamentos Stripe
StartFast Pro suporta assinaturas Stripe com tratamento de webhooks.
- 1.Obter suas chaves API em Stripe Dashboard → API Keys
- 2.Configurar STRIPE_SECRET_KEY, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
- 3.Criar um endpoint de webhook em https://your-domain.com/api/webhook/stripe
- 4.Copiar o segredo de assinatura do webhook para STRIPE_WEBHOOK_SECRET
Tip: Para testes locais, use stripe listen --forward-to localhost:3000/api/webhook/stripe
Configuração de e-mail
StartFast Pro usa Resend para e-mails transacionais.
- 1.Criar uma conta no Resend
- 2.Obter sua chave API e configurar RESEND_API_KEY
- 3.Configurar EMAIL_FROM com seu endereço de remetente verificado
RESEND_API_KEY=re_xxxxx
EMAIL_FROM=onboarding@yourdomain.comInternacionalização
StartFast Pro inclui suporte multi-idioma via next-intl com 7 idiomas integrados.
- • Inglês (en)
- • Chinês (zh)
- • Japonês (ja)
- • Coreano (ko)
- • Alemão (de)
- • Francês (fr)
- • Espanhol (es)
Os arquivos de tradução estão em src/i18n/messages/. Configure o locale padrão com:
NEXT_PUBLIC_DEFAULT_LOCALE=enAnalytics
StartFast Pro integra-se com PostHog para analytics de produto. Rastreadores de eventos pré-configurados estão incluídos para cadastros, assinaturas, ações de equipe e mais.
- 1.Criar uma conta no PostHog
- 2.Configurar NEXT_PUBLIC_POSTHOG_KEY e NEXT_PUBLIC_POSTHOG_HOST
Tip: Helpers de analytics estão em src/lib/analytics.ts. Use analytics.signUp(), analytics.subscriptionStarted(), etc.
Equipes e funções
StartFast Pro inclui um sistema completo de organização e controle de acesso baseado em funções (RBAC).
Funções
- • Proprietário — Acesso completo. Pode transferir a propriedade.
- • Admin — Gerenciar membros, configurações e a maioria dos recursos.
- • Membro — Criar e editar conteúdo. Acesso limitado a configurações.
- • Visualizador — Acesso somente leitura.
Tip: Permissões são definidas em src/lib/permissions.ts. Use hasPermission(role, permission) para verificar acesso.
Deploy
Faça deploy na Vercel em minutos:
- 1.Envie seu código para o GitHub
- 2.Importe o repo na Vercel
- 3.Adicione todas as variáveis de ambiente
- 4.Deploy!
Important: Após o deploy, atualize sua URL de webhook do Stripe para seu domínio de produção.
Suporte
Precisa de ajuda? Entre em contato:
- • Email: support@startfast.dev
- • GitHub: @Harries
- • Twitter: @HarriesSteele