Sistema multi-tenant de detección de toxicidad y generación de roasts automáticos para redes sociales.
- Frontend: http://localhost:3001 (PRIMARY - always use this)
- Backend: http://localhost:3000
- Branch:
feat/disable-development-features(current active development)
# Clonar y configurar
git clone https://github.com/Eibon7/roastr-ai.git
cd roastr-ai
npm install
# Frontend
cd frontend && npm install
npm start # Abre http://localhost:3001 (usa craco, no react-scripts)
# Backend (nueva terminal)
npm run start:api # API en http://localhost:3000¡No necesitas APIs externas! El sistema funciona en Mock Mode por defecto.
Note: Frontend now uses @craco/craco instead of react-scripts. See Migration Guide for details.
Nuevo sistema de dashboard con:
- ✅ 7 widgets interactivos reordenables
- ✅ Mock-first design (funciona sin APIs externas)
- ✅ 6 páginas completas (Dashboard, Compose, Integrations, Billing, Settings, Logs)
- ✅ Diseño responsivo con shadcn/ui + Tailwind CSS
- ✅ Sistema de feature flags centralizado
- ✅ Tests completos (Jest + React Testing Library)
- Generación de roasts usando OpenAI GPT-4o mini
- Sistema RQC (Roast Quality Control) multi-plan con moderación inteligente
- Detección automática de idioma (español/inglés)
- Arquitectura multi-tenant con planes de suscripción (Free, Pro, Creator+)
- 9 integraciones de plataformas sociales (Twitter, YouTube, Instagram, etc.)
- Shield Protection - Moderación automática con acciones escalonadas
- Worker system dedicado para procesamiento en background
- Mock Mode automático cuando faltan API keys
- Widget system modular y extensible
- Real-time updates en widgets seleccionados
- Responsive design para mobile y desktop
- Filtros avanzados en logs y data tables
- Estados de loading y error handling completo
Arquitectura
El proyecto usa una arquitectura simple basada en Node.js + Express: • Backend: src/index.js - Servidor Express con endpoints de API • Frontend: public/index.html - Interfaz web básica con HTML/CSS/JS vanilla • Despliegue: Vercel serverless functions usando vercel.json • CLI: src/cli.js - Herramienta de línea de comandos para testing local • Integraciones: src/integrations/ - Módulos para redes sociales • Sistema multi-tenant: Autenticación y espacio de usuario con Supabase
La aplicación se ejecuta como una función serverless en Vercel, lo que permite escalabilidad automática y despliegues rápidos.
Endpoints
GET /
Sirve el frontend web desde public/index.html.
POST /roast
Genera un roast usando la API de OpenAI.
{ "message": "Tu comentario aquí" }
Respuesta:
{ "roast": "Roast generado por CSV" }
Roastr.ai incluye un sistema avanzado de control de calidad que funciona según el plan del usuario:
Los planes Free y Pro utilizan moderación básica integrada directamente en el prompt de generación:
- ✅ Sin llamadas extra a GPT (optimizado para costes)
- ✅ Cumplimiento automático de normas de plataformas
- ✅ Intensidad controlada según configuración del usuario
- ✅ Detección automática de idioma
- ✅ Respuesta garantizada siempre
Los usuarios Creator+ obtienen acceso al sistema RQC avanzado con 3 revisores paralelos:
- Verifica cumplimiento de políticas de plataformas
- Controla nivel de intensidad configurado (1-5)
- Decisión final: Si falla, siempre se regenera
- Evalúa calidad del humor y creatividad
- Comprueba que el roast sea suficientemente "punchy"
- Detecta contenido genérico o aburrido
- Verifica adherencia al tono configurado
- Aplica prompts personalizados configurados por admin
- Mantiene consistencia con preferencias del usuario
3 verdes → ✅ Publicar inmediatamente
2 verdes (Moderador ✅) → ✅ Publicar en modo Pro
Moderador ❌ → 🔄 Regenerar (obligatorio)
< 2 verdes → 🔄 Regenerar con feedback
Max intentos → 🛡️ Fallback seguro
- Nivel de intensidad: 1 (suave) a 5 (intenso)
- RQC habilitado: Solo Creator+ (configurable)
- Prompt personalizado: Solo editable por administradores
- Límite de regeneraciones: Configurable por plan (Free/Pro: 0, Creator+: 3)
- 💰 Optimización de costes: Free/Pro usan 1 llamada API
- 🎯 Control de calidad: Creator+ obtiene revisión profesional
- 🛡️ Seguridad de plataforma: Todo contenido cumple guidelines
- ⚡ Alta velocidad: Revisores ejecutan en paralelo
- 🔄 Garantía de respuesta: Sistema de fallback siempre funciona
Ver comandos disponibles con detalles completos en CLAUDE.md.
Roastr.ai está diseñado para funcionar sin claves externas usando mocks por defecto. Ideal para desarrollo y testing local.
📚 Ver guía completa de testing - Documentación exhaustiva sobre comandos, entornos, CI/CD, y troubleshooting.
Los tests están configurados para pasar sin necesidad de claves de servicios externos:
# Ejecutar todos los tests (funciona sin claves)
npm test
# Tests específicos
npm test -- tests/unit/
npm test -- tests/integration/
# Tests con cobertura
npm run test:coverage- RQC desactivado:
ENABLE_RQC=falsepor defecto en tests - Servicios externos: Auto-fallback a mocks cuando faltan claves
- OpenAI: Usa mock generator si
OPENAI_API_KEYno está presente - Supabase: Mock database para todos los tests
- Stripe: Mock billing sin claves reales
- Redes sociales: Mock integrations para Twitter, YouTube, etc.
# Solo necesarias para funcionalidad real (no para tests)
OPENAI_API_KEY=your_key_here # Si quieres IA real
SUPABASE_URL=your_supabase_url # Para BD real
STRIPE_SECRET_KEY=sk_... # Para billing real
ENABLE_RQC=true # Para habilitar RQC avanzadoCuando faltan claves, los servicios automáticamente usan mocks:
- OpenAI faltante → Mock roast generator
- Supabase faltante → Mock database responses
- Stripe faltante → Mock billing endpoints
- API keys sociales → Mock platform integrations
Esto permite desarrollo y testing completo sin configuración compleja.
Para desarrolladores, ver la documentación técnica completa y changelog en CHANGELOG.md.Tu roast generado por IA" }
POST /csv-roast
Genera un roast simulado usando un sistema de plantillas (actualmente mock, futura integración real).
{ "message": "Tu comentario aquí" }
Respuesta:
{ "roast": "Roast generado por CSV" }
Roastr.ai incluye un sistema avanzado de control de calidad que funciona según el plan del usuario:
Los planes Free y Pro utilizan moderación básica integrada directamente en el prompt de generación:
- ✅ Sin llamadas extra a GPT (optimizado para costes)
- ✅ Cumplimiento automático de normas de plataformas
- ✅ Intensidad controlada según configuración del usuario
- ✅ Detección automática de idioma
- ✅ Respuesta garantizada siempre
Los usuarios Creator+ obtienen acceso al sistema RQC avanzado con 3 revisores paralelos:
- Verifica cumplimiento de políticas de plataformas
- Controla nivel de intensidad configurado (1-5)
- Decisión final: Si falla, siempre se regenera
- Evalúa calidad del humor y creatividad
- Comprueba que el roast sea suficientemente "punchy"
- Detecta contenido genérico o aburrido
- Verifica adherencia al tono configurado
- Aplica prompts personalizados configurados por admin
- Mantiene consistencia con preferencias del usuario
3 verdes → ✅ Publicar inmediatamente
2 verdes (Moderador ✅) → ✅ Publicar en modo Pro
Moderador ❌ → 🔄 Regenerar (obligatorio)
< 2 verdes → 🔄 Regenerar con feedback
Max intentos → 🛡️ Fallback seguro
- Nivel de intensidad: 1 (suave) a 5 (intenso)
- RQC habilitado: Solo Creator+ (configurable)
- Prompt personalizado: Solo editable por administradores
- Límite de regeneraciones: Configurable por plan (Free/Pro: 0, Creator+: 3)
- 💰 Optimización de costes: Free/Pro usan 1 llamada API
- 🎯 Control de calidad: Creator+ obtiene revisión profesional
- 🛡️ Seguridad de plataforma: Todo contenido cumple guidelines
- ⚡ Alta velocidad: Revisores ejecutan en paralelo
- 🔄 Garantía de respuesta: Sistema de fallback siempre funciona
Ver comandos disponibles con detalles completos en CLAUDE.md.
Para desarrolladores, ver la documentación técnica completa y changelog en CHANGELOG.md.