Quickstarters
CRUD Samples
¿Cómo Crear una Aplicación CRUD Básica con Angular?
43 min
introducción en esta guía, te guiaremos a través del proceso de construcción de una aplicación crud básica (crear, leer, actualizar, eliminar) utilizando angular aprenderás a desarrollar una aplicación que gestione eficientemente las operaciones de datos aprovechando el robusto marco de angular para comenzar, crearás y configurarás un nuevo proyecto de back4app titulado basic crud app angular , que servirá como la columna vertebral de la gestión de datos de tu backend a continuación, diseñarás un modelo de base de datos escalable delineando colecciones y campos detallados, ya sea manualmente o con la ayuda del agente ai de back4app este paso garantiza que tu sistema esté bien preparado para manejar todas las funcionalidades crud después de configurar tu esquema, explorarás la aplicación administrativa de back4app, una interfaz intuitiva de arrastrar y soltar, para gestionar fácilmente tus colecciones y registros finalmente, integrarás tu frontend de angular con back4app utilizando rest/graphql (o el sdk de parse, si lo prefieres), mientras implementas medidas de seguridad avanzadas para proteger tu backend al final de este tutorial, habrás construido una aplicación angular lista para producción con autenticación de usuarios y capacidades crud completas conclusiones clave domina cómo construir aplicaciones crud que manejen datos de manera eficiente con un backend confiable obtén información práctica sobre cómo crear un modelo de datos escalable y vincularlo a un frontend de angular aprende a utilizar la interfaz fácil de usar de la aplicación de administración de back4app para una gestión de datos sin esfuerzo comprende las estrategias de implementación, incluida la contenedorización con docker, para lanzar rápidamente tu aplicación angular requisitos previos antes de comenzar, asegúrate de tener lo siguiente una cuenta de back4app con un nuevo proyecto configurado ¿necesitas ayuda? consulta introducción a back4app https //www back4app com/docs/get started/new parse app un entorno de desarrollo de angular instala angular cli ejecutando npm install g @angular/cli y crea un nuevo proyecto usando ng new asegúrate de que node js (versión 14 o superior) esté instalado un conocimiento básico de typescript, angular y rest apis para un repaso, visita la documentación de angular https //angular io/docs paso 1 – configurando tu proyecto lanzando un nuevo proyecto de back4app inicia sesión en tu cuenta de back4app haz clic en el botón “nueva app” desde tu panel de control ingresa el nombre del proyecto basic crud app angular y sigue las indicaciones de configuración crear nuevo proyecto una vez que se crea el proyecto, aparecerá en tu panel de control de back4app, proporcionando una base sólida para la configuración de tu backend paso 2 – creando el esquema de tu base de datos construyendo tu modelo de datos para esta aplicación crud, definirás varias colecciones a continuación se presentan ejemplos de las colecciones y sus campos que formarán la base de tu esquema de base de datos estas colecciones permiten que la aplicación realice operaciones crud esenciales 1 colección de artículos esta colección almacena información para cada artículo campo tipo de dato detalles id objectid identificador único generado automáticamente título cadena el título del artículo descripción cadena un breve resumen del artículo creado en fecha marca de tiempo de cuando se agregó el elemento actualizado en fecha marca de tiempo para la última actualización 2 colección de usuarios esta colección mantiene las credenciales de usuario y los datos de autenticación campo tipo de dato descripción id identificador de objeto identificador único generado automáticamente nombre de usuario cadena un identificador único para el usuario correo electrónico cadena una dirección de correo electrónico distinta hash de contraseña cadena contraseña hash segura para la autenticación creado en fecha marca de tiempo que indica cuándo se creó la cuenta actualizado en fecha marca de tiempo de la actualización más reciente puedes configurar estas colecciones manualmente en el panel de control de back4app creando una nueva clase para cada una y añadiendo columnas para definir los campos crear nueva clase agrega columnas eligiendo un tipo de dato, nombrando el campo, estableciendo un valor predeterminado y marcando si es obligatorio crear columna aprovechando el agente ai de back4app para la configuración del esquema el agente ai de back4app es una herramienta versátil disponible en tu panel que te permite generar automáticamente el esquema de tu base de datos basado en un aviso descriptivo esta función ahorra tiempo y asegura que tu backend esté perfectamente adaptado para operaciones crud pasos para usar el agente ai abre el agente ai inicia sesión en tu panel de back4app y encuentra la opción del agente ai describe tu esquema ingresa un aviso detallado que describa las colecciones y campos que necesitas revisa y confirma después de enviar, revisa el esquema generado y aplícalo a tu proyecto ejemplo de aviso create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated primary key) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated primary key) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) este enfoque impulsado por ai agiliza el proceso y asegura un esquema consistente y optimizado paso 3 – activando la aplicación de administración y gestionando operaciones crud una mirada a la aplicación de administración la aplicación de administración de back4app proporciona una interfaz sin código, de arrastrar y soltar que te permite gestionar tus datos de backend sin esfuerzo con él, puedes realizar fácilmente operaciones crud como agregar, ver, modificar y eliminar registros activando la aplicación de administración navega 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 crea tu usuario administrador inicial, que también configurará roles (por ejemplo, b4aadminuser ) 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 colecciones y registros panel de control de la aplicación de administración utilizando la aplicación de administración para tareas crud dentro de la aplicación de administración, puedes agregar nuevos registros haz clic en “agregar registro” en cualquier colección (por ejemplo, artículos) para crear nuevas entradas ver y editar registros selecciona un registro para ver sus detalles o actualizar sus campos eliminar registros usa la opción de eliminar para quitar registros obsoletos esta interfaz intuitiva simplifica enormemente la gestión de tus datos de backend paso 4 – conectando tu frontend de angular a back4app ahora que tu backend está completamente configurado y gestionado a través de la aplicación de administración, es hora de vincular tu frontend de angular a back4app opción a integrando el sdk de parse con angular instalar el sdk de parse npm install parse configura parse en tu proyecto angular crea un archivo de configuración (por ejemplo, src/app/parse config ts ) // src/app/parse config ts import parse from 'parse'; // reemplaza con tus credenciales reales de back4app parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; export default parse; 3\ implement parse in an angular component for example, create a component to fetch and display items ```typescript // src/app/components/items list/items list component ts import { component, oninit } from '@angular/core'; import parse from ' / /parse config'; @component({ selector 'app items list', templateurl ' /items list component html', styleurls \[' /items list component css'] }) export class itemslistcomponent implements oninit { items any\[] = \[]; async ngoninit() { const items = parse object extend('items'); const query = new parse query(items); try { const results = await query find(); this items = results; } catch (error) { console error('error retrieving items ', error); } } } y en la plantilla html ( items list component html ) items {{ item get('title') }} – {{ item get('description') }} opción b utilizando rest o graphql si prefieres no usar el sdk de parse, puedes ejecutar operaciones crud a través de rest o graphql por ejemplo, para obtener artículos usando rest en angular, crea un método de servicio como este // src/app/services/items service ts import { injectable } from '@angular/core'; import { httpclient, httpheaders } from '@angular/common/http'; import { observable } from 'rxjs'; @injectable({ providedin 'root' }) export class itemsservice { private apiurl = 'https //parseapi back4app com/classes/items'; constructor(private http httpclient) { } getitems() observable\<any> { const headers = new httpheaders({ 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' }); return this http get(this apiurl, { headers }); } } puedes integrar estas llamadas a la api dentro de tus componentes de angular según sea necesario paso 5 – protegiendo tu backend implementando listas de control de acceso (acls) mejora la seguridad de tus datos asignando acls a tus objetos por ejemplo, para crear un ítem accesible solo por su propietario async function createsecureitem(itemdata any, owneruser any) { const items = parse object extend('items'); const item = new items(); item set('title', itemdata title); item set('description', itemdata description); // assign acl only the owner has read/write access const acl = new parse acl(owneruser); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); item setacl(acl); try { const saveditem = await item save(); console log('secure item created ', saveditem); } catch (error) { console error('error creating item ', error); } } configurando permisos a nivel de clase (clps) dentro del panel de back4app, ajusta los clps para cada colección para establecer reglas de acceso predeterminadas, asegurando que solo los usuarios autenticados o autorizados puedan acceder a datos sensibles paso 6 – gestión de la autenticación de usuarios creación y manejo de cuentas de usuario back4app utiliza la clase user de parse para gestionar la autenticación en tu proyecto de angular, puedes manejar el registro y el inicio de sesión de usuarios de la siguiente manera // src/app/components/auth/auth component ts import { component } from '@angular/core'; import parse from ' / /parse config'; @component({ selector 'app auth', templateurl ' /auth component html', styleurls \[' /auth component css'] }) export class authcomponent { username string = ''; password string = ''; email string = ''; async signup(event event) { event preventdefault(); const user = new parse user(); user set('username', this username); user set('password', this password); user set('email', this email); try { await user signup(); alert('user registration successful!'); } catch (error any) { alert('registration error ' + error message); } } } y la plantilla html correspondiente ( auth component html ) register register register un enfoque similar se puede aplicar para el inicio de sesión de usuario y la gestión de sesiones para funciones como inicios de sesión sociales o restablecimientos de contraseña, ajusta tus configuraciones en el panel de control de back4app paso 7 – desplegando tu frontend de angular la función de despliegue web de back4app te permite alojar tu aplicación angular desplegando código directamente desde un repositorio de github en esta sección, prepararás tu construcción de producción, comprometerás tu código fuente e integrarás tu repositorio para el despliegue 7 1 construyendo tu versión de producción abre el directorio de tu proyecto en una terminal ejecuta el comando de construcción de producción ng build prod este comando compila tu aplicación angular en una carpeta dist/ optimizada verifica la construcción asegúrate de que el directorio dist/ contenga el index html y todos los activos necesarios 7 2 estructurando y subiendo tu código fuente tu repositorio debe contener todo tu proyecto de angular una estructura de archivos típica podría verse así basic crud app angular/ ├── node modules/ ├── src/ │ ├── app/ │ │ ├── app component ts │ │ ├── app module ts │ │ └── components/ │ │ ├── auth/ │ │ │ ├── auth component ts │ │ │ └── auth component html │ │ └── items list/ │ │ ├── items list component ts │ │ └── items list component html ├── angular json ├── package json └── readme md ejemplo src/app/parse config ts // src/app/parse config ts import parse from 'parse'; // replace with your actual back4app credentials parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; export default parse; ejemplo src/app/app component ts import { component } from '@angular/core'; import parse from ' /parse config'; @component({ selector 'app root', template ` \<div style="padding 2rem;"> \<h1>items\</h1> \<app items list>\</app items list> \</div> `, styles \[] }) export class appcomponent { } comprometiendo tu código a github inicializa un repositorio git en tu carpeta de proyecto si aún no lo has hecho git init agrega tus archivos de proyecto git add confirma tus cambios git commit m "compromiso inicial para el frontend de angular" crea un repositorio de github por ejemplo, nómbralo basic crud app angular empuja tu código a github git remote add origin https //github com/your username/basic crud app angular git git push u origin main 7 3 vinculando tu repositorio de github con el despliegue web accede a la función de despliegue web inicia sesión en tu panel de back4app, selecciona tu proyecto ( basic crud app angular ), y elige despliegue web conecta tu cuenta de github sigue las instrucciones para integrar tu cuenta de github, permitiendo que back4app acceda a tu repositorio selecciona tu repositorio y rama elige tu repositorio (por ejemplo, basic crud app angular ) y la rama (por ejemplo, main ) que contiene tu código 7 4 configurando tus ajustes de despliegue proporciona los detalles de configuración necesarios comando de construcción si tu repositorio carece de una carpeta preconstruida dist/ , especifica el comando de construcción (por ejemplo, ng build prod ) directorio de salida establece el directorio de salida en dist/tu nombre de proyecto para que back4app sepa dónde se encuentran tus archivos estáticos variables de entorno agrega cualquier variable de entorno requerida (como claves api) en la configuración de despliegue 7 5 contenerizando tu aplicación angular con docker si prefieres un despliegue basado en docker, incluye un dockerfile en tu repositorio por ejemplo # use an official node image to build the angular app 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 rest of the application and build it copy run npm run build prod \# use nginx to serve the built app from nginx\ stable alpine copy from=build /app/dist/your project name /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] incluye este dockerfile en tu repositorio, luego selecciona la opción de despliegue de docker en la configuración de despliegue web de back4app 7 6 lanzando tu aplicación haz clic en el botón de despliegue una vez que tus configuraciones de despliegue estén configuradas, haz clic en desplegar monitorea el proceso de despliegue back4app tomará tu código, ejecutará el comando de construcción si es necesario, y desplegará tu aplicación angular recupera tu url después de un despliegue exitoso, back4app proporcionará una url donde tu aplicación está activa 7 7 probando tu aplicación desplegada visita la url proporcionada abre la url en tu navegador verifica la funcionalidad asegúrate de que tu aplicación angular se cargue correctamente, todas las rutas funcionen como se espera y los activos se sirvan correctamente soluciona problemas si es necesario utiliza las herramientas de desarrollador del navegador para identificar y resolver cualquier problema revisa los registros de despliegue de back4app y tu configuración si surgen problemas paso 8 – conclusiones y direcciones futuras ¡felicidades! has construido con éxito una aplicación crud básica utilizando angular y back4app has configurado un proyecto llamado basic crud app angular , diseñado colecciones de base de datos completas para items y usuarios, y gestionado tus datos utilizando la intuitiva admin app además, conectaste tu frontend de angular a tu backend e implementaste medidas de seguridad robustas próximos pasos mejora tu frontend extiende tu aplicación angular con características avanzadas como vistas detalladas de artículos, funcionalidad de búsqueda y actualizaciones en tiempo real expande la funcionalidad considera integrar lógica adicional en el backend (como cloud functions) o implementar control de acceso basado en roles explora más recursos consulta la documentación de back4app https //www back4app com/docs y otros recursos de angular para profundizar tu comprensión con esta guía, ahora estás equipado para construir backends crud robustos y escalables para tus aplicaciones angular utilizando back4app ¡feliz codificación!