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