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

1

Bienvenida y presentación del curso

2

Qué es Node y cómo instalarlo

3

¿Qué son y cómo se usan las peticiones HTTP?

4

Métodos, cabeceras y estados

5

Cuerpo y query de la petición

Crear un servidor HTTP en Javascript, y comenzar a escuchar y responder peticiones desde un cliente .

6

Crear un servidor HTTP desde NodeJS

7

¿Cómo pueden venir las peticiones?

8

Recibir información desde el cliente: Body y Query

9

Información contextual: Leer las cabeceras

10

Tipos de respuesta: Vacía, plana, con datos y estructurada

11

Respuestas coherentes

12

Servir archivos estáticos

13

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

14

Conceptualmente: Rutas, controladores y bases de datos

15

Rutas y capa de red: Responsabilidades y límites

16

Controladores: Definiendo la lógica de negocio

17

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

18

Tipos de Bases de Datos: Relacionales y No Relacionales

19

Crear y Configurar tu Base de Datos con MongoDB

20

MongoDB: Almacenar y leer datos

21

MongoDB: Actualizar datos

22

MongoDB: Consultar datos

23

MongoDB: Eliminar Datos

24

Gestionar conexiones a la base de datos desde la API

Uso de entidades para crear aplicaciones escalables

25

Escalando la arquitectura: Múltiples entidades

26

Relacionando nuestras entidades

27

Cómo recibir ficheros desde NodeJS

28

Guardar el fichero en el servidor

Conocer el protocolo de websockets, e implementar comunicación cliente/servidor con SocketIO.

29

WebSockets: Qué son, por qué son interesantes y cómo usarlos

30

Manejo de Websockets con NodeJS

31

Conectar la API al servidor de WebSockets

Revisión de lo aprendido, y próximos pasos

32

Revisión y próximos pasos

33

Tips para escalar nuestro proyecto

You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
10 Hrs
57 Min
47 Seg

Conceptualmente: Rutas, controladores y bases de datos

14/33
Resources

Contributions 92

Questions 11

Sort by:

Want to see more contributions, questions and answers from the community?

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

Me gusta como explica, claro y preciso! Excelente profesor!

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.

![](

Esta clase vale oro, tener claro que hacer antes de empezar a escribir código es fundamental, este profesor merece todo!

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 profesor,

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.

Excelente explicación! Venía del curso de Node.js + Auth y casi me salto estas primeras clases porque los títulos me parecieron básicos. Que bueno que no fui directo al módulo de WebSockets, me han gustado mucho las clases y he podido entender más a profundidad conceptos que en la otra saga de cursos de Node solo se tocan por encima.

**Realice un analisis **

Capa de configuracion:
Server.js: Encargado de levantar el proyecto

Capa de rutas:
Router.js: Procesar las solicitudes
Response.js: Respondes las solicitudes

Capa de componentes:
Controlador: Se encarga de las solicitudes HTTP
Services: Se encarga de la logica de negocia

Capa de base de datos
Base de datos: Las bases de datos

Este docente es muy bueno explicando sabe lo que dic

solo diré que me encuentro agradecida por haber encontrado a este capo enseñando este curso!!!

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!

  • server: Recibe las peiticiones y configura nuestro servidor
  • routes: Ve hacia donde quiere ir la petición y llamara al componente adecuado
  • components:
    • message: Toda lo relacionado a nuestros mensajes
      • network: Todos los endpoints y toda la informacion que tiene que ver con el protocolo http
      • controller: Tiene toda la logica de nuestro componente de mensajes (Todo lo que sea modificar el mensaje, cambiar, añadir, comprobaciones. “Logica de negocio”)
      • store: gestionara las bases de datos (debe decir donde y como se va a guardar la informacion)

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.