
Introducción y presentación al curso.
https://github.com/leifermendez/curso-node-api-js
Para quien va dirigido este curso y cuales son las expectativas que debes de tener. Recuerda todo el contenido estara en el repositorio.
https://github.com/leifermendez/curso-node-api-js
Preparamos el entorno de trabajo.
VSCode https://code.visualstudio.com/
NODE https://nodejs.org/es/download/
GIT https://git-scm.com/download/win
Como crear una instancia de MongoAtlas para tener tu base de datos Mongo en la nube y obtener el DB_URI
https://www.mongodb.com/atlas/database
En este video comenzamos a crear los directorios necesarios e iniciar el proyecto de node
Conoce la estructura de carpetas que utilizaremos para mantener en ordene nuestro código y funciones. Además conectamos con nuestra base de datos
Comienza a subir archivos sin importar si formato, haciendo uso de multer para gestiona la carga
Aprender a como realizar una documentación rápida y express con Postman
Usamos express validators como middleware para validar la informacion proveniente de una peticion y manejar mensaje de error
Aprendemos sobre los middleware y como implementar nuestro propio middleware en express
Aprenderemos a crear un función que capture los errores y devuelva mensajes de errores específicos respetando los códigos de encabezado
Creamos las funciones en los controladores que se encargan de Crear, Leer, Actualizar y Borrar y finalizamos el CRUD
Implementamos la estrategia de Soft Delete en nuestro CRUD, de esta manera podrás mantener la persistencia de tus datos sin condicionar el código de tu controlador
Aprenderás a eliminar de manera física un archivo "media" y implementar el manejador de errores
Aplicamos las validaciones necesarias para capturar los datos necesarios y correctos para registrar un usuario
Generamos el primero JWT Json Web Token para controlar el acceso con sesión de usuario
Creamos controlador donde comparamos contraseñas encriptadas y generamos un JWT con el cual contralaremos las sesiones de usuario
Creamos un middleware el cual se encarga de capturar el Authorization Bearer Token para posteriormente asegurarnos que el token sea valido
Creamos un middleware el cual se encarga de verificar los permisos del usuario y si la ruta lo permite poder dejarlo ingresar o de lo contrario retornar un error
Aprende a conectar tu manejador de errores y enviar dichos mensajes de error a nuestro canal de slack
Instalamos Sequelize y también creamos la conexión con base de dataos Mysql
Creamos los modelos con Sequalize e implementamos su carga dependiendo de la variable de entorno
Revisando el controlador de login e implementando el modelo MySQL
Aprenderás a implementar métodos personalizados tanto en Mongoose como en Sequelize
Aprende a crear un método que devuelva directamente las relaciones de datos directo desde el modelo
Instalaremos las dependencias necesarios para hacer uso de Swagger / OpenAPI en nuestro proyecto
Aprende a implementar los esquemas de datos directo en nuestra documentación
Implementa la propiedad de autorización para poder indicarle a la swagger cuales rutas deben ser protegidas por sesión o no
Implementamos la carga de archivo en nuestro swagger para poder probar la ruta de carga de archivos directo desde la documentación
Implementamos supertest con jest y realizar las pruebas de integración directamente en nuestra app
Imeplementamos pruebas de integración en las rutas de auth register y login
Usando estrategias de limpieza para evitar comportamientos indeseados.
Se implementan los testing de integración y aprendemos a usar la propiedad de flag --watch
Detectando fugas de memoria con Jest y aprender estrategias para evitarlas
Finalizamos las pruebas de integración con Jest
Aprende a implementar reporte de coberturas para poder saber cuando código has testeado con tus pruebas
Subimos nuestro proyecto a github para posteriormente desplegar a producción
Desplegamos nuestro proyecto a producción en Heroku
Desplegamos nuestra app haciendo uso de pm2 directo en un servidor de AWS sobre Ubuntu Server
Aprende a implementar Github actions para hacer CI/CD desde Github hasta AWS
Instalamos typescript y comenzamos un proyecto desde cero explicamos los fundamentos necesarios para poder comenzar escribir código en typescript
Explicando la estructura a utilizar en typescript, creamos el archivo principal de TS con Swagger
Aprendemos a implementar la importación dinámica en nuestro archivo de rutas
Aprende los fundamentos y configuración necesario para compilar tu proyecto de manera correcta
La aparición de Node.js ha supuesto toda una revolución en el mundo de JavaScript.
Node.js es uno de los lenguajes de programación más populares del mundo. Hoy en día, impulsa millones de sitios web, sin embargo esto no es lo único.
Si hay algo que está creciendo a pasos agigantados es el desarrollo de APIs
Te invito formar parte de este nuevo curso API REST Nodejs desde cero usando MongoDB o MySQL en Udemy donde aprenderás a construir una API Rest en Node desde cero aplicando paradigmas de la programación, utilizando rutas, modelos, controladores, cargas de archivo solo debes tener el tiempo y disposición recuerda que puedes revisar el temario de todo lo que se explicara.
IMPORTANTE:
- Mi manera de explicar es espontanea con mis propias palabras y me gusta que se aprenda con la practica.
- Las primeras horas de este curso las puedes encontrar gratuitas en mi canal de youtube (Leifer Méndez) eso lo hice con la finalidad de que puedas ver mi manera de explicar, ten en cuenta que en UDEMY encontrarás los módulos completos necesarios para la culminación de este proyecto. En Youtube no está el curso completo solo un adelanto.
Que aprenderás en el curso:
Intro de Curso de Node
Intro ¿Qué esperar en este curso?
Preparando entorno
¿Cómo instalar Node en Windows?
Instalar Visual Studio Code Windows
Instalar GIT en Windows
Crear base de datos en Mongo Atlas gratis
Creando usuario de base datos Mongo Atlas
Firewall permitir cualquier IP en Mongo Atlas
Obtener DB_URI url mongodb
Iniciando Proyecto (Instalar dependencias)
Iniciando un proyecto NODE
¿Cómo instalar express en node?
Instalar dovtenv y multer
gitignore
Creando Aplicacion Express
Evitar error de los Cors NODE
Creando Variables de Entorno (.env)
Scaffold (Estructura de carpetas)
Patrón MVC Modelo Vista Controlador
Instalar mongoose en node
Creando conexión con MongoDB
Declarando DB_URI mongodb
Definiendo modelo mongoose
Mongo Schema
Crear rutas en node express
Cargando rutas dinámicamente express
REQUEST, RESPONSE Express
Index Router (Rutas dinámicas)
Creando alias script "start", "dev"
Controladores
Cargando modelos
Obteniendo datos POST (Body)
Cargar archivo mp3 pdf en express node
Configurando Multer Node express
Configurando Multer express
Obteniendo archivo en el controlador
Postman API Node
Como validar datos en un API REST
Creando validador POST
Documentar con POSTMAN
Como validar datos en un API REST
Creando validador POST
Colocando middleware validator
Como subir un mp3 en node express
Como crear un middleware en node y express
Código de respuesta de encabezado
Creando un manejador de errores
Usando express-validator
Soft Delete eliminación lógica
Eliminar archivo en node unlink
JWT (Json Web Token)
Como generar un jwt en node
Como hacer login en node con jwt y proteger ruta
¿Cómo proteger rutas con roles (permisos)? en node
Trazabilidad de Errores de backend con SLACK
Usando MySQL Sequezlize en node
Creando modelos sequelize en node
Aplicando métodos personalizados Sequelize
Crear join en mongo lookup
Crear join en sequelize
Iniciando nuestra aplicación en TypeScript
Aprendiendo la importación dinámica de TypeScript
Compilando nuestra aplicación