Quickstarters
CRUD Samples
Construyendo una Aplicación CRUD con Qwik: Un Tutorial Integral
41 min
descripción general en esta guía, aprenderás a crear una aplicación crud (crear, leer, actualizar, eliminar) completamente funcional utilizando qwik demostraremos operaciones esenciales para gestionar datos mientras conectas tu aplicación a back4app inicialmente, configurarás un proyecto de back4app titulado basic crud app qwik para servir como el backend para la gestión de datos a continuación, configurarás una base de datos escalable definiendo colecciones y campos, ya sea manualmente o con la ayuda del agente de ia de back4app esto asegura que tu modelo de datos esté optimizado para manejar tareas crud de manera eficiente luego utilizarás la aplicación administrativa de back4app, una interfaz fácil de usar de arrastrar y soltar, para gestionar tus colecciones sin problemas esta herramienta simplifica las operaciones de datos al ofrecer una forma intuitiva de crear, actualizar y eliminar registros finalmente, integrarás tu frontend de qwik con back4app utilizando apis rest o graphql, junto con la implementación de controles de seguridad robustos al final de este tutorial, tu aplicación lista para producción no solo manejará operaciones crud, sino que también soportará la autenticación de usuarios y el acceso seguro a los datos perspectivas esenciales domina el arte de desarrollar aplicaciones crud que manejen datos de manera efectiva utilizando un backend confiable descubre métodos para diseñar un backend adaptable y combinarlo con un frontend qwik para mejorar la interactividad del usuario explora las ventajas de una interfaz de administración de arrastrar y soltar (back4app admin app) para agilizar las funciones crud aprende sobre estrategias de implementación, incluyendo la contenedorización con docker, para lanzar rápidamente tu aplicación web requisitos previos antes de comenzar, asegúrate de tener una cuenta de back4app con un nuevo proyecto configurado visita introducción a back4app https //www back4app com/docs/get started/new parse app para obtener ayuda un entorno de desarrollo qwik configura tu proyecto utilizando la documentación de qwik https //qwik builder io/docs/getting started/ asegúrate de tener node js (versión 14 o posterior) instalado un conocimiento básico de javascript, qwik y apis rest consulta la documentación de qwik https //qwik builder io/docs/ si necesitas un repaso paso 1 – inicialización del proyecto estableciendo un nuevo proyecto en back4app inicie sesión en su cuenta de back4app haga clic en “nueva aplicación” en su panel de control ingrese el nombre del proyecto basic crud app qwik y siga las instrucciones para crear su proyecto crear nuevo proyecto su nuevo proyecto aparecerá en su panel de control, formando la base del backend para su aplicación paso 2 – diseñando su esquema de base de datos creando su modelo de datos para esta aplicación crud, definirá varias colecciones a continuación se presentan ejemplos que describen los campos y tipos necesarios para ayudarle a crear un esquema de base de datos efectivo para manejar operaciones crud 1\ colección de artículos esta colección contiene detalles de cada artículo campo tipo de dato descripción id objectid clave primaria generada automáticamente título cadena nombre del artículo descripción cadena detalles breves sobre el artículo creado en fecha marca de tiempo cuando se creó el elemento actualizado en fecha marca de tiempo de la última actualización 2\ colección de usuarios esta colección almacena detalles del usuario e información de autenticación campo tipo de dato descripción id objectid clave primaria generada automáticamente nombre de usuario cadena identificador único para el usuario correo electrónico cadena dirección de correo electrónico única del usuario hash de contraseña cadena contraseña encriptada para iniciar sesión creado en fecha marca de tiempo de creación de la cuenta actualizado en fecha última marca de tiempo de actualización para la cuenta de usuario puedes agregar manualmente estas colecciones a través del panel de control de back4app creando nuevas clases y configurando cada columna según sea necesario crear nueva clase agrega campos fácilmente seleccionando el tipo, proporcionando un nombre y configurando valores predeterminados y restricciones crear columna aprovechando el agente ai de back4app para la creación de esquemas el agente ai de back4app puede generar automáticamente tu esquema basado en un aviso descriptivo esta función acelera la configuración del proyecto y asegura consistencia cómo operar el agente ai accede al agente ai encuéntralo en tu panel de control de back4app o dentro de la configuración de tu proyecto detalla tu modelo de datos proporciona un aviso que describa las colecciones y campos que necesitas revisa e implementa evalúa las sugerencias de esquema generadas y aplícalas a tu proyecto ejemplo de aviso create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) este enfoque ahorra tiempo y garantiza un esquema bien estructurado adaptado a tu aplicación paso 3 – activando la aplicación de administración y gestionando operaciones crud introducción a la aplicación de administración la aplicación de administración de back4app proporciona una interfaz sin código para gestionar datos de backend su funcionalidad intuitiva de arrastrar y soltar te permite realizar operaciones crud fácilmente cómo habilitar la aplicación de administración accede al menú “más” desde tu panel de back4app selecciona “aplicación de administración” y luego haz clic en “habilitar aplicación de administración ” configura tus credenciales de administrador creando un usuario administrador, lo que establecerá automáticamente roles y colecciones del sistema habilitar aplicación de administración después de la activación, inicia sesión en la aplicación de administración para gestionar tus datos sin esfuerzo panel de administración de la aplicación realizando acciones crud a través de la aplicación de administración agregar registros usa el botón “agregar registro” dentro de cualquier colección (por ejemplo, artículos) para crear nuevas entradas ver/editar registros haz clic en cualquier registro para inspeccionar sus detalles o hacer actualizaciones eliminar registros utiliza la función de eliminar para eliminar entradas obsoletas esta herramienta simplifica las operaciones de datos, asegurando una experiencia de usuario fluida paso 4 – conectando qwik con back4app ahora que tu backend está configurado, es hora de integrar tu frontend de qwik con back4app opción usando apis rest o graphql usaremos llamadas a la api rest para interactuar con back4app ejemplo recuperando artículos a través de rest en qwik crea un componente qwik (por ejemplo, src/components/itemslist tsx ) que recupere y muestre elementos // src/components/itemslist tsx import { component$, usetask$ } from '@builder io/qwik'; export const itemslist = component$(() => { const items = \[]; usetask$(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(); items push( data results); } catch (error) { console error('error retrieving items ', error); } }); return ( \<div> \<h2>items\</h2> \<ul> {items map((item any) => ( \<li key={item objectid}> {item title} — {item description} \</li> ))} \</ul> \</div> ); }); export default itemslist; este componente utiliza la api fetch para llamar al endpoint rest de back4app, recuperando la lista de elementos para otras operaciones crud (crear, actualizar, eliminar), integra llamadas rest similares en tus componentes qwik paso 5 – asegurando tu backend implementando listas de control de acceso (acls) mejora la seguridad de tus datos estableciendo acls en tus objetos por ejemplo, para restringir el acceso a un elemento específico async function createprivateitem(itemdata { title string; description string }, ownerid string) { try { const response = await fetch('https //parseapi back4app com/classes/items', { method 'post', headers { 'content type' 'application/json', 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' }, body json stringify({ title itemdata title, description itemdata description, acl { \[ownerid] { read true, write true }, ' ' { read false, write false } } }) }); const result = await response json(); console log('created private item ', result); } catch (error) { console error('error creating private item ', error); } } configurando permisos a nivel de clase (clps) dentro del panel de control de back4app, ajusta los clps para cada colección para hacer cumplir las políticas de acceso predeterminadas, asegurando que solo los usuarios autorizados puedan interactuar con datos sensibles paso 6 – autenticación de usuarios estableciendo cuentas de usuario back4app utiliza la clase usuario de parse para gestionar la autenticación en tu aplicación qwik, implementa el registro e inicio de sesión de usuarios como se muestra a continuación ejemplo componente de registro en qwik // src/components/auth tsx import { component$, usestore } from '@builder io/qwik'; export const signup = component$(() => { const store = usestore({ username '', password '', email '' }); const handlesignup = async (e event) => { e preventdefault(); try { const response = await fetch('https //parseapi back4app com/users', { method 'post', headers { 'content type' 'application/json', 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' }, body json stringify({ username store username, password store password, email store email }) }); const data = await response json(); alert('user successfully registered!'); } catch (error any) { alert('registration error ' + error message); } }; return ( \<form onsubmit$={handlesignup}> \<input type="text" placeholder="username" value={store username} oninput$={(e) => (store username = (e target as htmlinputelement) value)} /> \<input type="password" placeholder="password" value={store password} oninput$={(e) => (store password = (e target as htmlinputelement) value)} /> \<input type="email" placeholder="email" value={store email} oninput$={(e) => (store email = (e target as htmlinputelement) value)} /> \<button type="submit">register\</button> \</form> ); }); un enfoque similar se puede aplicar a la gestión de inicio de sesión y sesiones opciones adicionales como autenticación social, verificación de correo electrónico y recuperación de contraseña se pueden configurar a través de back4app paso 7 – desplegando tu frontend qwik a través de despliegue web el servicio de despliegue web de back4app permite la hospedaje sin problemas de tu frontend qwik al vincular tu repositorio de github sigue estos pasos para desplegar tu sitio 7 1 crea tu build de producción abre la carpeta de tu proyecto en la terminal ejecuta el comando de construcción npm run build esto genera una build carpeta que contiene activos estáticos optimizados confirma la construcción asegúrate de que la build carpeta tenga un archivo index html junto con los directorios de activos asociados 7 2 organiza y commite tu código en github tu repositorio debe incluir el código fuente completo de tu frontend qwik una estructura típica podría ser basic crud app qwik frontend/ \| node modules/ \| public/ \| └── index html \| src/ \| ├── root tsx \| ├── entry tsx \| └── components/ \| ├── itemslist tsx \| └── auth tsx \| package json \| readme md ejemplo src/root tsx // src/root tsx import { component$ } from '@builder io/qwik'; import itemslist from ' /components/itemslist'; export default component$(() => { return ( \<div style={{ padding '2rem' }}> \<h1>crud application\</h1> \<itemslist /> \</div> ); }); comprometiendo tu código inicializa git (si no lo has hecho ya) git init prepara tus archivos git add confirma tus cambios git commit m "compromiso inicial del código frontend de qwik" crea un repositorio en github por ejemplo, nómbralo basic crud app qwik frontend sube tu código a github git remote add origin https //github com/tu nombre de usuario/basic crud app qwik frontend git git push u origin main 7 3 conectando tu repositorio a la implementación web accede a la implementación web inicia sesión en tu panel de back4app, selecciona tu proyecto (basic crud app qwik) y navega a la sección de implementación web vincula a github sigue las instrucciones en pantalla para conectar tu cuenta de github selecciona el repositorio y la rama elige tu repositorio (por ejemplo, basic crud app qwik frontend ) y la rama relevante (por ejemplo, main ) 7 4 configuración de implementación especificar configuraciones adicionales comando de construcción si no se incluye una carpeta de construcción , establece el comando (por ejemplo, npm run build ) directorio de salida define el directorio de salida como build variables de entorno inserta cualquier variable necesaria como claves de api 7 5 contenerizando tu aplicación qwik con docker (opcional) si optas por docker, incluye un dockerfile similar a \# use node for building the app from node 16 alpine as build workdir /app copy package json / run npm install copy run npm run build \# serve the built app with nginx from nginx\ stable alpine copy from=build /app/build /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] luego, selecciona la opción de docker en la configuración de despliegue web 7 6 desplegando su aplicación haga clic en el botón desplegar una vez que la configuración esté completa, presione desplegar mire la construcción back4app tomará su código, lo construirá y desplegará el contenedor reciba su url después del despliegue, se proporcionará una url donde se aloja su aplicación 7 7 verificando su despliegue visite la url abra el enlace proporcionado en su navegador pruebe la funcionalidad verifique que todas las rutas y activos se carguen correctamente depure si es necesario utilice las herramientas de desarrollador del navegador y los registros de back4app para solucionar problemas paso 8 – conclusión y mejoras futuras ¡bien hecho! has construido con éxito una aplicación crud completa utilizando qwik y back4app estableciste el proyecto basic crud app qwik , elaboraste un esquema de base de datos detallado para items y users, y gestionaste los datos con la admin app además, conectaste tu frontend de qwik al backend y aplicaste medidas de seguridad sólidas próximos pasos expande tu frontend mejora tu aplicación qwik con características como vistas detalladas de artículos, funcionalidades de búsqueda o actualizaciones en tiempo real agrega más funcionalidad considera integrar lógica avanzada en el backend, apis de terceros o control de acceso basado en roles explora recursos adicionales consulta la documentación de back4app https //www back4app com/docs y más tutoriales de qwik para obtener conocimientos profundos sobre mejoras de rendimiento e integraciones personalizadas al seguir este tutorial, ahora posees el conocimiento para crear