Quickstarters
CRUD Samples
Cómo construir una aplicación CRUD básica con Ractive.js: Una guía paso a paso
40 min
descripción general en esta guía, aprenderás cómo construir una aplicación crud (crear, leer, actualizar, eliminar) completamente funcional utilizando ractive js este tutorial cubre todo el flujo de trabajo desde la configuración de tu proyecto back4app hasta el diseño de tu esquema de base de datos, y finalmente la integración de un frontend ractive js con tu backend el proyecto, denominado basic crud app ractive , servirá como una solución robusta de gestión de datos para tu aplicación web comenzarás inicializando un proyecto back4app, configurando colecciones y campos ya sea manualmente o con la ayuda del agente de ia de back4app a continuación, utilizarás la intuitiva aplicación administrativa de back4app para un manejo de datos sencillo, seguido de la integración de tu interfaz ractive js con back4app a través de llamadas a la api rest esta guía también explica cómo asegurar tu backend utilizando métodos avanzados de control de acceso al final, tendrás una aplicación crud de calidad de producción que no solo realiza operaciones esenciales, sino que también soporta la autenticación de usuarios y la gestión segura de datos puntos esenciales dominar la construcción de aplicaciones crud que gestionen datos con un backend confiable entender cómo diseñar un esquema de datos extensible y conectarlo con un frontend de ractive js utilizar una interfaz de gestión de arrastrar y soltar (back4app admin app) para acciones crud sin esfuerzo aprender estrategias de implementación, incluyendo la contenedorización con docker para lanzamientos rápidos de aplicaciones web requisitos previos antes de comenzar, asegúrate de tener una cuenta activa de back4app con un nuevo proyecto creado consulta introducción a back4app https //www back4app com/docs/get started/new parse app para orientación una configuración de desarrollo de ractive js configura tu proyecto utilizando una plantilla o tu configuración preferida, asegurándote de tener node js (v14 o posterior) instalado conocimientos básicos de javascript, ractive js y apis rest revisa la documentación de ractive js https //ractive js org/ según sea necesario paso 1 – inicialización del proyecto iniciando un nuevo proyecto en back4app inicie sesión en su cuenta de back4app seleccione la opción “nueva aplicación” en su panel de control nombre su proyecto basic crud app ractive y siga las instrucciones en pantalla para crearlo crear nuevo proyecto después de la configuración, su proyecto será visible en el panel de control, listo para una configuración adicional del backend paso 2 – diseñando su esquema de base de datos creando su modelo de datos para esta aplicación crud, definirá varias colecciones para gestionar sus datos a continuación se presentan ejemplos de las colecciones con campos y tipos de datos sugeridos, asegurando que el backend esté optimizado para las funcionalidades crud 1\ colección artículos esta colección contiene detalles para cada artículo campo tipo propósito id objectid identificador primario generado automáticamente título cadena título del artículo descripción cadena resumen breve del artículo creado en fecha marca de tiempo de creación del registro actualizado en fecha última marca de tiempo de actualización 2\ colección usuarios esta colección gestiona los datos de usuario y la autenticación campo tipo propósito id objectid identificador primario generado automáticamente nombre de usuario cadena identificador único para el usuario correo electrónico cadena la dirección de correo electrónico única del usuario hash de contraseña cadena contraseña hash para una autenticación segura creado en fecha marca de tiempo para la creación de la cuenta actualizado en fecha marca de tiempo para la última actualización de la cuenta puedes establecer manualmente estas colecciones a través del panel de control de back4app creando nuevas clases y añadiendo las columnas requeridas crear nueva clase define los campos seleccionando el tipo de dato apropiado, nombrando la columna y estableciendo valores predeterminados o requeridos crear columna utilizando el agente ai de back4app para la automatización de esquemas el agente ai de back4app puede generar automáticamente tu esquema basado en tu solicitud esta herramienta eficiente simplifica la gestión de proyectos al establecer rápidamente tus colecciones y campos cómo operar el agente ai accede al agente ai desde el panel de control de tu proyecto ingresa una solicitud detallada describiendo tus colecciones y campos deseados revisa y aplica el esquema generado automáticamente a tu proyecto ejemplo de solicitud create these collections for 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 asegura que tu esquema sea consistente y adaptado a las necesidades de tu aplicación paso 3 – activando la aplicación de administración y gestionando operaciones crud acerca de la interfaz de administración la aplicación de administración de back4app ofrece una solución sin código para manejar tus datos de backend su interfaz de arrastrar y soltar permite realizar operaciones crud sin esfuerzo, como agregar, modificar o eliminar registros cómo habilitar 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 tu primer usuario administrador, lo que también configura roles (como b4aadminuser ) y colecciones del sistema habilitar aplicación de administración una vez activada, inicia sesión en la aplicación de administración para gestionar tus colecciones panel de administración de la aplicación gestionando datos a través de la aplicación de administración agregar entradas usa la opción “agregar registro” en una colección (como artículos) para ingresar nuevos datos ver/editar registros selecciona cualquier registro para inspeccionar detalles o actualizar campos eliminar entradas usa la función de eliminar para eliminar registros obsoletos esta interfaz fácil de usar simplifica todas las funciones crud paso 4 – conectando ractive js con back4app ahora que tu backend está listo, es hora de conectar tu frontend de ractive js a back4app usando llamadas a la api rest con ractive js dado que ractive js no tiene un sdk de parse dedicado, utilizarás llamadas a la api rest para realizar operaciones crud ejemplo recuperando elementos crea un componente ractive que recupere y muestre datos de tu colección de elementos en back4app items html items list {{#each items}} {{title}} {{description}} edit delete {{/each}} add new item add items js import ractive from "ractive"; const api url = "https //parseapi back4app com/classes/items"; const headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" }; const ractive = new ractive({ target "#items container", template "#items template", data { items \[], newtitle "", newdescription "" } }); // function to load items async function loaditems() { try { const response = await fetch(api url, { headers headers }); const result = await response json(); ractive set("items", result results map(item => ({ id item objectid, title item title, description item description }))); } catch (error) { console error("error fetching items ", error); } } ractive on("additem", async function () { const title = ractive get("newtitle"); const description = ractive get("newdescription"); try { await fetch(api url, { method "post", headers headers, body json stringify({ title, description }) }); ractive set({ newtitle "", newdescription "" }); loaditems(); } catch (error) { console error("error adding item ", error); } }); // additional functions for editing and deleting would follow a similar rest approach loaditems(); import ractive from "ractive"; const api url = "https //parseapi back4app com/classes/items"; const headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" }; const ractive = new ractive({ target "#items container", template "#items template", data { items \[], newtitle "", newdescription "" } }); // function to load items async function loaditems() { try { const response = await fetch(api url, { headers headers }); const result = await response json(); ractive set("items", result results map(item => ({ id item objectid, title item title, description item description }))); } catch (error) { console error("error fetching items ", error); } } ractive on("additem", async function () { const title = ractive get("newtitle"); const description = ractive get("newdescription"); try { await fetch(api url, { method "post", headers headers, body json stringify({ title, description }) }); ractive set({ newtitle "", newdescription "" }); loaditems(); } catch (error) { console error("error adding item ", error); } }); // additional functions for editing and deleting would follow a similar rest approach loaditems(); import ractive from "ractive"; const api url = "https //parseapi back4app com/classes/items"; const headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" }; const ractive = new ractive({ target "#items container", template "#items template", data { items \[], newtitle "", newdescription "" } }); // function to load items async function loaditems() { try { const response = await fetch(api url, { headers headers }); const result = await response json(); ractive set("items", result results map(item => ({ id item objectid, title item title, description item description }))); } catch (error) { console error("error fetching items ", error); } } ractive on("additem", async function () { const title = ractive get("newtitle"); const description = ractive get("newdescription"); try { await fetch(api url, { method "post", headers headers, body json stringify({ title, description }) }); ractive set({ newtitle "", newdescription "" }); loaditems(); } catch (error) { console error("error adding item ", error); } }); // additional functions for editing and deleting would follow a similar rest approach loaditems(); puedes incorporar estas interacciones de api en tus componentes de ractive js para manejar todas las operaciones crud paso 5 – fortaleciendo la seguridad del backend implementando controles de acceso mejora la seguridad estableciendo listas de control de acceso (acl) en tus objetos por ejemplo, para hacer un elemento privado async function createprivateitem(itemdata, owneruserid) { const data = { title itemdata title, description itemdata description, acl { \[owneruserid] { read true, write true }, " " { read false, write false } } }; try { const response = await fetch(api url, { method "post", headers headers, body json stringify(data) }); const result = await response json(); console log("private item created ", result); } catch (error) { console error("error creating private item ", error); } } configurando permisos a nivel de clase dentro del panel de back4app, ajusta los permisos a nivel de clase (clps) para cada colección para definir políticas de acceso predeterminadas este paso asegura que solo los usuarios autorizados puedan acceder a datos sensibles paso 6 – gestión de la autenticación de usuarios configuración de cuentas de usuario back4app utiliza la clase user de parse para manejar la autenticación implementa el registro y el inicio de sesión de usuarios a través de llamadas a la api rest en tu aplicación ractive js ejemplo registro de usuario async function signupuser(username, email, password) { const response = await fetch("https //parseapi back4app com/users", { method "post", headers headers, body json stringify({ username, email, password }) }); const result = await response json(); if (result objectid) { alert("user registered successfully!"); } else { alert("error during sign up " + result error); } } implementa rutinas similares para el inicio de sesión y el manejo de sesiones se pueden configurar características adicionales como la recuperación de contraseña y la verificación de correo electrónico a través del panel de back4app paso 7 – desplegando tu frontend de ractive js la función de despliegue web de back4app te permite alojar tu aplicación ractive js vinculándola a tu repositorio de github 7 1 construyendo tu versión de producción abre tu carpeta de proyecto en una terminal ejecuta el proceso de construcción (esto podría ser un comando personalizado basado en tu configuración, por ejemplo, usando rollup o webpack) asegúrate de que tu carpeta de producción (comúnmente llamada dist o build ) contenga tus archivos estáticos 7 2 organizando y comprometiendo tu código tu repositorio de proyecto debe tener una estructura clara, por ejemplo basic crud app ractive/ \| node modules/ \| public/ \| └── index html \| src/ \| ├── main js \| ├── ractiveconfig js \| └── components/ \| ├── items html \| └── auth html \| package json \| readme md archivo de ejemplo ractiveconfig js // ractiveconfig js // this file can include global configuration for your ractive app export const api url = "https //parseapi back4app com"; export const headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" }; comprometiendo tu código inicializa un repositorio git git init agrega tus archivos git add confirma los cambios git commit m "compromiso inicial para el frontend de ractive js" crea un repositorio en github (por ejemplo, basic crud app ractive ) y sube tu código git remote add origin https //github com/your username/basic crud app ractive git git push u origin main 7 3 vinculando tu repositorio a la implementación web de back4app inicia sesión en tu panel de back4app, selecciona tu proyecto ( basic crud app ractive ), y elige la opción de implementación web conecta tu cuenta de github según se te indique selecciona el repositorio y la rama (típicamente main ) que contiene tu código de ractive js 7 4 configurando parámetros de implementación configura lo siguiente comando de construcción especifica tu comando de construcción (por ejemplo, npm run build ) directorio de salida establece tu carpeta de producción (por ejemplo, build o dist ) variables de entorno incluye cualquier clave api o variable de configuración necesaria 7 5 contenerizando con docker (opcional) si deseas implementar a través de docker, incluye un dockerfile en tu proyecto \# base build stage using node js from node 16 alpine as build \# set the working directory workdir /app \# copy package files and install dependencies copy package json / run npm install \# copy the entire app and build it copy run npm run build \# production stage using nginx from nginx\ stable alpine copy from=build /app/build /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] 7 6 lanzando tu aplicación haz clic en el botón desplegar en back4app monitorea el proceso de despliegue mientras back4app extrae y construye tu repositorio una vez completado, back4app proporcionará una url para tu aplicación ractive js alojada 7 7 verificando el despliegue abre la url proporcionada en tu navegador prueba todas las rutas, asegurándote de que cada recurso (css, js, imágenes) se cargue correctamente si ocurren problemas, consulta los registros de despliegue y verifica tu configuración de construcción paso 8 – conclusión y direcciones futuras ¡gran trabajo! has construido con éxito una aplicación crud completa utilizando ractive js y back4app has configurado un proyecto llamado basic crud app ractive , definido colecciones precisas para items y users, y utilizado la intuitiva admin app para la gestión del backend además, integraste tu frontend de ractive js con el backend y fortaleciste la seguridad de tus datos próximos pasos mejora tu ui agrega características como vistas detalladas, funciones de búsqueda o actualizaciones en tiempo real expande tu backend integra lógica avanzada de backend como funciones en la nube o servicios de api de terceros profundiza tu aprendizaje explora la documentación de back4app https //www back4app com/docs para configuraciones y optimizaciones más avanzadas con este tutorial, ahora tienes la experiencia para crear un backend crud escalable para tu aplicación ractive js utilizando back4app ¡feliz codificación!