Es un entorno que permite ejecutar JavaScript en el servidor de manera asíncrona, con una arquitectura orientada a eventos, basado en el motor V8 de Google.
- Instalador de Node.js: Node.js
Verificar versión de Node.js: Ejecutamos el comando
node -v
. También podemos ver la versión de npm (Node Package Manager) con el comandonpm -v
- Herramienta (Editor de código): Visual Studio Code o VS Code Insiders
- Terminal: Git Bash
-
Cuenta en Mongo Atlas. Dentro del Dashboard de Mongo Atlas, creamos una nueva Organización para nuestro proyecto que se llame
NodeJS_MongoDB_06_2022
, y añadimos los colaborares de nuestro proyecto, y una vez lista la organización, creamos un nuevo proyecto que llamaremosAPI_REST
. Creamos una base de datos/cluster de tipo Shared (para la versión gratuita), y para el momento llevará el nombre deCluster0
. Como configuración inicial del cluster, añadimos la manera en que queremos autenticarnos y las direcciones IP desde las que se pueden conectar a nuestra base de datos. -
DB_URI: Para conectarnos a nuestra base de datos, elegimos la opción de conectarnos de desde una aplicación, y se nos muestra un URI que debemos guardar en nuestro proyecto. Este es su estilo:
mongodb+srv://<user></user>:<password>@cluster0.7ndzkvx.mongodb.net/<db_name>?retryWrites=true&w=majority
Dentro del directorio de nuestro proyecto ingresamos el siguiente comando para iniciar el proyecto de node.js:
npm init -y
Instalamos Express en nuestro proyecto con el comando:
npm i express --save
Hay otros paquetes que necesitamos inicialmente, por lo que usamos el siguiente comando (-S
guarda las dependencias de la misma manera que --save
):
npm i cors dotenv multer -S
cors
: Cross Origin Resources Sharing, nos permite restringir los recursos de nuestra aplicación, que pueden ser requeridas por otro dominio.dotenv
: Manejo de variables de entornomulter
: Ayuda el manejo de carga de archivos y almacenamiento
Creamos un archivo llamado .gitignore
para ignorar los archivos que no necesitamos en nuestro repositorio. Por ejemplo el directorio node_modules
y el archivo con las variables de entorno .env
(ya sean de desarrollo o producción), no se deben publicar.
node_modules/
.env
- Primer encuentro con Express
- Scaffolding: Estructura de nuestro proyecto
- Mongoose y MongoDB
- Rutas en Node Express
- Creando alías Script
- Controladores
- Cargando Modelos
- Archivos - Multer
- POSTMAN API Node
- Como validar datos en un API REST
- Como subir un mp3
- Middlewares
- Código de respuesta de encabezado
- Manejo de errores
- Soft Delete eliminación lógica
- JWT (Json Web Token)
- Generar JWT en Node
- Login
- Proteger rutas con roles
- Trazabilidad de Errores de Backend con Slack
- MySQL Sequelize en Node
- Creando modelos Sequelize
- Aplicando métodos personalizados