Strapi es un CMS de código abierto basado en Node.js que te permite crear una API y gestionar su contenido, lo increíble de Strapi es que en cuestión de minutos puedes tener lista tu API para lanzar a producción. Strapi es usada por varias empresas como IBM, Walmart, Nasa, Delivery Hero, etc.
Para comenzar hay que definir y saber que es un CMS y en pocas palabras un sistema gestor de contenidos, o CMS por sus siglas en inglés, es un software que corre dentro de un navegador que te permite administrar el contenido de un sitio web.
Open Source: Todo el código base está disponible en GitHub y es mantenido por cientos de contribuyentes.
Personalizable: Fácilmente puedes personalizar el panel de administración como así también la API. Incluso puedes ampliar la gestión de contenidos usando complementos personalizados.
RESTful o GraphQL: Consume la API desde cualquier cliente (React, Vue, Angular), aplicaciones móviles o incluso dispositivos IoT, utilizando REST o GraphQL.
Roles y permisos: Strapi tiene un sistema de usuario incorporado que te permite administrar quién puede acceder a qué.
Para poder crear tú API en Strapi tienes que usar el generador de tipos de contenido y es un complemento principal de Strapi. Es una función que siempre está activada de forma predeterminada y no se puede eliminar. Sin embargo, solo es accesible cuando la aplicación se encuentra en un entorno de desarrollo.
Collections Types: Sirven cuando vas a repetir la misma estructura de contenido como publicaciones de blog, productos, usuarios o cualquier lista de contenido que se te ocurra.
Single Types: Crea páginas únicas que tengan contenido exclusivo como titulares de página de inicio, menú, configuración de SEO.
Dentro de los Collections Types y Single Types puedes manejar:
Fields: Los campos donde introduces tu contenido.
Repeatable components: Los componentes son una combinación de varios campos, que se agrupan en la vista de edición. Escribir su contenido funciona exactamente igual que para los campos independientes, pero hay algunas especificidades en los componentes. Hay 2 tipos de componentes: componentes repetibles y no repetibles.
Dynamic zones: Las zonas dinámicas son una combinación de componentes, que a su vez se componen de varios campos. Escribir el contenido de una zona dinámica requiere pasos adicionales para acceder a los campos.
Strapi es una herramienta fantástica para poder crear un CMS y una API de forma rápida y sencilla. Así como también una gran solución para frontend developers que necesitan crear alguna API para sus aplicaciones sin tener grandes conocimientos en backend.