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 dos 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 dos servicios backend, cada uno con su propio schema de PostgreSQL:
- Identity Service (puerto 5001) — usuarios, organizaciones, roles, invitaciones, autenticación
- Campaign Service (puerto 5000) — proyectos, templates, canales de distribución, páginas de aterrizaje, credenciales de API
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.
Stack tecnológico
| Capa | Tecnología |
|---|---|
| Frontend | Next.js 15, React 19, TypeScript, Tailwind CSS |
| Autenticación | NextAuth.js 5, Google OAuth 2.0 |
| Backend | .NET 10, C#, ASP.NET Core |
| Arquitectura | Clean Architecture, DDD, CQRS |
| Base de datos | PostgreSQL 15, Entity Framework Core |
| Infraestructura | AWS Lambda, Aurora Serverless v2, S3, CloudFront |
| CI/CD | GitHub Actions, AWS CDK |