Está en la página 1de 18
a M Fik ao” Tutorial CRUD usando Node JS, Express, React JS y MySQL (Full-Stack) © 14 DE SEPTIEMBRE DE 2021 &MFIKRISETIADI & REACCIONARJS @ 23,045 VISTAS 5 COMENTARIOS En este tutorial, aprendera como crear una aplicacion CRUD de pila completa utilizando nodejs, express, MySQL y React JS. No solo eso, En este tutorial, también aprendera a usar Bulma CSS para disefiar la interfaz. Por lo tanto, la aplicacion que se crea se vuelve mas facil de usar con una interfaz de usuario (Ul) elegante y receptiva. Este no es un tutorial para principiantes, Si es un novato en nodejs express, le sugiero que primero aprenda el * Tutorial de Express Js para principiantes * Y si eres nuevo en React JS, te sugiero que primero aprendas el * Tutorial de React Js para principiantes * Empecemos. PMN Claes SN os Re Gander Actions joneegmaiicom o wie interigmaiicom oo ee #1. Instalar: Express, MySQL2, Nodemon y Cors Crea una carpeta en tu computadora, aqui la nombre * fullstack " Si crea una carpeta con el mismo nombre. eso es atin mejor. Puede crearlo en cualquier lugar, ya sea en C, D 0 en el escritorio. Luego abra la carpeta " fullstack * usando el editor de cédigo, aqui uso Visual Studio Code También te sugiero que uses Visual Studio Code Puede descargar Visual Studio Code en el siguiente enlace y luego instalarlo en su computadora https://codevvisualstudio.com/ Después de abrir la carpeta * fullstack * con Visual Studio Code. cree una subcarpeta llamada * backend * dentro de la carpeta * fullstack * Acontinuacién, abra una terminal en Visual Studio Code en la barra de ment terminal -> nueva terminal. Luego, ve a la carpeta * backend " escribiendo el siguiente comando en la terminal: Después de eso, escriba el siguiente comando en la terminal para crear un * paquetejson “archivo Acontinuacién, instale express . mysql2 , sequelize y cors escribiendo el siguiente comando en la terminal: Acontinuacién, instale nodemon como una dependencia de desarrollo escribiendo el siguiente comando en la terminal Acontinuaci6n, agregue el siguiente cédigo al * paquete json *: archivo Entonces, el arch 0" paquete,json * se parece a lo siguiente: Esto es para que podamos usar la sintaxis del médulo ES6 para exportar e importar médulos. #2. Crear base de datos y tabla. Para poder usar MySQL, debe instalar XAMPP, WAMP, MAMP o un software similar. En este tutorial, estoy usando XAMPP Luego cree una nueva base de datos en MySQL. puede usar herramientas como SQLyog. PHPMyAdmin o herramientas similares. Aqui creo una base de datos con el nombre * mern_db * Si crea una base de datos con el mismo nombre, eso es atin mejor. Para crear una base de datos en MySQL, se puede hacer ejecutando la siguiente consulta El comando SQL anterior creara una base de datos con el nombre * mern_db *. Acontinuacién, cree una tabla en la base de datos * mern_db * Aqui creo una tabla con el nombre * productos * Si crea una tabla con el mismo nombre. eso es atin mejor. Para crear una tabla de * productos *, se puede hacer ejecutando el siguiente comando SQL Cee eae PC eRe aCa El comando SQL anterior creara una tabla llamada "productos" con campos: id , titulo precio , createdat y updatedat Sequelize requiere que tenga campos: id, createdAt y updatedAt Sino tiene ese campo, habra un error. #3. Estructura de la aplicacio6n Para que la aplicacién esté mas estructurada, aplicaremos el patron MVC (Model-View- Controllers). Cree las carpetas * config *," controllers *, " models * y * routes * en la carpeta "backend * Luego cree un * base archivo de datosjs" en la carpeta * config * cree un archivo" Productosjs * en la carpeta * controladores * cree un archivo * productModeljs * en la carpeta * modelos *. cree un“ indice js" en la carpeta “ routes ". y cree el archivo * indexjs ” enla carpeta * backend " Mira la siguiente imagen para mas detalles: Pea e ae ole #4, Conectar a la base de datos Abra el base archivo * de datos/s* en la carpeta * config *, luego escribsa el siguiente codigo #5. Modelos Abra el archivo del modelo * productModeljs * que se encuentra en la carpeta * modelos * luego escriba el siguiente cédigo: Poet eo #6. Controladores Abra el archivo del * Productosjs * que cuentra en la carp ontroladores *, lu Oe aa Cages a re NN ee ae an aay reese eee sear) son(products) ee son({ m ssage }) = async ( ENG ssp) Pega try { Cees Ca aes aaa await Cooaae ant ce #7. Rutas Abra el archivo * indexjs " ubicado en la carpeta * routes *, luego escriba el siguiente codigo rarest mes, ore peters ote rote zeta et fed #8. Punto de entrada Abra el archivo * index,js " ubicado en la carpeta * backend ", luego escriba el siguiente cédigo Mayu siguiente comando en la terminal: Siva bien, se veré como la siguiente imagen: Hasta aqui ha creado con éxito un * backend * Para asegurarse de que el backend funcione correctamente, puede usar POSTMAN o las extensiones de cliente REST en VS Code para realizar algunas pruebas. #9. Interfaz Para el front-end, usaré React JS. Si no esta familiarizado con React JS, le sugiero que primero aprenda el* Tutorial de React JS para principiantes * Hay muchas maneras de crear un proyecto React. Sin embargo. la forma mas facil es * crear una aplicacion de reaccion * Abra una nueva terminal y cree un nuevo proyecto de reaccién escribiendo el siguiente comando en la terminal: Y asegurese de estar en la carpeta * fullstack *. como en la siguiente imagen: re CU Te Si la instalacin esta completa, habra una carpeta * frontend * en la carpeta * fullstack * De modo que en la carpeta * fullstack * hay dos carpetas, a saber: * backend " y * frontend * como se muestra a continuacion: FULLSTACK k La carpeta * backend “es la carpeta de la aplicacién que se creé previamente con nodejs express, mientras que la * frontend * es la carpeta de la aplicacién que se creé con React JS, A continuacién, vaya a la carpeta * frontend * escribiendo el siguiente comando en la terminal: Después de eso, instala react-router-dom , axios y bulma escribiendo el siguiente comando en la terminal: Una vez completada la instalacién, y para asegurarse de que todo vaya bien, escriba el iguiente comando para ejecutar el proyecto: LET Pel Ca ata ad ente man oe eat ROR eetomser tag #10. Componentes Cree una carpeta llamada * componentes * dentro de la carpeta * frontend/sre * Luego, cree los archivos de componentes * ProductListjs *. * AddProductjs* y * EditProduct,s * en la carpeta * frontend/sre/components * Como la siguiente imagen: Guttartard ee read MN atee aa JS EditProductjs Pea ererat Luego abra el archivo * ProductListjs *, luego escriba el siguiente codigo: Pe getProducts() rs Corser tae. ae SLO ane Costes reese eae rset Pete agers aT) } Gest ae et ase on Prouarsstrgr aise Petre ts so hs Crewe http: coed cane Sere: pet Ca Pires ea Sueeacea Pricec/th> Aactions ae ters ety feo eee ETT i Sree ee eee ears Poaiad te } From ‘react’ Pearce echoes penance ae att Sen ea saat const [ Coan! Tiras ane shat eee carta cca ice, setPrice] = useState(' Smee thc Ord ees) tee aC ant arerearte ese) title: Petes arty iets CEL em Tere } eet re Sess Brats Peerage fiel Sree ena jame="table is-striped is-fullwidth" See Borris ate ear trast iether) pretense nar ey aaere es ire Ae Ueto >Add New Poe Sy 1 } erat ec price } ers eas Cap aAC coon Caer core Soy erence i eee ue={ titl ieee Pees jeer ee Sioa placeholder erent See eS Senieeer rt Teg Tas Aplicacion.js "Appis © #12. Pruebas Regrese al navegador y visite la siguiente URL: i Mm od Siva bien, se vera come la siguiente imagen: No Title Price 1 Product 1 2 Product 2 993 3 Produc Product 165 5 Product 5 872 Actions Haga clic en el botén * Agregar nuevo *. aparecera un formulario como el siguiente: Title Product New Price 982 Ingrese * Titulo * y * Precio * luego haga clic en el boton * GUARDAR * Si la inserci6n es exitosa, vera la adicion de datos a la lista de productos como se muesira a continuacion: Price Actions 1 Product 1 873 —— 2 Product 2 993 ing Pod 3 Product 3 979 Ss 4 Product 4 165 —— 5 Product 5 872 6 Product New 982 Cos Para actualizar los datos. haga clic en uno de los * Editar *, apareceré un formulario como el siguiente: botones Title Product Updated Cambie el * Titulo * 0 el" Precio *. luego haga clic en el botén * ACTUALIZAR * Si la actualizacion es exitosa, vera cambios en los datos en la lista de productos como se muestra a continuacién: Price Actions 1 Product 1 873 2 Product 2 993 Conclusi6n: La discusién esta vez es cémo crear una aplicacién de pila completa con un nodejs ‘express en el backend y un frontend usando React JS. De esa manera, tendira una idea de cémo crear una aplicacién web moderna que separe el backend y el frontend. Entonces, cqué estas esperando? iVamos a codificar!

También podría gustarte