Api gRPC protobuf para la integración de servicios de IPWHOIS.IO implementado con Nodejs, Expressjs, etc
Ver
- 1.0) Descripción del Proyecto.
- 1.1) Ejecución del Proyecto.
- 1.2) Configuración del proyecto desde cero
- 1.3) Tecnologías.
1.0) Descripción 🔝
1.1) Ejecución del Proyecto 🔝
Ver
- Una vez creado un entorno de trabajo a través de algún ide, clonamos el proyecto
git clone https://github.com/andresWeitzel/gRPC_Netflix_CRUD_Nodejs
- Nos posicionamos sobre el proyecto
cd 'projectName'
- Instalamos la última versión LTS de Nodejs(v18).
- Instalamos todas las librerías necesarias
npm i
- Las variables de entorno utilizadas en el proyecto se mantienen para simplificar el proceso de configuración de las mismas. Es recomendado agregar el archivo correspondiente (.env) al .gitignore.
- El siguiente script configurado en el package.json del proyecto es el encargado de
- Levantar el servidor con express (entorno productivo)
- Levantar el servidor con express y nodemon (entorno local dev)
"scripts": {
"dev": "nodemon src/server.js",
"start": "node src/server.js"
},
- Ejecutamos la app desde terminal para entorno local.
npm run dev
- Ejecutamos la app desde terminal para entorno productivo.
npm start
- Si se presenta algún mensaje indicando qué el puerto 8080 ya está en uso, podemos terminar todos los procesos dependientes y volver a ejecutar la app
npx kill-port 8080
npm run dev o npm start
1.2) Configuración del proyecto desde cero 🔝
Ver
- Una vez creado un entorno de trabajo a través de algún ide, clonamos el proyecto
git clone https://github.com/andresWeitzel/gRPC_Netflix_CRUD_Nodejs
- Nos posicionamos sobre el proyecto
cd 'projectName'
- Instalamos la última versión LTS de Nodejs(v18)
- Abrimos una terminal desde vsc
- Inicializamos un proyecto nodejs
npm init -y
- Creamos un archivo .gitignore y agregamos los files necesarios (por el momento node_modules)
node_modules
- Creamos un direct source (src) para agregar toda la lógica de nuestra app
- Instalamos el plugin para express (framework)
npm i express
- Instalamos el plugin para cors (gestión de recursos)
npm i cors
- Instalamos el plugin para dotenv (variables de entorno)
npm i dotenv
- Instalamos el plugin para morgan-middleware (errores, formatos, etc)
npm i morgan
Instalamos uuid para id's unicos
npm i uuid
- Instalamos el plugin para nodemon (autoreload server) de forma global
npm i -g nodemon
- Instalamos el plugin para nodemon (autoreload server) para desarrollo
npm i nodemon --save-dev
- Instalamos las librerías para el compilador gRPC
npm i @grpc/proto-loader
- Las variables de entorno utilizadas en el proyecto se mantienen para simplificar el proceso de configuración de las mismas. Es recomendado agregar el archivo correspondiente (.env) al .gitignore.
- El siguiente script configurado en el package.json del proyecto es el encargado de
- Levantar el servidor con express (entorno productivo)
- Levantar el servidor con express y nodemon (entorno local dev)
"scripts": {
"dev": "nodemon src/server.js",
"start": "node src/server.js"
},
- Ejecutamos la app desde terminal para entorno local.
npm run dev
- Ejecutamos la app desde terminal para entorno productivo.
npm start
- Si se presenta algún mensaje indicando qué el puerto 8080 ya está en uso, podemos terminar todos los procesos dependientes y volver a ejecutar la app
npx kill-port 8080
npm run dev o npm start
1.3) Tecnologías 🔝
Ver
| Tecnologías | Versión | Finalidad |
| ------------- | ------------- | ------------- |
| SDK | 4.3.2 | Inyección Automática de Módulos para Lambdas |
| NodeJS | 14.18.1 | Librería JS |
| VSC | 1.72.2 | IDE |
| Postman | 10.11 | Cliente Http |
| CMD | 10 | Símbolo del Sistema para linea de comandos |
| Git | 2.29.1 | Control de Versiones |
| Plugin | Descripción |
| ------------- | ------------- |
| Serverless Plugin | Librerías para la Definición Modular |
| Extensión |
| ------------- |
| Prettier - Code formatter |
| YAML - Autoformatter .yml (alt+shift+f) |
2.0) Endpoints y recursos 🔝
Ver
3.0) Prueba de funcionalidad 🔝
Ver
3.1) Referencias 🔝
Ver
- Guía gRPC
- Arquitectura protocolo gRPC
- Web Api Spotify
- Implementación Arquitectura grpc part 1
- Implementación Arquitectura grpc part 2
- Análisis de tiempo de ejecución protocolos Api's
<<<<<<< HEAD
- Ejemplo base
- Integración Api restful con rpc
- Crud grpc express-nodejs
- Videotutorial Crud grpc express-nodejs
=======
c1346c4585f1dc1ca3f0eb94180dce90c70962ad