Visión General del Backoffice
El Backoffice de Percus es la plataforma web central a través de la cual los clientes gestionan sus campañas de video personalizado y a través de la cual el equipo interno de Percus opera las cuentas. Es una aplicación multi-tenant en Next.js 15 respaldada por cuatro microservicios independientes en .NET 10.
Dos audiencias
| Audiencia | Quiénes | Qué hacen |
|---|---|---|
| Usuarios del cliente | Gerentes de marketing, líderes de proyecto, desarrolladores, motion designers | Crear y gestionar proyectos, subir templates, publicar en canales de distribución, generar páginas de aterrizaje |
| Internos de Percus | Account managers, administradores de plataforma | Gestionar organizaciones, asignar roles de sistema, supervisar todas las cuentas |
Arquitectura general
La plataforma se divide en cuatro servicios backend, cada uno dueño de sus propios datos:
- Identity Service — usuarios, organizaciones, roles, invitaciones, autenticación (PostgreSQL)
- Campaign Service — proyectos, templates, canales de distribución, páginas de aterrizaje, credenciales de API (PostgreSQL)
- Render Data Service — datos de personalización por destinatario para el modelo alojado (DynamoDB, no PostgreSQL)
- Analytics Service — ingesta de eventos de reproducción e interacción, rollups y métricas
Ningún servicio lee directamente la base de datos de otro.
El frontend (Next.js 15, App Router) se comunica con ambos servicios y usa NextAuth.js para la gestión de sesiones.
Módulos principales
Proyectos
La unidad organizativa principal. Un proyecto representa una campaña de video personalizado. Cada proyecto contiene templates, canales de distribución y opcionalmente páginas de aterrizaje públicas. Ver Proyectos.
Templates
Paquetes de template de video subidos por motion designers. Soporta dos tipos: basado en Lottie (animación JSON) y Raster (video MP4 + overlay Lottie). Los templates son versionados y avanzan a través de un flujo testing → producción. Ver Templates.
Canales de distribución
Cada proyecto tiene tres canales fijos: DEV, STAGING y PROD. Publicar un template en un canal lo activa para ese entorno. Ver Canales de distribución.
Public Video Shares
Páginas de aterrizaje compartibles que sirven un video personalizado para un canal determinado. Pueden habilitarse, deshabilitarse y rotar sus URLs. Ver Public Video Shares.
Credenciales de API
Credenciales por proyecto (clave + secreto) usadas para autenticar el acceso programático. Ver Public Video Shares.
Roles y permisos
El acceso se controla mediante roles por organización asignados por usuario. Ver Roles y permisos.
Analítica
Un dashboard que reporta reproducción, completitud, click-through de CTAs y respuestas de encuestas, acotado a la organización. Alimentado por el Analytics Service.
Integración
Donde se cargan los datos de personalización por destinatario para el modelo alojado en Percus, y donde se obtiene el snippet de embed de un canal. Ver Manejo de datos para cómo se almacenan esos datos, y la Referencia del snippet para sus atributos.
Subtítulos y transcripciones
Los templates pueden llevar pistas de subtítulos temporizados por idioma y una transcripción de texto completo. Ambos se autoran en el plugin de diseño y viajan en el manifiesto — ver la Referencia del manifiesto del player.
Stack tecnológico
| Capa | Tecnología |
|---|---|
| Frontend | Next.js 15, React 19, TypeScript, Tailwind CSS |
| Autenticación | NextAuth.js 5 — Google OAuth 2.0 y Microsoft Entra ID |
| Backend | .NET 10, C#, ASP.NET Core |
| Arquitectura | Clean Architecture, DDD, CQRS |
| Base de datos | Aurora PostgreSQL 17 con Entity Framework Core; DynamoDB para render data |
| Infraestructura | AWS Lambda, Aurora Serverless v2, S3, CloudFront |
| CI/CD | GitHub Actions, AWS CDK |