ed18c9d3182d2b01aeac6393489e1e3fc74cba07
Nueva tabla creative_pipeline (separada de creatives, que es solo para anuncios aprobados Meta/Google): Propuesta -> En diseño -> Revisión interna -> Aprobado/Rechazado -> Publicado, con RLS por tenant. - sql/creative_pipeline.sql: esquema + políticas RLS - /api/creative-pipeline: CRUD con transiciones restringidas (el cliente solo puede aprobar/rechazar una pieza en revisión interna; el resto de movimientos y la creación son solo agencia) - /api/creative-pipeline/upload + /media: portada y slides de carrusel sobre el bucket privado tenant-assets ya existente - CreativePipelineBoard: tablero agrupado por mes, con subida de imagen inline y acciones según rol - Alta del módulo "Panel de Creatividades" en tenant-modules y sidebar Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WqGTGPznxTp8mwMg6Yv4Ew
4Ventures — Centro de Mando del Cliente
Portal ejecutivo multi-tenant · source of truth para app.4ventures.es.
Operador: marketing@4ventures.es
Next.js 15 + Supabase + n8n (agentes/webhooks fuera de este repo).
Quick start
cp .env.example .env.local # keys rotadas — nunca las del PDF histórico
npm install
npm run dev
Health: GET /api/health
Docs
- docs/IDENTITY.md
- SECURITY.md
- docs/CONVERGENCE.md
- docs/OPERATOR.md — alta
marketing@4ventures.es - docs/PUSH.md — push a Gitea con token
Rutas
| Path | Uso |
|---|---|
/login |
Supabase Auth |
/dashboard/kpis |
KPIs |
/dashboard/seguimiento |
Timeline Superhuman + evolución canales |
/dashboard/estrategia |
Targets + simulador |
/dashboard/activos |
Docs aprobados (RLS) |
/dashboard/creatives |
Creatividades (en curso) |
/dashboard/asistente |
Chat RPC |
/dashboard/agencia |
Cross-tenant (admin/team) |
/dashboard/calendario |
Editorial RRSS |
/_4v_attr.js |
Script atribución |
Description
Languages
TypeScript
90.2%
Python
7.2%
HTML
2.3%
JavaScript
0.2%