Quickstarters
CRUD Samples
How to Create a CRUD Application with Elm?
35 min
descripción general en este tutorial, aprenderás a construir una aplicación crud completa (crear, leer, actualizar, eliminar) utilizando elm usaremos back4app como nuestro servicio backend para gestionar datos sin esfuerzo esta guía explica cómo configurar un proyecto de back4app, diseñar un esquema de datos flexible e integrar operaciones crud en una aplicación elm utilizando llamadas a la api rest inicialmente, configurarás un proyecto de back4app, aquí llamado basic crud app elm , que proporciona una base de datos robusta y no relacional diseñarás tu modelo de datos, ya sea manualmente o utilizando el agente ai inteligente de back4app a continuación, gestionarás tu backend con la aplicación administrativa de back4app, que ofrece una interfaz intuitiva de arrastrar y soltar para la manipulación de datos finalmente, conectarás tu aplicación elm a back4app realizando solicitudes api restful mientras aseguras operaciones de datos seguras al final de este tutorial, tendrás una aplicación elm lista para producción que soporta funcionalidades crud básicas y autenticación de usuario segura perspectivas esenciales aprende a construir una aplicación crud en elm emparejada con un backend no relacional entiende cómo estructurar un backend escalable y conectarlo con un front end de elm usa la aplicación de administración de back4app para acciones de crear, leer, actualizar y eliminar sin problemas explora opciones de implementación, incluyendo docker, para lanzar tu aplicación elm con facilidad requisitos previos antes de comenzar, asegúrate de tener una cuenta de back4app con un proyecto configurado ¿necesitas ayuda? visita introducción a back4app https //www back4app com/docs/get started/new parse app un entorno de desarrollo de elm instala elm y usa tu editor favorito familiaridad con los conceptos básicos de elm, programación funcional y solicitudes http consulta la guía de elm https //guide elm lang org/ si es necesario paso 1 – inicializando tu proyecto creando un nuevo proyecto en back4app inicia sesión en tu cuenta de back4app haz clic en el botón “nueva aplicación” desde tu panel de control nombra tu proyecto basic crud app elm y sigue las instrucciones para completar la configuración crear nuevo proyecto una vez que tu proyecto esté listo, aparecerá en tu panel de control, preparando el escenario para la configuración de tu backend paso 2 – creando el esquema de datos configurando tus estructuras de datos para esta aplicación crud, crearás varias colecciones (o clases) en back4app a continuación se presentan ejemplos de las principales colecciones y sus campos para soportar operaciones crud 1\ colección de artículos esta colección almacena detalles sobre cada entrada campo tipo detalles id objectid identificador único generado automáticamente título cadena nombre del artículo descripción cadena descripción breve del artículo creadoen fecha marca de tiempo que indica la creación actualizadoen fecha marca de tiempo que indica la última actualización 2\ colección de usuarios esta colección maneja la autenticación de usuarios y las credenciales campo tipo detalles id objectid identificador único generado automáticamente nombre de usuario cadena nombre de usuario único para el usuario correo electrónico cadena dirección de correo electrónico única hashdecontraseña cadena contraseña encriptada para seguridad creadoen fecha marca de tiempo de cuando se creó la cuenta actualizadoen fecha marca de tiempo para la última actualización de la cuenta puedes agregar estas colecciones y campos manualmente a través del panel de control de back4app crear nueva clase puede agregar campos seleccionando el tipo apropiado, nombrando el campo y especificando si es obligatorio crear columna uso del agente ai de back4app para la configuración del esquema el agente ai de back4app simplifica la creación de su esquema de datos basado en su descripción este proceso automatizado asegura que su esquema esté configurado para todas las acciones crud necesarias para usar el agente ai acceda al agente ai inicie sesión en su panel de back4app y localice el agente ai en la configuración de su proyecto detallar su esquema de datos describa las colecciones y campos que necesita revisar y confirmar revise el esquema propuesto y apruébelo para configurar su backend 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 enfoque inteligente ahorra tiempo y garantiza un esquema de datos robusto y consistente paso 3 – activar la interfaz de administración y manejar operaciones crud introducción a la interfaz de administración la aplicación de administración de back4app te ofrece una interfaz sin código para gestionar tus datos de backend su diseño fácil de usar te permite realizar acciones crud como agregar, ver, editar 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 ” crea tu cuenta de administrador, que también configurará 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 datos panel de control de la aplicación de administración realizando acciones crud en la aplicación de administración dentro de la aplicación de administración, puedes insertar registros elija “agregar registro” en una colección (por ejemplo, artículos) para crear nuevas entradas inspeccionar/editar registros haga clic en cualquier registro para ver detalles o modificar datos eliminar registros elimine entradas que ya no son necesarias esta interfaz fácil de usar simplifica la gestión de datos paso 4 – conectando su aplicación elm a back4app con su backend configurado, es hora de vincular su aplicación elm a back4app usando llamadas a la api rest en elm dado que elm no admite un sdk de parse dedicado, utilizaremos sus capacidades http integradas para interactuar con los puntos finales rest de back4app ejemplo recuperando datos de la colección de elementos a continuación se muestra un ejemplo de módulo elm utilizando el http paquete para recuperar una lista de elementos module items exposing (item, fetchitems, itemdecoder) import http import json decode as decode exposing (decoder) type alias item = { id string , title string , description string } itemdecoder decoder item itemdecoder = decode map3 item (decode field "objectid" decode string) (decode field "title" decode string) (decode field "description" decode string) fetchitems cmd msg fetchitems = http get { url = "https //parseapi back4app com/classes/items" , expect = http expectjson handleresponse (decode field "results" (decode list itemdecoder)) } handleresponse result http error (list item) > msg handleresponse result = \ map the http result to your application's message type debug todo "handle the response appropriately" ejemplo creando un nuevo elemento también puedes implementar solicitudes post en elm para agregar nuevos registros createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" repite patrones similares para las operaciones de actualización y eliminación utilizando los métodos put y delete paso 5 – protegiendo tu backend configurando controles de acceso (acls) protege tus datos configurando acls en tus objetos por ejemplo, para restringir un elemento a su creador, podrías usar \ in elm, you can add acl details to your json payload createprivateitem string > string > string > cmd msg createprivateitem title description ownerid = let acl = encode object \[ ( ownerid, encode object \[ ("read", encode bool true), ("write", encode bool true) ] ) , ( " ", encode object \[ ("read", encode bool false), ("write", encode bool false) ] ) ] body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) , ( "acl", acl ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } configurando permisos a nivel de clase (clps) define clps en el panel de control de back4app para que solo los usuarios autenticados puedan acceder a colecciones específicas paso 6 – implementando la autenticación de usuarios gestionando cuentas de usuario back4app aprovecha la colección de usuario incorporada para manejar la autenticación en tu aplicación elm, gestionarás registros e inicios de sesión a través de llamadas a la api rest ejemplo solicitud de registro de usuario signupuser string > string > string > cmd msg signupuser username password email = let body = http jsonbody <| encode object \[ ( "username", encode string username ) , ( "password", encode string password ) , ( "email", encode string email ) ] in http post { url = "https //parseapi back4app com/users" , body = body , expect = http expectjson handleauthresponse decode value } handleauthresponse result http error decode value > msg handleauthresponse result = debug todo "process the authentication response" sigue un enfoque similar para el inicio de sesión y la gestión de sesiones paso 7 – desplegando tu aplicación elm back4app admite un despliegue sin problemas puedes desplegar tu aplicación elm utilizando varios métodos, incluyendo docker 7 1 construyendo tu aplicación elm compila tu código elm ejecuta el compilador elm para generar javascript elm make src/main elm output=dist/main js prepara tus activos asegúrate de que tus archivos javascript y html generados estén listos para el despliegue 7 2 organizando la estructura de tu proyecto un diseño típico de proyecto elm podría verse así basic crud app elm/ \| src/ \| | main elm \| | api elm \| dist/ \| | index html \| | main js \| elm json \| package json \| dockerfile 7 3 dockerizando tu aplicación elm si está contenedorizando, agregue un dockerfile \# use a lightweight node image for serving static files from node 16 alpine \# set the working directory workdir /app \# copy compiled files copy dist/ /app/dist/ \# expose the desired port expose 8080 \# serve the static files using a simple server cmd \["npx", "http server", "dist", " p", "8080"] 7 4 despliegue con la implementación web de back4app vincula tu repositorio aloja tu proyecto elm en github configura la configuración de despliegue en el panel de back4app, elige la implementación web característica, conecta tu repositorio (por ejemplo, basic crud app elm ), y selecciona la rama deseada establece los comandos de construcción especifica el comando de construcción (por ejemplo, elm make src/main elm output=dist/main js ) y la ubicación del artefacto despliega tu aplicación haz clic en desplegar y monitorea los registros hasta que tu aplicación esté en línea paso 8 – reflexiones finales y direcciones futuras ¡felicidades! has construido una aplicación crud basada en elm integrada con back4app configuraste un proyecto llamado basic crud app elm , diseñaste colecciones para items y usuarios, y gestionaste datos a través de la aplicación de administración de back4app además, conectaste tu aplicación elm utilizando llamadas a la api rest e implementaste medidas de seguridad mejoras futuras expandir funciones integrar capacidades de búsqueda avanzadas, vistas detalladas o actualizaciones en tiempo real mejorar funciones de backend experimentar con funciones en la nube, integraciones de terceros o acceso basado en roles profundizar tu conocimiento visita la documentación de back4app https //www back4app com/docs y otros recursos para perfeccionar tu aplicación ¡feliz codificación y disfruta construyendo con elm y back4app!