👉 NODE js ¿Cómo ESTRUCTURAR un proyecto? / Escalable / Mantenible👉
HTML-код
- Опубликовано: 20 июл 2021
- 🔥 🔥 Node desde cero🔥🔥
Hola soy Leifer Méndez si quieres ver mas cosas abre la descripción.
En este video muestro la estructura (api node) o como estructurar tus carpetas que para mis proyectos de nodejs ya tengo algunos proyectos que mantienen miles de visitas al mes y son escalables, mantenibles.
Si estás empezando a programar, o si quieres fortalecer tus conocimientos te doy la bienvenida a este canal.
Aquí hablamos angular desde cero, node, mongo, de frontend de backend, problemas reales de un programador y soluciones que se aplican en el día a día.
Aquí vas a encontrar tutorías de angular, tutoriales de node, juntos llevaremos a la práctica ejercicios reales, así que venga y le cuento.
Si aún no estás suscrito y este contenido gusta 👉 / @leifermendez
REPOSITORIO: github.com/leifermendez/node-...
👋 𝐂𝐔𝐑𝐒𝐎𝐒 𝐆𝐑𝐀𝐓𝐈𝐒
├ 0️⃣ 𝙑𝙀𝙍 𝙏𝙊𝘿𝙊𝙎 ⮕ leifermendez.github.io/#/
├ 1️⃣ 𝘼𝙉𝙂𝙐𝙇𝘼𝙍 desde cero ⮕ bit.ly/367tJ32
├ 2️⃣ 𝙉𝙊𝘿𝙀 Express desde cero ⮕ bit.ly/3od1Bl6
├ 3️⃣ 𝙈𝙊𝙉𝙂𝙊𝘿𝘽 desde cero ⮕ bit.ly/3qh35wK
└ 4️⃣ 𝙎𝙊𝘾𝙆𝙀𝙏.𝙄𝙊 desde cero ⮕ bit.ly/3pg1Q02
🤑 𝐂𝐔𝐑𝐒𝐎𝐒 𝐏𝐀𝐆𝐎𝐒
└ 𝘼𝙉𝙂𝙐𝙇𝘼𝙍 principiantes ⮕ link.codigoencasa.com/PROMO-I...
🚀 𝐂𝐎𝐌𝐔𝐍𝐈𝐃𝐀𝐃 𝐘 𝐆𝐑𝐔𝐏𝐎𝐒 𝐃𝐄 𝐄𝐒𝐓𝐔𝐃𝐈𝐎
├ 𝙎𝙐𝙎𝘾𝙍𝙄𝘽𝙀𝙏𝙀 ⮕ / @leifermendez
├ 𝙈𝙄𝙀𝙈𝘽𝙍𝙊𝙎 ⮕ / @leifermendez
└ 𝙏𝙀𝙇𝙀𝙂𝙍𝘼𝙈 ⮕ t.me/leifermendez
🏆 𝐌Á𝐒 𝐂𝐎𝐍𝐓𝐄𝐍𝐈𝐃𝐎
├ 𝙎𝙋𝙊𝙏𝙄𝙁𝙔 ⮕ spoti.fi/3vnrvqg
├ 𝙔𝙊𝙐𝙏𝙐𝘽𝙀 ⮕ / leifermendez
├ 𝙄𝙉𝙎𝙏𝘼𝙂𝙍𝘼𝙈 ⮕ / leifermendez
├ 𝘽𝙇𝙊𝙂 ⮕ www.codigoencasa.com
└ 𝙁𝘼𝘾𝙀𝘽𝙊𝙊𝙆 ⮕ / leifermendez.dev
💰 𝐏𝐑𝐎𝐌𝐎𝐂𝐈𝐎𝐍𝐄𝐒 𝐘 𝐃𝐄𝐒𝐂𝐔𝐄𝐍𝐓𝐎𝐒
├ 𝙃𝙊𝙎𝙏𝙄𝙉𝙂 Aprovéchate del descuento) ⮕ bit.ly/hosting-descuento-leif...
├ 𝙑𝙋𝙉 (3 meses gratis de servicio) ⮕ bit.ly/vpn-leifermendez
└ 𝙑𝙀𝙍 𝙏𝙊𝘿𝙊 ⮕ link.codigoencasa.com/MAS-COSAS
🧠 𝐑𝐄𝐏𝐎𝐒𝐈𝐓𝐎𝐑𝐈𝐎 𝐘 𝐂𝐎𝐃𝐈𝐆𝐎𝐒
└ 𝙂𝙄𝙏𝙃𝙐𝘽 ⮕ github.com/leifermendez
✉️ 𝐂𝐎𝐍𝐓𝐀𝐂𝐓𝐎
└ 𝙈𝘼𝙄𝙇 ⮕ leifer.contacto@gmail.com
Si el contenido de esta lección te gusta recuerda suscribirte al canal, compartirlo, dejar una manito arriba y activar la campanita para que youtube te avise cuando subo un nuevo video.
#leifermendez #leifermendezangular #leifermendeznode Наука
├ 𝙑𝙀𝙍 𝙏𝙊𝘿𝙊𝙎 ⮕ leifermendez.github.io/#/
├ 𝘼𝙉𝙂𝙐𝙇𝘼𝙍 desde cero ⮕ bit.ly/367tJ32
├ 𝙉𝙊𝘿𝙀 Express desde cero ⮕ bit.ly/3od1Bl6
├ 𝙈𝙊𝙉𝙂𝙊𝘿𝘽 desde cero ⮕ bit.ly/3qh35wK
├ 𝙎𝙊𝘾𝙆𝙀𝙏.𝙄𝙊 desde cero ⮕ bit.ly/3pg1Q02
└ 𝙉𝙂𝙍𝙓 𝙙𝙚𝙨𝙙𝙚 𝘾𝙀𝙍𝙊 ⮕ link.codigoencasa.com/NODE
Muy buen tutorial y bien explicado, gracias por compartir tus conocimientos.
Saludos Leifer, hace unos meses que encontré tu canal, pero recién lo estoy viendo con más frecuencia ya que estoy aprendiendo backend con Node…
Tu contenido es increíble, entendí prácticamente casi todo, en un futuro espero comprar uno de tus cursos 😁😁😁
Va de lujo para monolitos y aplicaciones peques, el desarrollo es súper rápido con esa estructura... 👍
Leifer, buenas noticias. Desintalé y volví a instalar mongodb y ahora se conectó correctamente. Wow. Que alegria. Sigo para alante. Bendiciones.
Este video es exactamente lo que necesitaba y bsucaba.
Que maravilla esta data... Gracias!
Muy bueno el tutorial, Dios te bendiga
Excelente Leifer, muy buen contenido!, ¿podrías subir algun video de una arquitectura escalable de una aplicación angular/node en DO o algún otro proveedor ?, gracias!
Excelente video man, me ayudaste uff mil gracias
Estoy terminando el vídeo y me está pareciendo increíble. Me encantó y aprendí muchas cosas. Nuevo sub
Hola Revers muchas gracias y bienvenido a esta comunidad
muy interesante tu video, voy iniciando en programacion web, tratando de migrar un proyecto de COBOL a NODE js
excelente video!! muchas gracias.
no sabes lo agradecida que estoy con este video y lo mucho que me ayudooo esta super bien explicado y sé que podré volver a verlo por practica u-u
Muchas gracias por ese comentario y dejar tu likr
muy bueno, gracias por compartir conocimiento que vale
Gracias a ti por ver
Excelente video! me sirvio un monton. Suscripto :)
Se agradece crack por la información
Excelente estructura muy buena gracias
Esta información vale oro. A aplicarlo en todos mis proyectos 💪
Hola Víctor muchas gracias por siempre estar pendiente de los videos
Excelente video, gracias Leifer
Gracias a ti por ver y formar parte de esta comunidad
Gracias por el video!! Consulta, cual sería tu capa de negocio? veo que expones directamente el endpoint mediante en controlador, siento que debería tener una capa service y otra donde vaya la lógica de negocio. Crees que sería bueno?
Hola Leifer, excelente video, yo tengo una arquitectura similar pero encontré que trabajando por modulos tienes un poco más de orden y segmentando esos módulos en capas internas de Modelo, Controlador, Servicio y Datos tienes mayor control al desarrollar y en los momentos de que aparezca una que otro bugsito por ahí. Saludos desde Caracas, me gusta mucho tu contenido.
Hola Gabriela gracias por tu comentario y por formar parte de esta comunidad Saludos desde Madrid
Me gustan mucho tus videos
que grande, me encantó la forma de explicar :) sigue así
Saludos Óscar y bienvenido a esta comunidad
Buen vídeo, me gusto aprendí algo nuevo, muchas gracias.
Gracias a ti Jean Carlos por formar parte de esta comunidad
El mejor final de un video del mundo
un pequeño problema técnico pero seguimos adelante
Excelente video, me ayudo a refrescar la manera de empezar un proyecto. Lastima que no hay un vite para node
♦ Excelente contenido maestro
Dios le bendiga y muchas gracias por compartir su conocimiento, dedidar su tiempo a enseñarnos a aquellos que estamos empezando...
Ramón, muchas gracias por esas palabras y por esas bendiciones de todo corazón estoy aquí para apoyarles, espero continuar compartiendo y apoyando a todos aquellos apasionados del código. Un abrazo!
Quedó atento de si te es posible porder ver cómo se hace una estructura así con MySQL al igual que muchos que te seguimos panita... para seguir aprendiendo más ya que en mi trabajo se usa es SQL.
Como siempre gracias y que cada día sea la oportunidad de seguir avanzando.
Excelente contenido.
Excelente video, no se si ya lo tienes pero un video como este enfocado a angular a muchos le ayudara saber como estructurar su proyecto
Hola Dayern si voy a sacar uno que ya he estado trabajando próximamente lo saco
Muchas gracias enserio que calida. Inspiras a codear
Gracias a ti por pasarte!
Muy bien vídeo 👌, me gustaría que hicieras otro vídeo solo dedicado al tema del escalado y si se puede con un ejemplo práctico, estaría muy cool.
Yeahh claro que sí Andrés justo estaba esperando que alguien pidieron eso 😁
Estaría genial!!!!
Hola buenas noches... Me gustaría verlo en amigo.. Me muchas gracias por tu aporte
que genio! buen tutorial! me gustaría que hicieras algún tutorial para configurar varios entornos(testing,produccion)
Hola Joel gracias por formar parte de esta comunidad
Hey bro, sería cool que hicieras un vídeo estructural, escalable basándose en Programación multiparadigma Orientada a Objetos ES6+
Sería muy chill para poder adaptarse a demanda actual
Muchas gracias bro, me ayudo mucho para organizar mi proyecto de examen
Que tal Bryan excelente
Excelente video. Me clarifica muchísimo. Ojalá puedas hacer un curso completo de node + mongoDb tipo un blog o algo así donde podamos observar como trabajar con todos los tipos de relaciones. Ayudaría mucho. Este año arranque a ver mongoDb y se me complica modelar la base de datos por lo que me sería de gran ayudar un tutorial de ese estilo
Franco, te dejo un video de youtube en el que toco node + mongoDb.
ruclips.net/video/xRXHQlqA3Ak/видео.html
También te dejo el link al blog que tengo, donde encontrarás una sección destinada a node.
codigoencasa.com/
Por último te dejo el link de discord por si algún día estás atorado con algo, la comunidad siempre está dispuesta a colaborar.
link.codigoencasa.com/discord
Increible profesor
Gracias aqui aprendemos todos y yo he aprendido un montón de las comentarios y preguntas
Excelente video, de verdad muchas gracias! tengo una pequeña duda, he visto que con php hacen que un header (barra de navegacion) y/o footer aparezca en todas las paginas html existentes y asi ahorrarse codigo y tener un mejor control, como podria hacer esto con node js? tengo la impresion de que es usando templates, pero me gustaria saber a detalle como, de antemano gracias!
Increible!
Hola Jeremy Gracias
Excelente contenido gracias!!
Gracias a ti por comentar y compartir
Gran explicación. Clara y super entendible. ¿Has realizado un video similar de cómo estructurar un proyecto escalable en Angular?. Gracias!
Hola Januz pronto la verdad estoy probando un estructura de proyecto hasta el momento no llevo problemas si sigo así unas semanas más subo un video
@@LeiferMendez Por cierto, hay varios artículos y videos sobre implementar componentes inteligentes-tontos, facade, etc que son un poco confusos. Tal vez el video que vas a realizar sobre este tema nos aclare el panorama a los que estamos aprendiendo el framework de Angular. Gracias de antemano.
Hola Leifer, gracias por este y todos tus contenidos. Te quisiera consultar.. quiero hacer un API en Express que sea escalable dinámicamente, como mencionas en este video. Tenés algún video donde expliques como hacer este tipo de entornos? No sé si hacer un API donde todos los clientes se conecten o hacer un servicio por cliente que tenga su propia api, y estoy un poco perdido con el tema escalamiento.
Genial como siempre Leifer ¿Tienes planteado sacar algo con SQL?
Hola Diego no tenia pensado pero veo que me lo han pedido varios seguro sii
@@LeiferMendez yo adapte esta arquitectura a con una conexion a MySQL
@@RonaldV03 que bueno cuéntame alguna complicación ?
@@LeiferMendez La verdad fue de manera educativa ya que tenía mucho q no tocaba MySQL y fue un crud sencillo pero me gustó mucho y no hubo muchas complicaciones más que decirme a mí mismo volver a MySQL jajajaja
Siempre se debe colocar un middleware por archivo o se pueden colocar varios en uno solo? Que es mejor?
Vi que en java aplican mucho la inyeccion de dependencias usando interfaces, eso seria mas o menos escalable que lo que haces en este video?
gracias recién ando empezando en el mundo de node js
Gracias ROnny por formar parte de esta comunidad bienvenido :)
Gracias!
Saludos David cómo siempre pendiente y gracias
Veo que estas usando el versionamiento en el API (1.0), pero en caso de que crezca y necesite un grupo de rutas (2.0) como separo por ejemplo las rutas de usuarios 1.0 a las de 2.0?
Muy buen video Leifer!
Estuvo leyendo sobre como organizar los proyectos en Node. Recomiendas tener una capa entre la BD y los controllers, por ejemplo una capa de servicio? También crees que sería necesaria tener una clase Base y que esa extiendan el resto, a medida que sea necesario?
Gracias!
Buenas Carlos si la recomiendo :) pronto estaré sacando un curso de NestJS donde aplicamos un poco más de abstracción :)
Porque no usas NestJs? Creo que es algo tedioso armar la estructura e instalar todas las dependencias siempre, con nest ya tienes todo sin mencionar que usa typescript con angular va súper bien puedes hasta compartir modelos o dtos entre ambos proyectos
Hola Ariel sii lo tengo pensado hacer pronto comienzo con Nestjs
Ya habrá un paquete de npm creado para hacer parte de la automatización de los endpoints en base a nombres de los controladores?
Excelente guia Leifer, sin embargo consulta, tiene una guia similar con MySQL?? Seria genial, quedamos atentos
Saludos próximamente estaré haciendo videos de con sql
Leifer, que buenos videos 👍 por cierto no compartiste el link del repositorio que te basas para hacer esta estructura
Gracias te lo comparto github.com/leifermendez/node-seed-api
Excelente video, hay posibilidades de ver patrones de diseño como el repository, etc? Gracias
Si preparare un material hablando del tema! Gracias por formar parte de esta comunidad Nomak
@@LeiferMendez gracias a vos por compartirnos tus conocimientos!
Crack
🐱🏍🐱🏍🐱🏍🐱🏍🐱🏍 Gracias a ti por ver y formar parte de esta comunidad
Gracias por el video, pero tengo una consulta. En el minuto 29:05 tu inyectas el middleware que hara las validaciones que cabeceras(para el ejemplo tokens), sin embargo cuando en la actualidad cuando le agrego ese tercer parametro me sale un error.... sabes si sigue siendo asi la forma como trabaja el express o ha cambiado en algo? De ser asi, como podria agregar un middleware? Gracias de antemano a la comunidad por su ayuda
No se preocupen chicos, ya encontre el error, fue un tema de codigo mio :D
La arquitectura de capas(de la manera de Spring Boot, ASP.NET o Laravel) parece que no es aplicable en nodejs aún
Pregunta!? a que se le llama mucho trafico? a cuanta cantidad sería? el curso y los videos que vi muestran todos como guardar en una base de de datos local. Como hago para que un proyecto se guarde en la nube? tus cursos explican esto? por que ya vi varios videos de como hacer una api usando postgre y mongo pero no en una nube... (hace unos meses empecé a estudiar a si que soy nueva)
Hola Ro Fernández puedes conectarte a un servicio de base de datos en la nube como mongoatlas , con respecto a mucho tráfico es relativo este diseño lo he probado en sistemas que mantienen unas 50k visitas al mes próximamente voy a hablar sobre escalamiento vertical y horizontal
que teclado usas???? 🤯
Saludos Leifer, acabo de conocerte y estoy probando este tutorial. Logro todo bien hasta: API lista en el puerto 3000 pero me dice error de conexion. Me pregunto a que base de dato se va a conectar si no he creado ninguna. Necesito entender por que me da error de conexion. Gracias.
Hola Código ya tienes instalado mongo ?
Estoy bien interesado en tus tutoriales, pero el caption, o letreros que aparece todo el tiempo, no me deja ver el tutorial. Tengo que estar moviendolo cada segundo para arriba o para abajo y abarca casi toda la pantalla. Si pudieras cambiar eso te lo agradeceria. Gracias.
Hola código gracias por tu comentario mejorare para el próximo video 👏👏👏👏
@@LeiferMendez Gracias Leifer. Ya resolví lo de los caption. Era mi culpa. Disculpame por el comentario.
tkm
¿Cual es la diferencia entre un Controller y un Router?
epxress?
Como hace para que se idente el código de esa manera al guardar el archivo?
Hola Alberth te comparto un blog donde te explica linuxpip.org/auto-indent-vscode/
Hola Leifer, no me funciona la carga dinamica de rutas, lo copie tal cual del repo y en el app.js tengo el app.use('/api', require('./routes')), me sale el error de que no encuentra la ruta {error: not found}. Gracias saludos!
Hola Ivof me puedes pasar por Telegram o por fb una captura de todo el archivo
Hola, @@LeiferMendez. Tengo el mismo problema. Sabes por qué puede ser?
O @Ivog, pudieron solucionarlo?
Gracias
@@Vladimir-go5yn hola asegúrate bien de tener los "/" de manera correcta guiate del repositorio que deje. O si tú tienes montado en un repo compártemelo
Hola Leifer,
En la parte en la que creas el archivo index.js y lo invocas en el app.js, cuando lo corro en la terminal me tira un error diciéndome que const pathRouter = `${__$dirname}` no está definido
Hola Juan puedes compartir tu codigo para ver más detalle de igual manera te dejo el link del repositorio github.com/leifermendez/node-seed-api/blob/main/app/routes/index.js#L5
@@LeiferMendez Muchas gracias por tu respuesta
Genial si veo el impacto que tiene esta estructura, pero usar Nest js no seria facil?
Hola Alexander sii puede ser, esto. Es para los proyectos que no están en Nestjs
lo replque usando ecmascript 6 con typescript espero les sirva ,codigo: import fs from "fs";
import { Router } from "express";
const router = Router();
const path = `${__dirname}`;
const eliminarExtension = (fileName: string): string => {
return fileName.split(".").shift() || "";
};
const routesDinamicos = async () => {
const files = fs.readdirSync(path).filter((file) => {
const fileWithOutExtension = eliminarExtension(file);
const verfyFileNameOmitIndex = ["index"].includes(fileWithOutExtension);
return !verfyFileNameOmitIndex;
});
for (const file of files) {
const fileWithOutExtension = eliminarExtension(file);
const routePath = `/${fileWithOutExtension}`;
const filePath = `./${fileWithOutExtension}`;
const module = await import(filePath);
router.use(routePath, module.default);
}
};
routesDinamicos();
export default router;
Fenomenal 👌
Muy buen aporte pero seria un plus hacer el ejemplo usando TypeScript
Buenas aqui tienes github.com/leifermendez/curso-node-ts
@@LeiferMendez que buen servicio!!!
No usas TypeScript en tus proyectos con node ?
Hola Jhon, si de hecho tengo videos de api con ts.
Un saludo!
Excelente video y si uso MySQL ? Y no mongo
Hola Alex puedes usar perfectamente mysql o sequelize
@@LeiferMendez cuando haces el npm i instalas varias dependencias correcto por ahí era mi inquietud, de MySQL te agradezco muy buen vídeo
Por qué me da siempre error de conexión????? Please, I need help...............
Hola te aseguraste.de.tener instalado mongo ?
@@LeiferMendez Wow Leifer, que alegria recibir respuesta de tu parte. Eres muy amable. Mira si, de hecho lo probé en dos PC diferentes. En las dos tengo instalado mongo, y en ambas me sucede lo mismo. Tengo un poco de mala suerte jajaja. Me pregunto que puedo hacer para que esto me funcione. Lo de las letras no era culpa tuya. Disculpame. Yo tenia que cambiar la opcion de caption. La quite y ya desaparecieron las letras. Tus tutoriales estan maravillosos, pero para alguien que esta aprendiendo, se supone que aparecen obstaculos.
Puedes crearlo con autentificacion jwt
Proximamente!
curso pero con otra base de dato como mysql
PS C:\Users\Rey's PC\Desktop
ode-seed-api> node app
API lista por el puerto 3000
**** ERROR DE CONEXION ****
en la parte de ,(err,res)=>{
if(!err){
console.log('*** ESTABLISHED CONNECTION***');
}else{
console.log('***CONNECTION ERROR MONGO***', err)
} imprime el "err" en el console para que te diga exactamente que es
Me gusto pero no entendí un mierda
conozco funciones, arreglos en js
Hay cosas que me pierden que puedo aprender antes de tocar esto
Faltan las buenas prácticas joven aprendiz, pero vas bien
Hola Sebastian por supuesto aqui estamos aprendiendo todos :) si tienes un link donde podamos compartir las buenas practicas compártemelo :)
@@LeiferMendez Fernando herrera, el mejor en eso pero vas muy bn éxito 👏👏
@@alexissebastian7614 genial buscare contenido sobre él y compartir mi experiencia acerca del tema gracias
Ecológico y feminista?