CMS de Brainstorming
CMS editorial a medida: una API en Hono sobre Cloudflare Workers y un administrador en Angular, con edición por bloques, autoguardado, historial y vista previa.

El problema
El equipo editorial necesitaba publicar guías y artículos en varios sitios sin pedir cambios de código, y con control sobre quién puede editar qué.
Qué construí
Construí dos repositorios independientes: una API en Hono sobre Cloudflare Workers (Drizzle, PostgreSQL y contrato OpenAPI) y un administrador en Angular con editor de texto enriquecido y por bloques.
Resultado
Un CMS propio con historial, biblioteca de archivos y estado de publicación por sitio.
Decisiones que importaron
- 01
El contrato manda
Las rutas se definen con esquemas Zod que validan las entradas y generan OpenAPI 3.1. Angular importa una copia versionada del contrato y genera sus tipos a partir de ella.
- 02
Autoguardado sin perder cambios
Guarda tras 1,2 segundos de pausa. Ante un conflicto o un error detiene los reintentos y conserva los cambios locales.
- 03
Restaurar sin publicar
El historial permite restaurar una versión como borrador; lo publicado no cambia hasta publicar de nuevo.
- 04
Acceso por invitación
Un administrador único y editores con permisos. Al navegador solo llega la clave pública de Supabase.
Tecnologías
- Angular
- Hono
- Cloudflare Workers
- PostgreSQL
- Drizzle
- OpenAPI
- Supabase
Modelo C4. La línea con pulso es el recorrido principal de una solicitud.
Nivel 1 · quién usa el sistema y con qué se conecta
Nivel 2 · las aplicaciones y almacenes que lo componen
Nivel 3 · los componentes dentro de la API
- Persona
- Sistema
- Contenedor
- Base de datos
- Externo
- Recorrido principal
- 01Editor
- 02Admin Angular
- 03API Hono
- 04PostgreSQL
- 05Publicación por sitio