¿Qué temas se cubrirán en el curso?
Introducción a Node.js
Palabras de apertura y visión general del curso:
Palabras de apertura.
Qué se cubrirá en el curso y una introducción a Node.js.
Énfasis en trabajar con repositorios de código.
Escribiendo un Servidor Básico:
Construyendo un primer servidor simple.
Explicación de qué es un servidor y manejo de peticiones y respuestas HTTP.
Comprensión de códigos de estado y devolución de JSON vs. HTML.
Manejo Básico de Peticiones:
Introducción a los endpoints de un servidor API.
Definición de múltiples rutas para el manejo de peticiones.
Manejo Avanzado de Peticiones del Servidor:
Comprensión de la estructura de peticiones HTTP.
Explicación de códigos de estado y comportamiento del servidor.
Preparación para Escribir una API Restful:
Introducción a las APIs Restful.
Comprensión de QueryString y parámetros de petición.
Trabajando con el Sistema de Archivos
Leyendo Archivos en Node.js:
Trabajando con el módulo del sistema de archivos (fs).
Usando la función readFile de manera asíncrona.
Usando la función readFileSync de manera síncrona.
Introducción a los módulos fs y path.
Creando un servidor con múltiples endpoints.
Guardando archivos de texto y JSON.
Guardando Archivos en Node.js:
Usando la función writeFile de manera asíncrona para escribir archivos.
Usando la función writeFileSync de manera síncrona para escribir archivos.
Manejo de errores en el servidor.
Eliminando Archivos en Node.js:
Eliminando archivos usando unlinkSync.
Usando directorios en el sistema de archivos.
Función para comprobar si un archivo existe en el sistema de archivos.
Manejo de Peticiones POST:
Arquitectura básica del servidor.
Manejo de peticiones post.
Usando Postman para crear peticiones get y post.
Usando Validación en el Servidor:
Escribiendo un servidor significativo.
Usando validaciones y errores en el servidor.
Creando un servidor con múltiples peticiones (leer, escribir, eliminar archivos del sistema operativo).
Escribiendo un Servidor con Express
Introducción al Uso de Express:
Antecedentes sobre la biblioteca express.
Usando la biblioteca express para escribir un servidor.
Usando las funciones send, sendStatus y json.
Manejo de peticiones get.
Manejo de Querystring y Params:
Usando req.query con express.
Usando req.params con express.
Escribiendo un servidor de datos de administración usando el sistema de archivos.
Manejo de Peticiones POST en el Servidor:
Manejo de peticiones post con express.
Explicación del uso de middleware.
Añadiendo validaciones numéricas en el servidor.
Arquitectura del Servidor:
Arquitectura del servidor en express.
Usando express.Router para manejar el enrutamiento del servidor.
Añadiendo y construyendo controladores en el servidor.
Añadiendo y construyendo servicios en el servidor.
Usando Middlewares en Express:
Comprensión de middlewares en express.
Incorporando correctamente middlewares en controladores.
Escribiendo validaciones usando middlewares.
MongoDB
Introducción a MongoDB:
Introducción a las bases de datos.
Diferencias entre bases de datos relacionales y no relacionales.
Introducción a MongoDB y casos de uso comunes.
Conectando el servidor express a MongoDB.
Introducción al uso de la GUI de mongo.
Guardando y Recuperando Registros:
Definiendo esquemas y repasando tipos comunes.
Creando un registro en MongoDB con la función save.
Buscando registros en MongoDB usando la función find.
Usando filtros comunes como gte$, $gt, $lte, $lt y eq$.
Consultas Avanzadas en MongoDB:
Comprensión del identificador ObjectId.
Explicación de la función toJSON.
Usando la consulta findById en MongoDB.
Actualizando registros usando findByIdAndUpdate.
Usando el operador inc$.
Usando la función count en MongoDB.
Definiendo valores predeterminados para el esquema en MongoDB.
Consultas de Eliminación y Operadores Básicos:
Eliminando registros usando findByIdAndDelete.
Usando el operador push$.
Manejo de peticiones fallidas del servidor (500).
Agregaciones Avanzadas en MongoDB:
Construyendo una tubería avanzada y usando agregaciones.
Ordenando datos en consultas de MongoDB.
Usando operadores comunes como sum, $max, $min y avg$.
Relaciones Avanzadas Entre Colecciones en MongoDB:
Explicación de la conexión de colecciones usando ref.
Usando la acción populate en MongoDB.
Explicación detallada de la creación de un id en MongoDB.
Seguridad del Servidor con Autenticación
Introducción a JWT:
Antecedentes sobre la seguridad del servidor.
Introducción al paquete jsonwebtoken.
Creando el primer token.
Usando la función verify para comprobar la validez del token.
Escribiendo una API Segura:
Añadiendo una capa de seguridad al servidor.
Construyendo Middleware para la seguridad del servidor.
Implementando seguridad con JWT en el servidor que escribimos.
Usando la Biblioteca Crypto:
Antecedentes sobre el uso de encriptación en el servidor.
Explicación de funciones de hash para el hash de contraseñas.
Añadiendo sal a la esquema para una seguridad mejorada.
Explicación de posibles ataques.
Comunicación Entre Servidores:
Usando la biblioteca axios para la comunicación entre servidores.
Obteniendo datos de otro servidor a través del servidor que escribimos.
Almacenando datos en MongoDB para datos obtenidos de un servidor externo.
Palabras de Cierre:
Palabras de cierre para resumir el curso.