Quickstarters
CRUD Samples
How to Create a CRUD App with Gatsby?
35 min
introducción en este tutorial, descubrirás cómo construir una aplicación web crud (crear, leer, actualizar, eliminar) utilizando gatsby usaremos back4app como tu backend en la nube para gestionar datos sin esfuerzo esta guía te llevará a través de la configuración de un proyecto de back4app, definiendo un esquema flexible y conectando tu aplicación gatsby con llamadas a la api rest o graphql para realizar operaciones crud inicialmente, configurarás un proyecto de back4app llamado basic crud app gatsby este proyecto te da acceso a una robusta base de datos no relacional diseñarás tu esquema de datos creando manualmente clases y campos en el panel de control de back4app o aprovechando el agente de ia de back4app a continuación, utilizarás la aplicación administrativa de back4app—una interfaz de arrastrar y soltar—para manejar tareas de gestión de datos sin esfuerzo finalmente, integrarás tu aplicación gatsby con la api de back4app (a través de rest o graphql) para ejecutar operaciones crud seguras al final de este tutorial, habrás desarrollado una aplicación gatsby lista para producción que realiza operaciones crud básicas con manejo seguro de datos y autenticación de usuarios conclusiones clave aprende a crear una aplicación crud con gatsby respaldada por un backend de bajo código entiende cómo estructurar tu backend y vincularlo con un sitio moderno de gatsby utiliza la intuitiva admin app de back4app para gestionar la creación, lectura, actualización y eliminación de datos descubre opciones de implementación, incluidas estrategias de contenedorización para tu aplicación gatsby requisitos previos antes de comenzar, asegúrate de tener una cuenta de back4app con un proyecto activo ¿necesitas ayuda? consulta introducción a back4app https //www back4app com/docs/get started/new parse app un entorno de node js con gatsby cli instalado usa node js https //nodejs org/ e instala gatsby a través de npm install g gatsby cli familiaridad con react, graphql y rest apis revisa la documentación de react https //reactjs org/docs/getting started html si es necesario paso 1 – configurando tu proyecto creando un nuevo proyecto en back4app inicia sesión en tu cuenta de back4app haz clic en “nueva app” desde tu panel de control nombra tu proyecto basic crud app gatsby y completa los pasos de configuración crear nuevo proyecto después de la creación, tu proyecto aparecerá en el panel de control, listo para la configuración del backend paso 2 – definiendo tu modelo de datos configurando tu esquema para esta aplicación crud, necesitas configurar varias clases en back4app a continuación se presentan ejemplos de las clases y campos esenciales 1\ clase de artículos esta clase almacena detalles sobre cada artículo campo tipo de dato descripción id objectid identificador único generado automáticamente título cadena nombre del artículo descripción cadena descripción breve del artículo creadoen fecha marca de tiempo cuando se creó el elemento actualizadoen fecha marca de tiempo cuando el artículo fue actualizado por última vez 2\ clase de usuarios esta clase maneja las credenciales de usuario y la autenticación campo tipo de dato descripción id objectid id único generado automáticamente nombre de usuario cadena identificador único para el usuario correo electrónico cadena dirección de correo electrónico única del usuario hashdecontraseña cadena contraseña encriptada para iniciar sesión creadoen fecha marca de tiempo de creación de la cuenta actualizadoen fecha marca de tiempo de la última actualización de la cuenta puedes agregar estas clases y campos directamente en el panel de control de back4app crear nueva clase puede definir campos eligiendo un tipo de dato, nombrando el campo, estableciendo valores predeterminados y marcando campos obligatorios crear columna uso del agente ai de back4app para la generación de esquemas el agente ai de back4app puede construir automáticamente tu esquema basado en tus especificaciones esto acelera la configuración y asegura que tu modelo de datos soporte todas las operaciones crud cómo usar el agente ai abre el agente ai inicia sesión en tu panel de back4app y encuentra el agente ai en la configuración de tu proyecto ingresa tus requisitos describe las clases y campos que necesitas revisa y aplica el agente sugerirá un esquema revísalo y confirma para implementarlo ejemplo de solicitud create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) este enfoque asistido por ai asegura un esquema de datos consistente y eficiente paso 3 – habilitando la aplicación de administración y gestionando operaciones crud descripción general de la aplicación de administración la aplicación de administración de back4app proporciona una interfaz sin código para la gestión de datos en el backend sus características de arrastrar y soltar fáciles de usar simplifican las operaciones crud como agregar, ver, actualizar y eliminar registros activando la aplicación de administración ve al menú “más” en tu panel de back4app selecciona “aplicación de administración” y haz clic en “habilitar aplicación de administración ” configura tus credenciales de administrador configurando la primera cuenta de administrador este paso también crea roles (por ejemplo, b4aadminuser ) y clases del sistema habilitar aplicación de administración una vez activada, inicia sesión en la aplicación de administración para gestionar tus datos en el backend panel de control de la aplicación de administración usando la aplicación de administración para tareas crud dentro de la aplicación de administración, puedes insertar registros usa la función “agregar registro” en una clase (como items) para crear nuevas entradas inspeccionar/actualizar registros haz clic en cualquier entrada para ver detalles o modificar información eliminar registros elimina registros obsoletos o innecesarios esta interfaz simplificada hace que la gestión de datos sea rápida e intuitiva paso 4 – conectando tu aplicación gatsby con back4app con tu backend configurado, la siguiente fase es vincular tu aplicación gatsby a back4app usando llamadas api en gatsby utilizaremos llamadas rest o graphql para comunicarnos con back4app una segunda opción es usar el sdk obteniendo datos usando rest puedes usar la api fetch de javascript para recuperar datos por ejemplo, para cargar elementos de back4app // src/services/api js export const fetchitems = async () => { try { const response = await fetch('https //parseapi back4app com/classes/items', { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', }, }); const data = await response json(); return data results; } catch (error) { console error('error fetching items ', error); return \[]; } }; enviando datos a través de rest para agregar un nuevo elemento, usa una solicitud post // src/services/api js export const createitem = async (title, description) => { try { const response = await fetch('https //parseapi back4app com/classes/items', { method 'post', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', 'content type' 'application/json', }, body json stringify({ title, description }), }); const data = await response json(); return data; } catch (error) { console error('error creating item ', error); } }; puedes implementar funciones de actualización y eliminación de manera similar usando métodos put/post y delete integra estas llamadas a la api en tus páginas o componentes de gatsby para gestionar datos dinámicamente paso 5 – asegurando tu backend implementando controles de acceso protege tus datos configurando listas de control de acceso (acl) en back4app por ejemplo, para crear un ítem visible solo para su propietario // example payload for a private item const privateitem = { title 'private title', description 'this item is private', acl { " " { "read" false, "write" false }, "user object id" { "read" true, "write" true } } }; permisos a nivel de clase (clps) configura clps en tu panel de back4app para hacer cumplir las reglas de acceso predeterminadas, asegurando que solo los usuarios autenticados puedan acceder a clases específicas paso 6 – agregando autenticación de usuario configurando cuentas de usuario en gatsby back4app aprovecha la clase de usuario incorporada de parse para la autenticación en tu aplicación gatsby, gestiona el registro y el inicio de sesión de usuarios a través de llamadas a la api ejemplo registro de usuario // src/services/auth js export const signup = async (username, password, email) => { try { const response = await fetch('https //parseapi back4app com/users', { method 'post', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', 'content type' 'application/json', }, body json stringify({ username, password, email }), }); const data = await response json(); return data; } catch (error) { console error('error during sign up ', error); } }; ejemplo inicio de sesión de usuario // src/services/auth js export const login = async (username, password) => { try { const response = await fetch(`https //parseapi back4app com/login?username=${username}\&password=${password}`, { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', }, }); const data = await response json(); return data; } catch (error) { console error('login error ', error); } }; este enfoque se puede extender para gestionar sesiones, restablecimientos de contraseña y más paso 7 – desplegando tu aplicación gatsby back4app admite un proceso de implementación fluido puedes implementar tu aplicación gatsby utilizando varios métodos, incluida la contenedorización 7 1 construyendo tu sitio gatsby instalar dependencias ejecuta npm install construir el sitio usa el comando de construcción de gatsby gatsby build probar localmente sirve tu construcción de producción para verificar la funcionalidad gatsby serve 7 2 visión general de la estructura del proyecto una estructura típica de proyecto gatsby podría verse así basic crud app gatsby/ \| node modules/ \| src/ \| | components/ \| | | itemform js \| | | itemlist js \| | pages/ \| | index js \| | login js \| static/ \| gatsby config js \| package json \| readme md 7 3 dockerizando tu aplicación gatsby si prefieres implementaciones en contenedores, añade un dockerfile \# use an official node js image as the base from node 14 alpine \# set the working directory workdir /app \# copy package files and install dependencies copy package json / run npm install \# copy the remaining source code copy \# build the gatsby site run npm run build \# expose port (adjust if needed) expose 8000 \# serve the built site cmd \["npx", "gatsby", "serve", " h", "0 0 0 0"] 7 4 despliegue a través de back4app web deployment vincula tu repositorio aloja tu código fuente de gatsby en github configura el despliegue en el panel de control de back4app, selecciona web deployment , conecta tu repositorio (por ejemplo, basic crud app gatsby ), y elige la rama establece los comandos de construcción especifica el comando de construcción (por ejemplo, npm run build ) y el directorio de salida desplegar haz clic en desplegar y monitorea los registros hasta que tu sitio esté en línea paso 8 – conclusión y próximos pasos ¡gran trabajo! has construido una aplicación crud basada en gatsby integrada con back4app configuraste un proyecto llamado basic crud app gatsby , definiste tu modelo de datos, gestionaste los datos con la aplicación de administración y conectaste tu front end de gatsby a back4app utilizando llamadas a la api rest/graphql próximos pasos mejora tu aplicación considera agregar búsqueda avanzada, vistas detalladas o actualizaciones en tiempo real expande las capacidades del backend explora funciones en la nube, integraciones de api de terceros o controles de acceso basados en roles refinados aprende más visita la documentación de back4app https //www back4app com/docs para obtener más información y tutoriales ¡feliz codificación y disfruta construyendo tu aplicación crud en gatsby!