Les comparto el diagrama explicado por Carlos
Conocer y comprender cómo se realizan las conexiones hacia los servidores a través de internet y sus implicaciones en el desarrollo de servidores
Bienvenida y presentación del curso
Qué es Node y cómo instalarlo
¿Qué son y cómo se usan las peticiones HTTP?
Métodos, cabeceras y estados
Cuerpo y query de la petición
Crear un servidor HTTP en Javascript, y comenzar a escuchar y responder peticiones desde un cliente .
Crear un servidor HTTP desde NodeJS
¿Cómo pueden venir las peticiones?
Recibir información desde el cliente: Body y Query
Información contextual: Leer las cabeceras
Tipos de respuesta: Vacía, plana, con datos y estructurada
Respuestas coherentes
Servir archivos estáticos
Errores: Cómo presentarlos e implicaciones en la seguridad
Comprender y desarrollar la arquitectura básica de un backend en NodeJS, y comunicarse entre módulos
Conceptualmente: Rutas, controladores y bases de datos
Rutas y capa de red: Responsabilidades y límites
Controladores: Definiendo la lógica de negocio
Almacenando la información en una base de datos
Utilizar una base de datos para definir, modelar, almacenar y recuperar la información de nuestra aplicación
Tipos de Bases de Datos: Relacionales y No Relacionales
Crear y Configurar tu Base de Datos con MongoDB
MongoDB: Almacenar y leer datos
MongoDB: Actualizar datos
MongoDB: Consultar datos
MongoDB: Eliminar Datos
Gestionar conexiones a la base de datos desde la API
Uso de entidades para crear aplicaciones escalables
Escalando la arquitectura: Múltiples entidades
Relacionando nuestras entidades
Cómo recibir ficheros desde NodeJS
Guardar el fichero en el servidor
Conocer el protocolo de websockets, e implementar comunicación cliente/servidor con SocketIO.
WebSockets: Qué son, por qué son interesantes y cómo usarlos
Manejo de Websockets con NodeJS
Conectar la API al servidor de WebSockets
Revisión de lo aprendido, y próximos pasos
Revisión y próximos pasos
Tips para escalar nuestro proyecto
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 86
Preguntas 9
Les comparto el diagrama explicado por Carlos
genial diagrama de la arquitectura del proyecto Backend!!! así lo deberían detallar en los demás cursos… porque a veces uno como estudiante,van demasiado rápido los profes creando archivos y carpetas y no sabemos de antemano y en ese mismo momento la razón de la organización de documentos… genial maestro!!!
De los mejores profesores que ha tenido Platzi, no se guarda nada y lo explica de manera precisa y concisa.
El profe es un monstruo!! Es uno de los mejores profesores de platzi y de mucho curso.
grandioso profesor, nominado al mejor profe de platzi 2020.
Hace poco use Strapi. Un Headless CMS que crea una API de manera sencilla. Pude observar que usa la misma arquitectura para contruir la API. Pero mi duda es:
¿Cuál es la diferencia con la arquitectura implementada en el otro curso de backend con Node de la escula de Javascript ? ¿Existe alguna guía para saber mas sobre los patrones de diseño o arquitecturas de backend con Node?
Es el primer curso que veo que un profesor explica primero que arquitectura utilizara para el proyecto. Enhorabuena profesor Carlos.
La verdad, me parece el mejor curso que he tomado hasta el momento!
APORTE DE LA CLASE
Server.js: recibe primero las peticiones, se encarga de comprobar si las peticiones son correctas para poder enlazarse a nuestro servidor o cancelarlas si hay un tipo de problema o algún fallo, también se encargará de configurar toda la información importante de nuestro servidor (Base de Datos, cabeceras).
Routes.js: es el que gestiona las rutas, vera hacia donde quiere ir la petición y llamara al componente adecuado.
Carpeta Componentes:
Message: esta carpeta tendrá toda la información de los mensajes del servidor http. Cuales son las acciones, lógica y donde se almacena.
Network.js. gestiona todas las rutas, tendrá los eloquents todo con el protocolo http.
Controller: Contendrá toda la lógica de nuestro message. Si el mensaje necesita una fecha o traer algo y todas las operaciones CRUD, comprobaciones. LOGICA DE NEGOCIO.
Store.js: Gestiona la BD. Decir dónde y cómo guardar la información.
Response.js: cada vez que una petición sea correcta desde http o los componentes lo enviará a response, de esa orma response será el que responderá al cliente.
Excelente profesor donde lo califico quiero darle 5 estrellas
Y por estas clases y explicaciones, Carlos es de los mejores maestros de Platzi!
excelente explicación, muy bien platzi por siempre estar buscando excelentes profesores
Arquitectura de backend para NodeJS
Por fin !!! alguito de buenas practicas, por lo general platzi es puro código espagueti.
Modelo de clases de aplicacion de ejemplo Telegrom
Para entender mejor el desarrollo presento un pequeño modelo de clases de los objetos que se utilizan.
Espero que sea de utilidad
Saludos
El mejor profe de Platzi!!
Super claro, gran manera de enseñara a estructurar nuestro proyecto.
Qué buena explicación!!!🔝👏🏻
Muy clara la explicación, excelente trabajo
Grande Carlos, necesitamos más cursos con él!
Como se llama esta forma de estructurar los archivos,
es un patrón de diseño?
Todos los profesores ded backend deberían hacer esto. Es mucho más facil de entender lo que se va a hacer si previamente se explica la arquitectura sin meterse de golpe con el código, primero la parte lógica conceptualmente hablando. Grande el profesor.
Recordemos que como programadores debemos tomarnos el tiempo de agarrar una hoja de papel, una pluma y ponernos a rayar todo esto. Al principio sera algo complicado porque quizá no estemos acostumbrados pero recordemos que la ventaja de tener una aplicación lista para ser escalable nos representara mucho menos trabajo en el futuro al momento de realizar cambios y detectar errores.
Que bueno aprender a hacer las cosas bien desde un principio, Muy buena explicación 😄
excelente profesor!!
Se podría decir que cada componente es un microservicio?
Excelente clase, así deberían ser todas.
Me encanta este curso! Sin duda de los mejores que hay en Platzi.
Uff que excelente explicacion
Esta clase vale oro
¡qué maravilla de profesor!
Excelente la manera como explica, enseña y transmite el conocimiento. Las personas más inteligentes son las que hacen ver simple lo complejo. Gracias Carlos!
Platzi es lo mejor
Unas buenas cervezas bien frías para Carlos, es un crack explicando. Sin duda, es uno de los mejores profesores que tiene Platzi… Todo muy detallado, claro y comprensible.
Esta arquitectura esta basada en el modelo de las 3 capas. Así pueden googlear.
Profe un placer escucharlo!
Excelente gestionar la base de datos para que en caso de utilizar una distinta a la original, no se tenga que gastar demasiado tiempo de desarrollo realizando los cambios
Profe, excelente explicación. Ahora bien yo agregaría una capa mas, que podría ser transversal a los componentes que sea Auth. Allí tendría los middleware que usarían nuestras rutas HTTP para saber si la entidad puede accederlas. Por Ejemplo un usuario no autenticado.
Arquitectura modular: nos permite hacer una aplicación fácilmente administrable y escalable.
creo que por el momento el mejor curso de node que tomé, la verdad me emociona y me incentiva a seguir aprendiendo. Mientras veía como el profesor explicaba me salio una sonrisa de la nada porque me super emocione de todo de lo que estoy por aprender!! Gracias!!!
Por fin entiendo esto de la arquitectura. 👏👏🎊
excelente explicacion
Muy fácil de entender, muy bien explicado!!
Una arquitectura interesante para aprender
Buena teoría vamos a ver que tal la practica
**Utilizando un dockerfile **
FROM node:12
COPY [“package.json”,“package-lock.json”, “/usr/src/”]
WORKDIR /usr/src
COPY [".", “/usr/src/”]
RUN npm install
EXPOSE 3000
CMD [“npx”, “nodemon”,“server.js”]
Capas:
1.- Capa Principal: Toda la configuración de nuestro servidor
2.- Capa de Red: Donde se encuentran nuestra configuración de nuestras rutas y respuestas.
3.- Capa de componentes: Aquí estarán todos nuestros componentes.
Esta Arquitectura yo la conozco como Controlador, Servicios y Repositorio. Los nombres son diferentes:
Network = Controlador
Controlador = Servicios
Store = Repositorio.
Muy buena clase, es esencial saber la estructura de nuestro backend para poder entender más a fondo y hacer nuestro proyecto escalable, muy bueno!
Me ha encantado como se explica esto, me recuerda mucho al desarrollo por capas que menciona italo en los cursos de php, que buenos profesores de backend hay en platzi btw 😄
Esta es probablemente de las clases mas importantes del curso! En definitiva escoger una buena arquitectura impacta directamente el futuro del desarrollo de la misma, su escalabilidad, mantenimiento y demas puntos a tomar en cuenta! Esta mortal esto!
Esto es un MVC normal no? lo mismo que usan laravel / symfony en php, o eso me suena
He trabajado mucho con el modelo MVC (modelo vista controlador) y este se ve parecido, hay alguna diferencia si desarrollo usando un modelo Mvc en vez de este o es mejor usar este modelo para todo lo de node?
Lo mas importante de usar esta conceptualización es que es de gran ayuda en la escalabilidad del proyecto
Genial! la verdad que da gusto tener las clases con un profe asi
Claro que que tenemos o vamos a desarrollar. Muy bien!!!
Excelente explicación @Carlos Hernández !!!
Muy buena explicación todo muy facil de entender 😃 a seguir aprendiendo para aportar en donde desarrollo!!
Me encantó la explicación!!
It’s great He said correctly “Mysql” instead of “Myciqual”
😃
Diagrama de backend
Excelente!! El hacer este mismo proceso que hace el profe. De diseño de la arquitectura nos quita muchos dolores de cabeza!!
Que gran explicación y que gran profe!!!
Tengo una pregunta, en cada componente se esta poniendo una conexión a base de datos, el ejemplo que pone sobre porque debe ser así es en caso de que se tenga que cambiar la base de datos de los usuarios solo sea cambiar la base de datos del componente y listo, pero que pasa si voy a cambiar la base de datos de todo el proyecto, tocaría cambiar en todos los componentes y si el proyecto es muy grande seria muy tedioso.
que se debe hacer en ese caso ?
De las mejores clases que he visto.
lo mejor del cursoo…
¿Esta misma arquitectura la puedo aplicar para cualquier otro tipo de prroyectos?
muy buena clase gracias Maestro Carlos!!!
Diagrama de componentes
RUTAS - CONTROLADORES - ALMACENAMIENTO
Muy buena explicacion. Excelente arquitectura para un backend.
Excelente explicación
Muy bien explicado
explicación muy clara y paso a paso, excelente
Excelente explicación, gracias por tomarse el tiempo de hacer los apuntes, muy pocos profes hacen eso.
Internet - Las peticiones, de otro servidor, ordenador o teléfono, estas vienen desde internet,
Servidor.js - El encargado de recibir las peticiones es el server.js, este verificara que las peticiones sean correctas para entrar al servidor o cancelarlas, tiene configuración importante, base de datos, cabeceras, etc. el servidor.js manda la información a response.js y route.js
Route.js - Este verifica a donde quiere ir la petición y llamar al componente adecuado
Response.js
Componentes -
Mensajes -
Networks.js - Archivo donde ponemos todas las rutas, aquí ponemos los end points e información que tenga que ver con el protocolo http
Controller - Tiene toda la lógica, todo lo que sea modificar, cambiar, modificar, comprobar, se hace aquí
Store - Se encarga de gestionar la base de datos, aquí se especifica, donde y cuando se guarda la información
Response.js - Cada que una petición sea correcta o incorrecta este modulo responde, de esta manera nos aseguramos que las respuestas tengan la mismo forma y sentido
Woooo!!! Entendiendo patrones de diseño ❤️.
Excelente profesor!
Muy buena la explicación.
😮 interesante.
¿Esta misma arquitectura la puedo aplicar para un backend con otros lenguajes de programación?
¿Cómo se llama esta arquitectura? Está muy interesante, y quisiera profundizar.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.