Quickstarters
CRUD Samples
Cómo crear una aplicación CRUD con Node.js?
34 min
descripción general en este tutorial, aprenderás a desarrollar una aplicación crud completa (crear, leer, actualizar, eliminar) utilizando node js utilizaremos back4app como nuestro servicio backend para simplificar la gestión de datos esta guía te llevará a través de la configuración de un proyecto de back4app, el diseño de un modelo de datos dinámico y la implementación de operaciones crud utilizando node js inicialmente, configurarás un proyecto de back4app llamado basic crud app node que proporciona una solución robusta de almacenamiento de datos no relacional luego, diseñarás tu esquema de datos definiendo colecciones y campos ya sea manualmente o aprovechando el agente de ia de back4app a continuación, gestionarás tu backend a través de la aplicación administrativa de back4app, una interfaz fácil de usar, de arrastrar y soltar para la manipulación de datos finalmente, integrarás tu aplicación node js con back4app utilizando el sdk de javascript de parse (o la api rest/graphql según sea necesario) mientras aseguras controles de acceso seguros al final de este tutorial, habrás construido una aplicación de node js lista para producción capaz de realizar operaciones crud esenciales junto con autenticación de usuarios y seguridad de datos lo que aprenderás cómo crear una aplicación crud basada en node js con un backend de bajo código efectivo estrategias para diseñar un backend escalable y conectarlo con tu aplicación node js cómo utilizar la aplicación de administración de back4app para operaciones de crear, leer, actualizar y eliminar de manera simplificada técnicas de implementación, incluyendo la contenedorización con docker, para lanzar eficientemente tu aplicación node js requisitos previos antes de comenzar, asegúrate de tener una cuenta de back4app con un proyecto recién configurado ¿necesitas ayuda? visita introducción a back4app https //www back4app com/docs/get started/new parse app una configuración de desarrollo de node js usa un editor de código como visual studio code y asegúrate de que node js (v14 o posterior) esté instalado conocimientos básicos de node js, programación asíncrona y apis rest consulta la documentación de node js https //nodejs org/en/docs/ 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 el botón “nueva app” desde tu panel de control nombra tu proyecto basic crud app node y sigue las instrucciones en pantalla para completar la configuración crear nuevo proyecto después de la creación, tu proyecto aparecerá en tu panel de control, listo para la configuración del backend paso 2 – creando tu esquema de datos definiendo tus estructuras de datos para esta aplicación crud, crearás varias colecciones en tu proyecto de back4app a continuación se presentan ejemplos de las colecciones clave y los campos necesarios para la funcionalidad básica de crud 1\ colección de ítems esta colección almacena detalles sobre cada ítem campo tipo descripción id identificador de objeto identificador único generado automáticamente título cadena el nombre del artículo descripción cadena una breve descripción del artículo creadoen fecha marca de tiempo que indica cuándo se agregó el elemento actualizadoen fecha marca de tiempo que indica la última actualización 2\ colección de usuarios esta colección maneja las credenciales de usuario y los datos de autenticación campo tipo descripción id objectid identificador único generado automáticamente nombre de usuario cadena nombre único para el usuario correo electrónico cadena dirección de correo electrónico única del usuario hashdecontraseña cadena contraseña hash para una autenticación segura creadoen fecha marca de tiempo cuando se creó la cuenta actualizadoen fecha marca de tiempo cuando se actualizó la cuenta puedes crear estas colecciones y campos manualmente a través del panel de control de back4app crear nueva clase puedes agregar columnas eligiendo un tipo de dato, nombrando el campo, estableciendo valores predeterminados y marcándolos como obligatorios crear columna utilizando el agente ai de back4app para la generación de esquemas el agente ai de back4app simplifica la configuración del esquema generando automáticamente tu modelo de datos basado en tu descripción esto acelera la configuración y asegura que tus estructuras de datos soporten todas las operaciones crud cómo usar el agente ai abre el agente ai accede al agente ai desde la configuración de tu proyecto back4app esboza tu esquema de datos describe las colecciones y campos que necesitas revisa y aplica el agente ai sugerirá un esquema revisa la propuesta y aplica los cambios ejemplo de solicitud create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) este método asegura un modelo de datos consistente y optimizado paso 3 – habilitando la aplicación de administración y realizando 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 gestionar tus datos de backend su diseño de arrastrar y soltar hace que sea simple ejecutar tareas crud como agregar, ver, actualizar y eliminar registros activando la aplicación de administración ve a la sección “más” en tu panel de control de back4app selecciona “aplicación de administración” y haz clic en “habilitar aplicación de administración ” configura tus credenciales de administrador configurando tu cuenta de administrador inicial este proceso también creará roles (por ejemplo, b4aadminuser ) y clases 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 panel de control de la aplicación de administración gestionando operaciones crud con la aplicación de administración dentro de la aplicación de administración puedes insertar registros usa el botón “agregar registro” dentro de una colección (por ejemplo, artículos) para crear nuevas entradas revisar y editar registros haz clic en cualquier registro para inspeccionar sus detalles o actualizar sus campos eliminar registros elimina entradas que ya no son necesarias esta interfaz fácil de usar simplifica considerablemente la gestión de datos paso 4 – vinculando tu aplicación node js con back4app con tu backend configurado, es hora de conectar tu aplicación node js a back4app opción a usando el sdk de javascript de parse instala el sdk de javascript de parse ejecuta el siguiente comando en el directorio de tu proyecto npm install parse inicializa parse en tu aplicación node js crea un archivo de configuración (por ejemplo, parseconfig js ) // parseconfig js const parse = require('parse/node'); parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; module exports = parse; 3\ implement crud operations for example, create a service to manage items ```javascript // itemsservice js const parse = require(' /parseconfig'); async function fetchitems() { const items = parse object extend('items'); const query = new parse query(items); try { const results = await query find(); console log('fetched items ', results); return results; } catch (error) { console error('error retrieving items ', error); } } async function createitem(title, description) { const items = parse object extend('items'); const item = new items(); item set('title', title); item set('description', description); try { await item save(); console log('item successfully created '); } catch (error) { console error('error creating item ', error); } } async function updateitem(objectid, newtitle, newdescription) { const items = parse object extend('items'); const query = new parse query(items); try { const item = await query get(objectid); item set('title', newtitle); item set('description', newdescription); await item save(); console log('item updated successfully '); } catch (error) { console error('error updating item ', error); } } async function deleteitem(objectid) { const items = parse object extend('items'); const query = new parse query(items); try { const item = await query get(objectid); await item destroy(); console log('item deleted successfully '); } catch (error) { console error('error deleting item ', error); } } module exports = { fetchitems, createitem, updateitem, deleteitem, }; opción b usando rest o graphql si prefieres no usar el sdk de parse, puedes interactuar con back4app a través de llamadas a la api rest por ejemplo, aquí está cómo recuperar elementos usando node js const https = require('https'); function fetchitemsrest() { const options = { hostname 'parseapi back4app com', path '/classes/items', method 'get', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }; const req = https request(options, res => { let data = ''; res on('data', chunk => data += chunk); res on('end', () => console log('response ', data)); }); req on('error', error => console error('error ', error)); req end(); } fetchitemsrest(); integra estas llamadas rest en tus servicios de node js según sea necesario paso 5 – fortaleciendo la seguridad de tu backend configurando listas de control de acceso (acls) mejora la seguridad de tus datos configurando acls en tus objetos por ejemplo, para hacer que un elemento sea accesible solo para su creador const parse = require(' /parseconfig'); async function createprivateitem(title, description, owner) { const items = parse object extend('items'); const item = new items(); item set('title', title); item set('description', description); const acl = new parse acl(); acl setreadaccess(owner, true); acl setwriteaccess(owner, true); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); item setacl(acl); try { await item save(); console log('private item created successfully '); } catch (error) { console error('error saving private item ', error); } } configurando permisos a nivel de clase (clps) ajusta los clps en tu panel de control de back4app para hacer cumplir las reglas de seguridad predeterminadas, asegurando que solo los usuarios autenticados puedan interactuar con colecciones específicas paso 6 – implementando la autenticación de usuarios configurando la gestión de usuarios back4app aprovecha la colección de usuarios integrada de parse para gestionar la autenticación en tu aplicación de node js, implementa el registro e inicio de sesión de usuarios como se muestra a continuación const parse = require(' /parseconfig'); async function signup(username, password, email) { const user = new parse user(); user set('username', username); user set('password', password); user set('email', email); try { await user signup(); console log('user registered successfully!'); } catch (error) { console error('error during sign up ', error); } } async function login(username, password) { try { const user = await parse user login(username, password); console log('user logged in ', user get('username')); } catch (error) { console error('login error ', error); } } module exports = { signup, login }; se puede utilizar un enfoque similar para la gestión de sesiones y características adicionales de autenticación paso 7 – desplegando tu aplicación node js back4app proporciona un proceso de despliegue fluido puedes desplegar tu aplicación node js utilizando varios métodos, incluyendo la contenedorización con docker 7 1 construyendo tu aplicación compilar y empaquetar utiliza tu herramienta de construcción preferida (como npm o yarn) para preparar tu aplicación por ejemplo, ejecuta npm run build verifica tu construcción asegúrate de que tu paquete de producción contenga todos los módulos y archivos requeridos 7 2 organizando la estructura de tu proyecto una estructura típica de proyecto node js podría verse así basic crud app node/ \| src/ \| | controllers/ \| | | itemscontroller js \| | | authcontroller js \| | models/ \| | | item js \| | | user js \| | routes/ \| | itemsroutes js \| | authroutes js \| parseconfig js \| package json \| readme md 7 3 dockerizando tu aplicación node js si prefieres el despliegue en contenedores, añade un dockerfile a la raíz de tu proyecto \# use an official node js runtime as a parent image from node 14 alpine \# set the working directory workdir /usr/src/app \# copy package files and install dependencies copy package json / run npm install \# copy the rest of the application code copy \# expose the application port (adjust if necessary) expose 3000 \# start the node js application cmd \["npm", "start"] 7 4 despliegue a través de back4app web deployment conecta tu repositorio de github aloja tu código fuente de node js en github configura la configuración de despliegue en tu panel de back4app, elige la opción despliegue web , vincula tu repositorio (por ejemplo, basic crud app node ) y selecciona la rama deseada establece los comandos de construcción y salida define tu comando de construcción (por ejemplo, npm run build ) y especifica la carpeta de salida despliega tu aplicación haz clic en desplegar y monitorea los registros hasta que tu aplicación esté en línea paso 8 – conclusiones y mejoras futuras ¡felicidades! ahora has construido una aplicación crud de node js integrada con back4app has configurado un proyecto llamado basic crud app node , establecido colecciones para artículos y usuarios, y gestionado tu backend con la aplicación de administración de back4app además, conectaste tu aplicación de node js a través del sdk de javascript de parse (o rest/graphql) e implementaste medidas de seguridad sólidas próximos pasos mejora tu aplicación considera agregar características como filtrado avanzado, 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 profundiza tu experiencia consulta la documentación de back4app https //www back4app com/docs y tutoriales adicionales para refinar aún más tu aplicación ¡feliz codificación y los mejores deseos en tu viaje con tu aplicación crud de node js!