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
You don't have access to this class
Keep learning! Join and start boosting your career
Contributions 92
Questions 11
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.
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!
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?
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.
 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.
Want to see more contributions, questions and answers from the community?