Quickstarters
CRUD Samples
¿Cómo crear una aplicación CRUD con TypeScript?
35 min
descripción general en este tutorial, aprenderás a construir una aplicación crud (crear, leer, actualizar, eliminar) utilizando typescript utilizaremos back4app como la plataforma de backend, lo que hace que la gestión de datos sea sencilla esta guía cubre la configuración de un proyecto de back4app, el modelado de tus datos y la integración de la funcionalidad crud en una aplicación de typescript inicialmente, crearás un proyecto en back4app llamado basic crud app typescript que ofrece una solución de almacenamiento nosql flexible diseñarás tu estructura de datos definiendo clases y campos ya sea manualmente o con la ayuda del agente ai de back4app a continuación, utilizarás la aplicación administrativa de back4app para la gestión del backend a través de una interfaz fácil de usar que simplifica las operaciones de datos finalmente, conectarás tu aplicación de typescript con back4app utilizando el sdk de javascript de parse, asegurando un acceso y autenticación seguros al final de este tutorial, tendrás una aplicación de typescript completamente operativa capaz de manejar tareas básicas de crud, incluyendo la autenticación de usuarios y la gestión de datos lo que aprenderás cómo construir una aplicación crud basada en typescript con un backend nosql métodos para diseñar un backend escalable integrado con un frontend de typescript cómo aprovechar la admin app de back4app para gestionar tus datos sin esfuerzo estrategias para el despliegue, incluyendo la contenedorización con docker, para lanzar tu aplicación de typescript sin problemas 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 typescript usa un editor como visual studio code y asegúrate de tener node js instalado conocimientos básicos de typescript, programación orientada a objetos y apis restful si es necesario, consulta la documentación de typescript https //www typescriptlang org/docs/ paso 1 – inicialización del proyecto configurando un nuevo proyecto en back4app inicia sesión en tu cuenta de back4app haz clic en el botón “nueva aplicación” en tu panel ingresa el nombre del proyecto basic crud app typescript y sigue los pasos para completar la creación del proyecto crear nuevo proyecto después de que el proyecto esté establecido, aparecerá en tu panel, sirviendo como la base para tu backend paso 2 – creando el esquema de datos definiendo tus estructuras de datos para esta aplicación, crearás un par de colecciones (clases) en back4app a continuación se presentan ejemplos de clases esenciales con campos que facilitan las operaciones crud 1\ colección de artículos campo tipo de dato descripción id objectid identificador único generado automáticamente título cadena nombre o título del artículo descripción cadena una breve descripción del artículo creadoen fecha marca de tiempo cuando se creó el elemento actualizadoen fecha marca de tiempo para la última actualización 2\ colección de usuarios campo tipo de dato 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 hashdecontraseña cadena contraseña hash segura para iniciar sesión creadoen fecha marca de tiempo de creación de la cuenta actualizadoen fecha marca de tiempo para la última actualización de la cuenta puedes crear estas colecciones y campos manualmente en el panel de control de back4app crear nueva clase al agregar campos, elija el tipo de dato, nombre el campo, establezca un valor predeterminado si es necesario e indique si es obligatorio crear columna uso del agente ai de back4app para la configuración del esquema el agente de ia integrado en back4app puede generar automáticamente tu esquema de datos a partir de una descripción esto simplifica la configuración y asegura que tu modelo esté listo para operaciones crud cómo usar el agente de ia abre el agente de ia inicia sesión en tu panel de back4app y localiza el agente de ia en la configuración de tu proyecto describe tu esquema proporciona una descripción detallada de las colecciones y campos que necesitas revisa y confirma el agente de ia propondrá un esquema revísalo y confirma para aplicar 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 asistido por ia ahorra tiempo y garantiza un esquema bien estructurado paso 3 – usando la aplicación de administración para 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 que facilita la gestión de tus datos de backend sus funciones de arrastrar y soltar te permiten realizar operaciones crud, como agregar, leer, actualizar y eliminar registros, sin complicaciones habilitando la aplicación de administración ve al menú “más” en tu panel de back4app elige “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, que también definirá roles como 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 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 utilice la función “agregar registro” en cualquier colección (por ejemplo, artículos) para ingresar nuevos datos revisar y editar haga clic en un registro para ver detalles o modificar campos eliminar registros elimine entradas que ya no son necesarias esta interfaz intuitiva mejora la gestión de datos al simplificar tareas rutinarias paso 4 – conectando su aplicación typescript a back4app con su backend listo, el siguiente paso es vincular su aplicación typescript con back4app opción a empleando el sdk de javascript de parse instalar el sdk de javascript de parse usando npm, ejecute npm install parse inicializar parse en su aplicación typescript cree un archivo de configuración (por ejemplo, parseconfig ts ) // parseconfig ts import parse from 'parse'; export function initializeparse() { parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; } 3\ implement crud functions in typescript for example, create a service for managing items ```typescript // itemsservice ts import parse from 'parse'; export async function fetchitems() promise\<parse object\[]> { const query = new parse query('items'); try { return await query find(); } catch (error) { console error('error fetching items ', error); return \[]; } } export async function additem(title string, description string) promise\<void> { const item = new parse object('items'); item set('title', title); item set('description', description); try { await item save(); console log('item added successfully '); } catch (error) { console error('error adding item ', error); } } export async function updateitem(objectid string, newtitle string, newdescription string) promise\<void> { 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); } } export async function removeitem(objectid string) promise\<void> { const query = new parse query('items'); try { const item = await query get(objectid); await item destroy(); console log('item removed successfully '); } catch (error) { console error('error removing item ', error); } } opción b utilizando rest o graphql si prefieres no usar el sdk de parse, puedes realizar operaciones crud a través de rest por ejemplo, para recuperar elementos usando rest import fetch from 'node fetch'; export async function getitemsviarest() { try { const 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' } }); const data = await response json(); console log('data retrieved ', data); } catch (error) { console error('error retrieving items ', error); } } integra estas llamadas a la api según sea necesario dentro de tus módulos de typescript paso 5 – asegurando la seguridad del backend configurando listas de control de acceso (acls) asegura tus datos aplicando acls a tus objetos por ejemplo, para crear un ítem al que solo su propietario puede acceder import parse from 'parse'; export async function createsecureitem(title string, description string, owner parse user) { const item = new parse object('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('secure item created successfully '); } catch (error) { console error('error creating secure item ', error); } } gestionando permisos a nivel de clase (clps) ajusta los clps a través del panel de control de back4app para hacer cumplir las restricciones de acceso de modo que solo los usuarios autenticados puedan interactuar con ciertas colecciones paso 6 – implementando la autenticación de usuarios gestionando cuentas de usuario back4app aprovecha la clase de usuario incorporada de parse para manejar la autenticación en tu aplicación de typescript, implementa el registro y el inicio de sesión de usuarios de la siguiente manera import parse from 'parse'; export async function registeruser(username string, password string, email string) promise\<void> { 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('registration error ', error); } } export async function loginuser(username string, password string) promise\<void> { try { const user = await parse user login(username, password); console log('user logged in ', user get('username')); } catch (error) { console error('login failed ', error); } } import parse from 'parse'; export async function registeruser(username string, password string, email string) promise\<void> { 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('registration error ', error); } } export async function loginuser(username string, password string) promise\<void> { try { const user = await parse user login(username, password); console log('user logged in ', user get('username')); } catch (error) { console error('login failed ', error); } } este enfoque se puede extender para la gestión de sesiones, restablecimientos de contraseñas y otras características de autenticación paso 7 – desplegando tu aplicación typescript back4app simplifica el proceso de despliegue puedes desplegar tu aplicación typescript utilizando métodos como la contenedorización con docker 7 1 construyendo tu aplicación typescript compilar y agrupar usa tu herramienta de construcción (como webpack o tsc) para compilar y agrupar tu aplicación por ejemplo, para compilar con tsc tsc confirmar la salida asegúrate de que los archivos generados incluyan todos los activos y módulos necesarios 7 2 organizando la estructura de tu proyecto un proyecto típico de typescript podría verse así basic crud app typescript/ \| src/ \| | index ts \| | parseconfig ts \| | services/ \| | itemsservice ts \| | authservice ts \| package json \| tsconfig json \| readme md ejemplo parseconfig ts // parseconfig ts import parse from 'parse'; export function initializeparse() { parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; } 7 3 dockerizando tu aplicación typescript si eliges la contenedorización, añade un dockerfile a la raíz de tu proyecto \# use an official node js runtime as a parent image from node 18 alpine \# set the working directory workdir /usr/src/app \# copy package files and install dependencies copy package json / run npm install \# bundle app source code copy \# build the typescript app run npm run build \# expose port (adjust as needed) expose 3000 \# start the app cmd \[ "node", "dist/index js" ] 7 4 despliegue a través de back4app web deployment vincula tu repositorio de github asegúrate de que tu proyecto de typescript esté alojado en github configura los ajustes de despliegue en el panel de control de back4app, utiliza la opción de despliegue web para conectar tu repositorio (por ejemplo, basic crud app typescript ) y selecciona la rama apropiada define los comandos de construcción y salida especifica el comando de construcción (como npm run build ) e indica el directorio de salida despliega tu aplicación haz clic en desplegar y sigue los registros hasta que tu aplicación esté en línea paso 8 – reflexiones finales y mejoras futuras ¡felicidades! has creado con éxito una aplicación crud basada en typescript integrada con back4app configuraste un proyecto llamado basic crud app typescript , diseñaste colecciones para items y usuarios, y gestionaste tus datos utilizando la aplicación de administración de back4app además, conectaste tu aplicación typescript a través del sdk de javascript de parse (o rest/graphql) e implementaste medidas de seguridad robustas ¿qué sigue? expande tu aplicación integra características adicionales como filtrado avanzado, vistas detalladas de artículos o actualizaciones de datos en tiempo real mejora las capacidades del backend explora funciones en la nube, integra apis de terceros o implementa permisos basados en roles aprendizaje adicional visita la documentación de back4app https //www back4app com/docs y consulta guías adicionales para optimizar tu aplicación ¡feliz codificación y disfruta construyendo tu aplicación crud en typescript!