🏆

SaaS Completo con IA

👨‍🍳👑 Master Chef⏱️ 120+ minutos

📋 Prerequisitos sugeridos

  • Todos los niveles anteriores

Lo que vas a construir

Un SaaS completo con todo lo que necesitas para lanzar: autenticacion, pagos con suscripciones, y una feature de IA.

Usuarios se registran con Google, pagan una suscripcion mensual con Stripe, y acceden a funcionalidades de IA (chat, analisis, o generacion de contenido). Base de datos PostgreSQL, cache con Redis, y deploy listo con Docker.

Al terminar tendras la arquitectura completa de un SaaS moderno. Desde el login hasta el cobro mensual, con una funcionalidad de IA que diferencia tu producto. Es el proyecto que integra todo lo que aprendiste en los niveles anteriores.


El prompt para empezar

Diseña la arquitectura de un SaaS con:

  1. Auth con Google (Firebase)
  2. Pagos con Stripe (suscripciones)
  3. Feature de IA (elige: chat, análisis, generación)
  4. Base de datos PostgreSQL
  5. Deploy en Docker

Arquitectura sugerida

┌─────────────────────────────────────────────────────┐
│                    FRONTEND                          │
│                  (Next.js 15)                        │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐             │
│  │  Auth   │  │ Billing │  │   AI    │             │
│  │  Page   │  │  Page   │  │  Chat   │             │
│  └────┬────┘  └────┬────┘  └────┬────┘             │
└───────┼────────────┼────────────┼───────────────────┘
        │            │            │
        ▼            ▼            ▼
┌─────────────────────────────────────────────────────┐
│                     API                              │
│                 (Next.js API)                        │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐             │
│  │Firebase │  │ Stripe  │  │ Gemini  │             │
│  │  Auth   │  │Webhooks │  │   API   │             │
│  └────┬────┘  └────┬────┘  └────┬────┘             │
└───────┼────────────┼────────────┼───────────────────┘
        │            │            │
        ▼            ▼            ▼
┌─────────────────────────────────────────────────────┐
│                   STORAGE                            │
│  ┌─────────────┐  ┌─────────────┐                   │
│  │ PostgreSQL  │  │    Redis    │                   │
│  │   (users,   │  │   (cache,   │                   │
│  │   chats)    │  │  sessions)  │                   │
│  └─────────────┘  └─────────────┘                   │
└─────────────────────────────────────────────────────┘

Componentes clave

1. Auth

// Usa lo aprendido en auth-firebase
import { signInWithGoogle } from './firebase'

2. Pagos

// Usa lo aprendido en payment-stripe
import { createCheckoutSession } from './stripe'

3. IA

// Usa lo aprendido en chatbot-gemini
import { generateResponse } from './gemini'

4. Database

// Usa lo aprendido en crud-postgres
import { prisma } from './db'

Modelo de datos

model User {
  id            String   @id @default(cuid())
  email         String   @unique
  plan          Plan     @default(FREE)
  stripeId      String?
  chats         Chat[]
  tokensUsed    Int      @default(0)
  createdAt     DateTime @default(now())
}

model Chat {
  id        String    @id @default(cuid())
  userId    String
  user      User      @relation(fields: [userId], references: [id])
  messages  Message[]
  createdAt DateTime  @default(now())
}

model Message {
  id        String   @id @default(cuid())
  chatId    String
  chat      Chat     @relation(fields: [chatId], references: [id])
  role      String   // user | assistant
  content   String
  createdAt DateTime @default(now())
}

enum Plan {
  FREE
  PRO
  ENTERPRISE
}

Límites por plan

FeatureFreeProEnterprise
Mensajes/mes10010,000Ilimitado
ModelosGemini FlashGemini ProTodos
Historial7 días1 añoIlimitado
SoporteComunidadEmailDedicado

Docker Compose

version: '3.8'
services:
  app:
    build: .
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://...
      - GEMINI_API_KEY=...
      - STRIPE_SECRET_KEY=...
    depends_on:
      - db
      - redis

  db:
    image: postgres:16
    volumes:
      - pgdata:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine

volumes:
  pgdata:

Felicitaciones

Has completado todos los niveles de luxIA Cooking.

Ahora tienes las habilidades para construir productos reales con IA.

Volver al inicio