Ir al contenido

está guía contiene la configuración completa del entorno de desarrollo local para TalentBricksAI, incluyendo Stripe CLI, AWS S3, y configuración avanzada.

  • Node.js v20+ (recomendado: usar nvm)
  • npm v10+
  • Docker (para PostgreSQL local)
  • Wasp CLI v0.21+
Ventana de terminal
# Instalar Wasp CLI
curl -sSL https://get.wasp-lang.dev/installer.sh | sh
# Verificar instalación
wasp versión
Ventana de terminal
git clone <repo-url>
cd TalentBricksAI
Ventana de terminal
cd app
npm install

Crear archivos de variables de entorno en el directorio app/:

.env.server

# Base de datos (Wasp la configura automaticamente en dev)
# DATABASE_URL=postgresql://...
# JWT Secret (generar uno único)
JWT_SECRET=tu-jwt-secret-muy-seguro
# Stripe
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
# AWS S3 (para videos)
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_S3_BUCKET=...
AWS_S3_REGION=us-east-1
# Email (SendGrid para produccion)
SENDGRID_API_KEY=...
# Notificaciones de ventas B2B (opcional)
# Recibe un email cada vez que alguien llena el formulario de demo en /teams
SALES_NOTIFICATION_EMAIL=ventas@tuempresa.com
# OpenAI (opcional, para features de AI)
OPENAI_API_KEY=sk-...

.env.client

REACT_APP_STRIPE_PUBLISHABLE_KEY=pk_test_...

En una terminal separada (dejar corriendo):

Ventana de terminal
cd app
wasp db start

Esto inicia un contenedor Docker con PostgreSQL.

Ventana de terminal
wasp db migrate-dev

Si es la primera vez, te pedira un nombre para la migración (ej: “init”).

Ventana de terminal
# Crear cursos, usuarios de prueba y certificados
wasp db seed seedAllDummyData
# Crear usuario administrador
wasp db seed seedAdminUser

Esto crea 4 cursos de muestra, 50 usuarios de prueba, y un usuario con certificado. Ver Datos de Desarrollo para más detalles.

UsuarioEmailPassword
Test Usertest@talentbricks.aiTest123!
Adminadmin@talentbricks.aiAdmin123!

El usuario admin tiene acceso al panel de administración en /admin.

En otra terminal:

Ventana de terminal
cd app
wasp start

La aplicación estara disponible en:

Ventana de terminal
# macOS
brew install stripe/stripe-cli/stripe
# Verificar
stripe --versión
Ventana de terminal
stripe login

En una terminal separada:

Ventana de terminal
stripe listen --forward-to localhost:3001/payments-webhook

Esto te dara un webhook secret que debes poner en .env.server:

STRIPE_WEBHOOK_SECRET=whsec_...

Configuración de Storage (AWS S3 o Azure Blob)

Sección titulada «Configuración de Storage (AWS S3 o Azure Blob)»

La aplicación soporta dos proveedores de almacenamiento. Se selecciona con la variable STORAGE_PROVIDER (por defecto: aws).

Agrega estas variables a .env.server:

STORAGE_PROVIDER=aws
AWS_S3_IAM_ACCESS_KEY=...
AWS_S3_IAM_SECRET_KEY=...
AWS_S3_FILES_BUCKET=tu-bucket
AWS_S3_REGION=us-east-1
Ventana de terminal
aws s3 mb s3://talentbricksai-videos --región us-east-1

Ir a S3 > Bucket > Permissions > CORS configuration:

[
{
"AllowedHeaders": ["*"],
"AllowedMethods": ["GET", "PUT", "POST"],
"AllowedOrigins": ["http://localhost:3000"],
"ExposeHeaders": []
}
]

Para producción, configurar una distribución CloudFront apuntando al bucket S3.

Agrega estas variables a .env.server:

STORAGE_PROVIDER=azure
AZURE_STORAGE_ACCOUNT_NAME=tu-cuenta
AZURE_STORAGE_ACCOUNT_KEY=tu-clave
AZURE_STORAGE_CONTAINER_NAME=tu-contenedor

El contenedor debe tener acceso privado (la aplicación genera SAS URLs firmadas con TTL de 1 hora).

Comandodescripción
wasp startIniciar servidor de desarrollo
wasp db startIniciar PostgreSQL
wasp db migrate-devCrear/aplicar migraciones
wasp db studioAbrir Prisma Studio (GUI de BD)
wasp db seedEjecutar seed script
wasp cleanLimpiar cache de Wasp
wasp buildBuild para producción
  1. Abrir http://localhost:3000
  2. Crear una cuenta de prueba
  3. Verificar que el email de verificación aparece en la consola (dev mode)
  4. Navegar por la aplicación
  • Verificar que Docker este corriendo
  • Intentar docker system prune para limpiar contenedores viejos
Ventana de terminal
cd app
rm -rf node_modules .wasp
npm install
wasp start
Ventana de terminal
wasp db migrate-dev
# Reiniciar wasp start
Ventana de terminal
# Encontrar el proceso
lsof -i :3000
# Matar el proceso
kill -9 <PID>

Si ves este error al iniciar el servidor, significa que faltan variables de entorno requeridas:

🚨 ENVIRONMENT VALIDATION FAILED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
REQUIRED Variables Missing (2)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
❌ STRIPE_API_KEY
Stripe API key for payment processing
Get it: https://dashboard.stripe.com/apikeys

Solución:

  1. Verificar que tienes .env.server en app/
  2. Agregar las variables que faltan según el error
  3. En desarrollo, puedes usar valores de test:
    app/.env.server
    STRIPE_API_KEY=sk_test_...
    STRIPE_WEBHOOK_SECRET=whsec_...

Ver Variables de Entorno para referencia completa.

Nota: Solo variables marcadas como productionOnly: true en el validador son opcionales en desarrollo.