Documentación
StartFast Pro
StartFast Pro es una plantilla premium de Next.js 15 lista para producción con autenticación, pagos, equipos, i18n, analíticas, blog y un sistema de UI limpio — todo preconfigurado.
Esta documentación te ayudará a comenzar rápidamente y personalizar StartFast Pro para tu producto SaaS.
Lo que obtienes
- •Next.js 15 App Router con React 19 y componentes de servidor
- •Autenticación con Better Auth (Email, Google, GitHub OAuth)
- •Base de datos PostgreSQL con Drizzle ORM
- •Pagos con Stripe (suscripciones y webhooks)
- •Envío de emails vía Resend
- •Internacionalización con next-intl (7 idiomas)
- •Equipos y RBAC con organizaciones, roles y permisos
- •Analíticas con integración de PostHog
- •Sistema de blog con Markdown, SEO y tiempo de lectura
- •Panel de administración para usuarios, pedidos, analíticas y contenido
- •Pruebas E2E con Playwright
- •TypeScript con seguridad de tipos de extremo a extremo
Inicio 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
Variables de entorno
Copia .env.example a .env.local y configura:
# 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=enConfiguración de base de datos
StartFast Pro usa PostgreSQL con Drizzle ORM. Recomendamos Neon para PostgreSQL sin servidor.
- 1.Crear una base de datos PostgreSQL (local o Neon)
- 2.Configurar DATABASE_URL en tu .env.local
- 3.Ejecutar npm run db:push para enviar el esquema a la base de datos
- 4.Usar npm run db:studio para ver/editar datos con Drizzle Studio
- 5.Usar npm run db:generate para generar migraciones
Schema: El esquema de la base de datos se define en src/db/schema.ts usando el enfoque TypeScript-first de Drizzle. El cliente DB se exporta desde src/db/index.ts.
Autenticación
StartFast Pro usa Better Auth con adaptador Drizzle para autenticación. Soporta email/contraseña y OAuth social.
- 1.Configurar BETTER_AUTH_SECRET (al menos 32 caracteres)
- 2.Configurar BETTER_AUTH_URL con la URL de tu app
- 3.(Opcional) Configurar Google OAuth: GOOGLE_CLIENT_ID y GOOGLE_CLIENT_SECRET
- 4.(Opcional) Configurar GitHub OAuth: GITHUB_CLIENT_ID y GITHUB_CLIENT_SECRET
Tip: La config de auth está en src/lib/auth.ts (servidor) y src/lib/auth-client.ts (cliente). Las sesiones expiran después de 7 días por defecto.
Pagos con Stripe
StartFast Pro soporta suscripciones de Stripe con manejo de webhooks.
- 1.Obtener tus claves API desde Stripe Dashboard → API Keys
- 2.Configurar STRIPE_SECRET_KEY, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
- 3.Crear un endpoint de webhook en https://your-domain.com/api/webhook/stripe
- 4.Copiar el secreto de firma del webhook a STRIPE_WEBHOOK_SECRET
Tip: Para pruebas locales, usa stripe listen --forward-to localhost:3000/api/webhook/stripe
Configuración de email
StartFast Pro usa Resend para emails transaccionales.
- 1.Crear una cuenta en Resend
- 2.Obtener tu clave API y configurar RESEND_API_KEY
- 3.Configurar EMAIL_FROM con tu dirección de remitente verificada
RESEND_API_KEY=re_xxxxx
EMAIL_FROM=onboarding@yourdomain.comInternacionalización
StartFast Pro incluye soporte multi-idioma vía next-intl con 7 idiomas integrados.
- • Inglés (en)
- • Chino (zh)
- • Japonés (ja)
- • Coreano (ko)
- • Alemán (de)
- • Francés (fr)
- • Español (es)
Los archivos de traducción están en src/i18n/messages/. Configura el idioma predeterminado con:
NEXT_PUBLIC_DEFAULT_LOCALE=enAnalíticas
StartFast Pro se integra con PostHog para analíticas de producto. Incluye rastreadores de eventos para registros, suscripciones, acciones de equipo y más.
- 1.Crear una cuenta en PostHog
- 2.Configurar NEXT_PUBLIC_POSTHOG_KEY y NEXT_PUBLIC_POSTHOG_HOST
Tip: Los helpers de analíticas están en src/lib/analytics.ts. Usa analytics.signUp(), analytics.subscriptionStarted(), etc.
Equipos y roles
StartFast Pro incluye un sistema completo de organización y control de acceso basado en roles (RBAC).
Roles
- • Propietario — Acceso completo. Puede transferir la propiedad.
- • Admin — Gestionar miembros, configuración y la mayoría de recursos.
- • Miembro — Crear y editar contenido. Acceso limitado a configuración.
- • Visor — Acceso de solo lectura.
Tip: Los permisos se definen en src/lib/permissions.ts. Usa hasPermission(role, permission) para verificar acceso.
Despliegue
Despliega en Vercel en minutos:
- 1.Sube tu código a GitHub
- 2.Importa el repo en Vercel
- 3.Añade todas las variables de entorno
- 4.¡Despliega!
Important: Después de desplegar, actualiza tu URL de webhook de Stripe a tu dominio de producción.
Soporte
¿Necesitas ayuda? Contáctanos:
- • Email: support@startfast.dev
- • GitHub: @Harries
- • Twitter: @HarriesSteele