Repositorio de la Especialidad en Programación Fullstack con JavaScript de EDteam 2018 impartido por @jonmircha
- ¿Qué es Node.js?
- Instalación
- Tipos de Versiones
- Tipos de Instalación
- Introducción a Node
- Hola Mundo
- Ciclo de eventos
- Ciclo de vida de un proceso
- Blocking vs Non Blocking I/O
- Asincronía
- Callbacks
- Promesas
- Async/Await
- NPM
- Paquetes en Node
- Tipos de Paquetes
- Proyectos en Node
- El archivo package.json
- Tipos de instalaciones
- Paquetes y Módulos
- Requerir paquetes y archivos
- Creación de módulos
- Scripts NPM
- Node y la línea de comandos
- Interactuando con la CLI
- Recibir parámetros por línea de comandos
- Lectura y escritura de archivos
- Node y APIs Externas
- Peticiones HTTP desde la CLI
- Peticiones Asíncronas desde la CLI
- Consumo de APIs y Servicios desde la CLI
- Node y la Web
- Módulo HTTP
- Peticiones y métodos HTTP
- Servidor Web
- Cliente HTTP
- Express.js Básico
- Hola Mundo
- Uso Básico
- Rutas y Parámetros
- Peticiones y Respuestas
- Generador de Express.js
- Express.js Avanzado
- Configuración Personalizada
- Servir contenido Estático
- Template Engines (Handlebars)
- Middlewares
- Sesiones
- Socket.IO
- Introducción a los sockets
- Configuración
- Detección de conexiones
- Emisión de mensajes
- Creación de Chat
- Configuración de Express.js
- Configuración de Socket.IO
- Programación Backend
- Programación Frontend
- Emisión de Eventos entre Clientes y Servidor
- Introducción a MongoDB
- Diferencias entre Bases de Datos SQL y NoSQL
- Características de MongoDB
- Instalación de MongoDB
- Instalación de Robo3T
- Configuración y Conexión a MongoDB
- Bases de datos y Colecciones
- Crear
- Listar
- Eliminar
- CRUD en Documentos
- Insertar
- Buscar
- feo
- bonito
- Eliminar
- Editar
- sin operadores
- con $set
- con $unset
- con $push
- con $pull
- con $inc
- con $rename
- masivamente
- Ordenamiento de documentos
- Contar documentos
- Consultas con expresiones regulares
- Consultas con notación de punto
- Operadores de comparación
- $gt
- $gte
- $lt
- $lte
- $eq
- $ne
- $in
- $nin
- between
- combinados
- Operadores lógicos
- $not
- $nor
- $or
- $and
- Otros
- $type
- $exists
- hex_md5()
- $where
- Relaciones y Subdocumentos
- Relación 1 a 1
- Relación 1 a Muchos, con documento embebido
- Relación 1 a Muchos, con documento referenciado
- Lógica de Negocio
- Modelado de Datos
- Validación de esquemas
- Funciones almacenadas
- Introducción a las API RESTful
- API
- REST
- Herramientas para consumir un API RESTful
- Formato de sálida
- Cliente HTTP para consumir
- Anatomía de una petición
- Rutas
- Métodos
- Cabeceras
- Datos
- Códigos de estado de HTTP
- Desarrollo de API RESTful I
- Estructura del API
- Configuración de Express.js
- Variables de Entorno Node
- Creación del servidor web
- Conexión a la BD con Mongoose
- Modelando la BD con Mongoose
- Desarrollo de API RESTful II
- Modelos
- Rutas
- Lógica de Negocio
- Programación CRUD del API
- Desarrollo de API RESTful III
- Pruebas CRUD con POSTMAN
- Habilitando CORS y Métodos REST
- Habilitando interacción con Formularios HTML
- Pruebas CRUD con Formularios HTML
- Desplegando API RESTful en producción
- Heroku
- mLab
- Configuración para producción