← Volver a Proyectos
Open Source / Plugin de Strapi

strapi-plugin-form-builder-cms

Un plugin de Strapi que permite a los equipos crear y gestionar formularios directamente desde el CMS — sin esquemas personalizados, endpoints ni interfaz de administración.

StrapiNode.jsTypeScriptReact
strapi-plugin-form-builder-cms

Overview

Desarrollé un plugin personalizado para Strapi v5 que permite crear y gestionar formularios dinámicos directamente desde el CMS, eliminando la necesidad de definir schemas, endpoints y lógica repetida en el frontend.

https://www.npmjs.com/package/strapi-plugin-form-builder-cms


Qué construí

  • Constructor de formularios dentro del panel de administración de Strapi
  • Sistema flexible de campos (tipo, validación, opciones, requerido)
  • Formularios expuestos vía API para renderizado dinámico
  • Arquitectura reutilizable para múltiples proyectos

Cómo funciona

Los formularios se modelan como entidades dentro del CMS. Cada uno contiene un identificador único y una estructura de campos configurable.

El frontend (Next.js, Astro, React, etc.) consume la definición vía API y renderiza el formulario dinámicamente, manteniendo una arquitectura desacoplada.


Decisiones clave

  • CMS como fuente de verdad
  • Renderizado basado en API (frontend como renderer)
  • Plugin reutilizable en lugar de implementación específica
  • Estandarización de schemas entre proyectos

Diferenciación

A diferencia de otros plugins que priorizan features visuales (layouts, lógica condicional), este enfoque prioriza arquitectura y reutilización:

  • Independencia total del frontend
  • Reutilización multi-proyecto
  • Mejor experiencia de desarrollo (DX)
  • Menor acoplamiento y mayor mantenibilidad

Challenges & Trade-offs

  • Flexibilidad vs simplicidad
    Diseñar un schema flexible sin hacerlo complejo para usuarios no técnicos.

  • Validación distribuida
    Parte de la validación vive en el CMS y parte en el frontend, lo que requiere mantener consistencia.

  • Renderizado dinámico vs tipado fuerte
    Se sacrifica tipado estricto en frontend a cambio de mayor flexibilidad.

  • Limitaciones del ecosistema de plugins de Strapi
    Adaptarse a la arquitectura interna y ciclos de vida del admin panel.


Impacto

  • Eliminación de implementaciones repetidas de formularios
  • Reducción significativa del tiempo de desarrollo
  • Autonomía para equipos no técnicos
  • Estandarización de formularios entre proyectos

Tech Stack

  • Node.js + TypeScript
  • Strapi v5
  • React (Strapi Design System)