Skip to content

gRPC protobuf api for the integration of IPWHOIS.IO services implemented with Nodejs, Expressjs, Jest, Testing, others.

License

Notifications You must be signed in to change notification settings

andresWeitzel/gRPC_IP_Geolocation_API_Integration_Nodejs

Repository files navigation

Index app

gRPC_IP_Geolocation_API_Integration_Nodejs

Api gRPC protobuf para la integraci贸n de servicios de IPWHOIS.IO implementado con Nodejs, Expressjs, etc


脥ndice 馃摐

Ver

Secci贸n 1) Descripci贸n, configuraci贸n y tecnolog铆as

Secci贸n 2) Endpoints y Ejemplos

Secci贸n 3) Prueba de funcionalidad y Referencias



Secci贸n 1) Descripci贸n, configuraci贸n y tecnolog铆as

1.0) Descripci贸n 馃敐

Ver

1.0.0) Descripci贸n General

1.0.1) Descripci贸n Arquitectura y Funcionamiento


1.1) Ejecuci贸n del Proyecto 馃敐

Ver

1.1.0) Configuraciones iniciales

  • 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

1.2.0) Configuraciones iniciales

  • 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
npm i cors
npm i dotenv
npm i morgan

Instalamos uuid para id's unicos

npm i uuid
npm i -g nodemon
npm i nodemon --save-dev
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) |



Secci贸n 2) Endpoints y Ejemplos.

2.0) Endpoints y recursos 馃敐

Ver


Secci贸n 3) Prueba de funcionalidad y Referencias.

3.0) Prueba de funcionalidad 馃敐

Ver

3.1) Referencias 馃敐

Ver

IPWHOIS.io api doc

Documentaci贸n

Ejemplos c贸digo

<<<<<<< HEAD

Protocolo buffer (protobuf)

=======

c1346c4585f1dc1ca3f0eb94180dce90c70962ad

Librer铆as

Remark-lint