Quickstarters
CRUD Samples
How to Create a CRUD Application with Ember.js?
37 min
introducción en este tutorial, aprenderás a construir una aplicación crud simple (crear, leer, actualizar, eliminar) utilizando ember js confiarás en back4app como el servicio backend para gestionar tus datos sin esfuerzo esta guía cubre todas las operaciones básicas de un sistema crud, mostrándote cómo configurar un proyecto de back4app, diseñar un modelo de datos dinámico e integrar operaciones crud en una aplicación ember js al principio, establecerás un proyecto de back4app llamado basic crud app ember que proporciona una solución de almacenamiento de datos no relacional confiable para tu aplicación definirás tu estructura de datos configurando modelos y campos ya sea manualmente o con la ayuda del agente de ia de back4app a continuación, explorarás la aplicación administrativa de back4app—una interfaz sin código que te permite gestionar datos con simples interacciones de arrastrar y soltar finalmente, integrarás tu aplicación ember js con back4app a través de llamadas a la api, implementando controles de acceso seguros en el camino al final de este tutorial, tendrás una aplicación ember js lista para producción capaz de realizar todas las operaciones crud, incluyendo autenticación de usuarios segura y gestión efectiva de datos conclusiones clave construir una aplicación crud basada en ember js respaldada por una plataforma backend robusta entender cómo estructurar e integrar un backend escalable con un frontend de ember js usar la intuitiva admin app de back4app para realizar operaciones de crear, leer, actualizar y eliminar sin esfuerzo aprender sobre estrategias de implementación, incluyendo la contenedorización con docker, para una entrega de aplicaciones sin problemas requisitos previos antes de comenzar, por favor confirma que tienes una cuenta de back4app con un proyecto recién creado ¿necesitas ayuda? visita introducción a back4app https //www back4app com/docs/get started/new parse app una configuración de desarrollo de ember js instala ember cli y configura tu entorno siguiendo las guías de ember js https //guides emberjs com/release/ familiaridad básica con ember js, javascript y apis rest repasa estos temas si es necesario paso 1 – configuración del proyecto iniciando un nuevo proyecto en back4app inicie sesión en su cuenta de back4app haga clic en el botón “nueva aplicación” desde su panel de control asigne el nombre del proyecto basic crud app ember y siga las indicaciones posteriores para completar la configuración del proyecto crear nuevo proyecto una vez que se crea el proyecto, aparecerá en su panel de control y formará la base para su configuración de backend paso 2 – diseñando el modelo de datos estructurando sus modelos de datos para esta aplicación crud, definirá varios modelos en su proyecto de back4app a continuación se presentan ejemplos que describen los modelos principales y sus campos necesarios para realizar operaciones crud 1\ modelo de artículos este modelo almacena información 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 resumen breve 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\ modelo de usuarios este modelo maneja la autenticación de usuarios y credenciales campo tipo de dato descripción id objectid identificador único generado automáticamente nombre de usuario cadena nombre de usuario único para el usuario correo electrónico cadena la dirección de correo electrónico única del usuario hashdecontraseña cadena contraseña de usuario encriptada creadoen fecha marca de tiempo cuando se creó la cuenta actualizadoen fecha marca de tiempo cuando se actualizó la cuenta puedes crear estos modelos y definir sus campos directamente en el panel de control de back4app crear nueva clase puedes agregar campos seleccionando un tipo de dato, ingresando el nombre del campo, estableciendo un valor predeterminado y marcando si es obligatorio crear columna utilizando el agente ai de back4app para la generación de esquemas el agente ai de back4app es una función inteligente dentro de tu panel de control que puede configurar automáticamente tu esquema de datos según tus especificaciones esta herramienta simplifica la inicialización del proyecto al garantizar que tu modelo de datos esté optimizado para operaciones crud cómo usar el agente ai abre el agente ai inicia sesión en tu panel de control de back4app y encuentra el agente ai en la configuración del proyecto proporciona los detalles de tu modelo envía una descripción detallada de los modelos y campos que necesitas revisa y confirma el agente ai generará un esquema sugerido confirma los detalles para aplicar la configuración ejemplo de solicitud create the following models in my back4app project 1\) model items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) model 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 ahorra tiempo y asegura que tu estructura de datos sea consistente y optimizada paso 3 – habilitando la aplicación de administración y manejo de operaciones crud una visión general de la aplicación de administración la aplicación de administración de back4app proporciona una plataforma fácil de usar y sin código para gestionar tus datos de backend su interfaz de arrastrar y soltar te permite realizar fácilmente tareas crud como agregar, ver, actualizar y eliminar registros habilitando 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 creando una cuenta de administrador inicial esto también configurará roles (por ejemplo, b4aadminuser ) y modelos del sistema habilitar aplicación de administración una vez activada, inicia sesión en la aplicación de administración para gestionar los datos de tu aplicación panel de administración de la aplicación gestionando operaciones crud a través de la aplicación de administración dentro de la aplicación de administración, puedes insertar registros haz clic en el botón “agregar registro” dentro de un modelo (por ejemplo, artículos) para ingresar nuevos datos inspeccionar/modificar registros selecciona cualquier registro para ver sus detalles o editar sus campos eliminar registros elimina entradas que ya no son necesarias esta interfaz simplificada mejora significativamente la eficiencia de la gestión de datos paso 4 – conectando tu aplicación ember js con back4app con tu backend configurado, es hora de conectar tu aplicación ember js a back4app uso de llamadas api en ember js ember js aprovecha ember data para manejar operaciones de datos en este tutorial, utilizarás el adaptador rest para interactuar con tu backend de back4app 1\ configurando el adaptador rest crea o actualiza el adaptador de tu aplicación (por ejemplo, app/adapters/application js ) con la siguiente configuración import restadapter from '@ember data/adapter/rest'; export default class applicationadapter extends restadapter { host = 'https //parseapi back4app com'; headers = { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', 'content type' 'application/json' }; } 2\ definiendo modelos de ember data crea un modelo de ember para item (por ejemplo, app/models/item js ) import model, { attr } from '@ember data/model'; export default class itemmodel extends model { @attr('string') title; @attr('string') description; @attr('date') createdat; @attr('date') updatedat; } y de manera similar para user (por ejemplo, app/models/user js ) import model, { attr } from '@ember data/model'; export default class usermodel extends model { @attr('string') username; @attr('string') email; @attr('string') passwordhash; @attr('date') createdat; @attr('date') updatedat; } 3\ implementando operaciones crud utiliza el servicio de tienda de ember data para realizar operaciones crud por ejemplo, para obtener todos los elementos, podrías crear una ruta similar a import route from '@ember/routing/route'; export default class itemsroute extends route { model() { return this store findall('item'); } } puedes agregar, actualizar o eliminar registros de manera similar utilizando los métodos api de ember data alternativa usar fetch nativo para llamadas a la api si prefieres no usar ember data, puedes utilizar llamadas fetch nativas por ejemplo, para recuperar elementos async function fetchitems() { try { let response = await fetch('https //parseapi back4app com/classes/items', { method 'get', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); let data = await response json(); console log('fetched items ', data); } catch (error) { console error('error fetching items ', error); } } integra estas llamadas a la api en tus componentes o servicios de ember según sea necesario paso 5 – mejorando la seguridad para tu backend implementando controles de acceso protege tus datos configurando listas de control de acceso (acl) para cada objeto por ejemplo, al crear un elemento que debería ser visible solo para su propietario, puedes ajustar la configuración de acl a través de tus llamadas a la api permisos a nivel de clase (clp) dentro del panel de control de back4app, configura clp para asegurar que solo los usuarios autenticados tengan acceso a ciertos modelos esto añade una capa extra de seguridad al hacer cumplir las reglas de acceso predeterminadas paso 6 – implementando la autenticación de usuarios en ember js configurando cuentas de usuario back4app aprovecha el modelo de usuario de parse para manejar la autenticación en tu aplicación ember js, puedes crear servicios para gestionar el registro y el inicio de sesión de usuarios a través de llamadas a la api por ejemplo, crea un servicio de autenticación ( app/services/auth js ) import service from '@ember/service'; export default class authservice extends service { async register(username, password, email) { try { let 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 }) }); let result = await response json(); console log('user registered successfully ', result); } catch (error) { console error('registration error ', error); } } async login(username, password) { try { let response = await fetch(`https //parseapi back4app com/login?username=${username}\&password=${password}`, { method 'get', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); let result = await response json(); console log('user logged in ', result); } catch (error) { console error('login error ', error); } } } este servicio se puede inyectar en tus rutas o componentes para manejar la gestión de sesiones, restablecimientos de contraseña y otras tareas relacionadas con la autenticación paso 7 – desplegando tu aplicación ember js back4app admite varias estrategias de despliegue puedes desplegar tu aplicación ember js utilizando métodos como la contenedorización con docker 7 1 construyendo tu aplicación ember construye tu aplicación ejecuta el siguiente comando en tu terminal ember build environment=production verifica la salida asegúrate de que la dist/ carpeta contenga tus activos listos para producción 7 2 visión general de la estructura del proyecto un proyecto típico de ember js podría estar organizado de la siguiente manera basic crud app ember/ \| app/ \| | adapters/ \| | | application js \| | models/ \| | | item js \| | | user js \| | routes/ \| | | items js \| | services/ \| | auth js \| config/ \| | environment js \| public/ \| tests/ \| ember cli build js \| package json \| readme md 7 3 dockerizando tu aplicación ember si prefieres un despliegue en contenedor, incluye un dockerfile en la raíz de tu proyecto \# use an official node js image as the base from node 16 alpine \# set the working directory workdir /app \# copy package files and install dependencies copy package json / run npm install \# copy the rest of the application code copy \# build the ember application run npm run build environment=production \# use a lightweight web server to serve static files from nginx\ stable alpine copy from=0 /app/dist /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] 7 4 despliegue a través de back4app web deployment conecta tu repositorio de github aloja tu proyecto ember js en github configura la configuración de despliegue en tu panel de back4app, navega a web deployment , vincula tu repositorio (por ejemplo, basic crud app ember ), y selecciona la rama deseada establece los comandos de construcción define tu comando de construcción (por ejemplo, ember build environment=production ) y especifica el directorio 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 – conclusión y próximos pasos ¡gran trabajo! ahora has construido una aplicación crud basada en ember js integrada con back4app en este tutorial, configuraste un proyecto llamado basic crud app ember , diseñaste modelos para items y usuarios, y gestionaste tu backend a través de la aplicación de administración de back4app también conectaste tu aplicación ember js utilizando llamadas a la api e implementaste prácticas de seguridad robustas próximos pasos mejora tu aplicación considera agregar características como funcionalidad de búsqueda avanzada, vistas detalladas o actualizaciones en vivo expande las capacidades del backend explora funciones en la nube, integra apis de terceros o configura control de acceso basado en roles profundiza tu comprensión visita la documentación de back4app https //www back4app com/docs y otros recursos de ember js para temas más avanzados ¡feliz codificación y los mejores deseos en tu viaje con ember js!