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