Skip to content

Commit 74f414a

Browse files
committed
Added doc
1 parent 76e504c commit 74f414a

File tree

5 files changed

+349
-5
lines changed

5 files changed

+349
-5
lines changed

README.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,6 @@ npm run dev o npm start
319319

320320
#### Ejemplos código
321321

322-
<<<<<<< HEAD
323-
324322
* [Ejemplo base](https://www.honeybadger.io/blog/building-apis-with-node-js-and-grpc/)
325323
* [Integración Api restful con rpc](https://blog.logrocket.com/communicating-between-node-js-microservices-with-grpc/)
326324
* [Crud grpc express-nodejs](https://blog.logrocket.com/creating-a-crud-api-with-node-express-and-grpc/)
@@ -330,12 +328,9 @@ npm run dev o npm start
330328

331329
* [Documentación recomendada](https://blog.logrocket.com/creating-a-crud-api-with-node-express-and-grpc/)
332330

333-
\=======
334-
335331
* [Crud grpc express-nodejs](https://blog.logrocket.com/creating-a-crud-api-with-node-express-and-grpc/)
336332
* [Videotutorial Crud grpc express-nodejs](https://www.youtube.com/watch?v=xBO7RohEhOY)
337333

338-
> > > > > > > c1346c4585f1dc1ca3f0eb94180dce90c70962ad
339334

340335
#### Librerías
341336

doc/assets/social-networks/yt.png

103 KB
Loading

translation/README.es.md

Lines changed: 349 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,349 @@
1+
![Index app](./doc/assets/gRPC.png)
2+
3+
# Update here
4+
5+
# gRPC\_IP\_Geolocation\_API\_Integration\_Nodejs
6+
7+
Api gRPC protobuf para la integración de servicios de IPWHOIS.IO implementado con Nodejs, Expressjs, etc
8+
9+
* [Playlist Prueba de Funcionalidad](https://www.youtube.com/playlist?list=PLCl11UFjHurD2RjD9OiBfyKpsgwEzZzBv)
10+
* [IPWHOIS.io api doc](https://ipwhois.io/documentation)
11+
12+
<br>
13+
14+
## Índice 📜
15+
16+
<details>
17+
<summary> Ver </summary>
18+
19+
<br>
20+
21+
### Sección 1) Descripción, configuración y tecnologías
22+
23+
* [1.0) Descripción del Proyecto.](#10-descripción-)
24+
* [1.1) Ejecución del Proyecto.](#11-ejecución-del-proyecto-)
25+
* [1.2) Configuración del proyecto desde cero](#12-configuración-del-proyecto-desde-cero-)
26+
* [1.3) Tecnologías.](#13-tecnologías-)
27+
28+
### Sección 2) Endpoints y Ejemplos
29+
30+
* [2.0) EndPoints y recursos.](#20-endpoints-y-recursos-)
31+
32+
### Sección 3) Prueba de funcionalidad y Referencias
33+
34+
* [3.0) Prueba de funcionalidad.](#30-prueba-de-funcionalidad-)
35+
* [3.1) Referencias.](#31-referencias-)
36+
37+
<br>
38+
39+
</details>
40+
41+
<br>
42+
43+
## Sección 1) Descripción, configuración y tecnologías
44+
45+
### 1.0) Descripción [🔝](#índice-)
46+
47+
<details>
48+
<summary>Ver</summary>
49+
<br>
50+
51+
### 1.0.0) Descripción General
52+
53+
*
54+
55+
### 1.0.1) Descripción Arquitectura y Funcionamiento
56+
57+
*
58+
59+
<br>
60+
61+
</details>
62+
63+
### 1.1) Ejecución del Proyecto [🔝](#índice-)
64+
65+
<details>
66+
<summary>Ver</summary>
67+
<br>
68+
69+
#### 1.1.0) Configuraciones iniciales
70+
71+
* Una vez creado un entorno de trabajo a través de algún ide, clonamos el proyecto
72+
73+
```git
74+
git clone https://github.com/andresWeitzel/gRPC_Netflix_CRUD_Nodejs
75+
```
76+
77+
* Nos posicionamos sobre el proyecto
78+
79+
```git
80+
cd 'projectName'
81+
```
82+
83+
* Instalamos la última versión LTS de [Nodejs(v18)](https://nodejs.org/en/download).
84+
* Instalamos todas las librerías necesarias
85+
86+
```git
87+
npm i
88+
```
89+
90+
* 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.
91+
* El siguiente script configurado en el package.json del proyecto es el encargado de
92+
* Levantar el servidor con express (entorno productivo)
93+
* Levantar el servidor con express y nodemon (entorno local dev)
94+
95+
```git
96+
"scripts": {
97+
"dev": "nodemon src/server.js",
98+
"start": "node src/server.js"
99+
},
100+
```
101+
102+
* Ejecutamos la app desde terminal para entorno local.
103+
104+
```git
105+
npm run dev
106+
```
107+
108+
* Ejecutamos la app desde terminal para entorno productivo.
109+
110+
```git
111+
npm start
112+
```
113+
114+
* 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
115+
116+
```git
117+
npx kill-port 8080
118+
npm run dev o npm start
119+
```
120+
121+
<br>
122+
123+
</details>
124+
125+
### 1.2) Configuración del proyecto desde cero [🔝](#índice-)
126+
127+
<details>
128+
<summary>Ver</summary>
129+
<br>
130+
131+
#### 1.2.0) Configuraciones iniciales
132+
133+
* Una vez creado un entorno de trabajo a través de algún ide, clonamos el proyecto
134+
135+
```git
136+
git clone https://github.com/andresWeitzel/gRPC_Netflix_CRUD_Nodejs
137+
```
138+
139+
* Nos posicionamos sobre el proyecto
140+
141+
```git
142+
cd 'projectName'
143+
```
144+
145+
* Instalamos la última versión LTS de [Nodejs(v18)](https://nodejs.org/en/download)
146+
* Abrimos una terminal desde vsc
147+
* Inicializamos un proyecto nodejs
148+
149+
```git
150+
npm init -y
151+
```
152+
153+
* Creamos un archivo .gitignore y agregamos los files necesarios (por el momento node\_modules)
154+
155+
```git
156+
node_modules
157+
```
158+
159+
* Creamos un direct source (src) para agregar toda la lógica de nuestra app
160+
* Instalamos el plugin para [express (framework)](https://www.npmjs.com/package/express)
161+
162+
```git
163+
npm i express
164+
```
165+
166+
* Instalamos el plugin para [cors (gestión de recursos)](https://www.npmjs.com/package/cors)
167+
168+
```git
169+
npm i cors
170+
```
171+
172+
* Instalamos el plugin para [dotenv (variables de entorno)](https://www.npmjs.com/package/dotenv)
173+
174+
```git
175+
npm i dotenv
176+
```
177+
178+
* Instalamos el plugin para [morgan-middleware (errores, formatos, etc)](https://expressjs.com/en/resources/middleware/morgan.html)
179+
180+
```git
181+
npm i morgan
182+
```
183+
184+
Instalamos uuid para id's unicos
185+
186+
```git
187+
npm i uuid
188+
```
189+
190+
* Instalamos el plugin para [nodemon (autoreload server)](https://www.npmjs.com/package/nodemon) de forma global
191+
192+
```git
193+
npm i -g nodemon
194+
```
195+
196+
* Instalamos el plugin para [nodemon (autoreload server)](https://www.npmjs.com/package/nodemon) para desarrollo
197+
198+
```git
199+
npm i nodemon --save-dev
200+
```
201+
202+
* Instalamos las librerías para el [compilador gRPC](https://www.npmjs.com/package/@grpc/proto-loader)
203+
204+
```git
205+
npm i @grpc/proto-loader
206+
```
207+
208+
* 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.
209+
* El siguiente script configurado en el package.json del proyecto es el encargado de
210+
* Levantar el servidor con express (entorno productivo)
211+
* Levantar el servidor con express y nodemon (entorno local dev)
212+
213+
```git
214+
"scripts": {
215+
"dev": "nodemon src/server.js",
216+
"start": "node src/server.js"
217+
},
218+
```
219+
220+
* Ejecutamos la app desde terminal para entorno local.
221+
222+
```git
223+
npm run dev
224+
```
225+
226+
* Ejecutamos la app desde terminal para entorno productivo.
227+
228+
```git
229+
npm start
230+
```
231+
232+
* 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
233+
234+
```git
235+
npx kill-port 8080
236+
npm run dev o npm start
237+
```
238+
239+
<br>
240+
241+
</details>
242+
243+
### 1.3) Tecnologías [🔝](#índice-)
244+
245+
<details>
246+
<summary>Ver</summary>
247+
<br>
248+
249+
| **Tecnologías** | **Versión** | **Finalidad** |\
250+
| ------------- | ------------- | ------------- |
251+
| [SDK](https://www.serverless.com/framework/docs/guides/sdk/) | 4.3.2 | Inyección Automática de Módulos para Lambdas |
252+
| [NodeJS](https://nodejs.org/en/) | 14.18.1 | Librería JS |
253+
| [VSC](https://code.visualstudio.com/docs) | 1.72.2 | IDE |
254+
| [Postman](https://www.postman.com/downloads/) | 10.11 | Cliente Http |
255+
| [CMD](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cmd) | 10 | Símbolo del Sistema para linea de comandos |
256+
| [Git](https://git-scm.com/downloads) | 2.29.1 | Control de Versiones |
257+
258+
</br>
259+
260+
| **Plugin** | **Descripción** |\
261+
| ------------- | ------------- |
262+
| [Serverless Plugin](https://www.serverless.com/plugins/) | Librerías para la Definición Modular |
263+
264+
</br>
265+
266+
| **Extensión** |\
267+
| ------------- |
268+
| Prettier - Code formatter |
269+
| YAML - Autoformatter .yml (alt+shift+f) |
270+
271+
<br>
272+
273+
</details>
274+
275+
<br>
276+
277+
## Sección 2) Endpoints y Ejemplos.
278+
279+
### 2.0) Endpoints y recursos [🔝](#índice-)
280+
281+
<details>
282+
<summary>Ver</summary>
283+
<br>
284+
285+
<br>
286+
287+
</details>
288+
289+
<br>
290+
291+
## Sección 3) Prueba de funcionalidad y Referencias.
292+
293+
### 3.0) Prueba de funcionalidad [🔝](#índice-)
294+
295+
<details>
296+
<summary>Ver</summary>
297+
<br>
298+
299+
</details>
300+
301+
### 3.1) Referencias [🔝](#índice-)
302+
303+
<details>
304+
<summary>Ver</summary>
305+
<br>
306+
307+
#### IPWHOIS.io api doc
308+
309+
* [Data Api](https://ipwhois.io/documentation)
310+
311+
#### Documentación
312+
313+
* [Guía gRPC](https://www.ionos.es/digitalguide/servidores/know-how/que-es-grpc/)
314+
* [Arquitectura protocolo gRPC](https://www2.deloitte.com/es/es/blog/todo-tecnologia/2021/grpc-vs-rest-api.html)
315+
* [Web Api Spotify](https://developer.spotify.com/documentation/web-api/tutorials/getting-started)
316+
* [Implementación Arquitectura grpc part 1](https://netflixtechblog.com/practical-api-design-at-netflix-part-1-using-protobuf-fieldmask-35cfdc606518)
317+
* [Implementación Arquitectura grpc part 2](https://netflixtechblog.com/practical-api-design-at-netflix-part-2-protobuf-fieldmask-for-mutation-operations-2e75e1d230e4)
318+
* [Análisis de tiempo de ejecución protocolos Api's](https://www.youtube.com/watch?v=ryUIRdAgD00)
319+
320+
#### Ejemplos código
321+
322+
* [Ejemplo base](https://www.honeybadger.io/blog/building-apis-with-node-js-and-grpc/)
323+
* [Integración Api restful con rpc](https://blog.logrocket.com/communicating-between-node-js-microservices-with-grpc/)
324+
* [Crud grpc express-nodejs](https://blog.logrocket.com/creating-a-crud-api-with-node-express-and-grpc/)
325+
* [Videotutorial Crud grpc express-nodejs](https://www.youtube.com/watch?v=xBO7RohEhOY)
326+
327+
#### Protocolo buffer (protobuf)
328+
329+
* [Documentación recomendada](https://blog.logrocket.com/creating-a-crud-api-with-node-express-and-grpc/)
330+
331+
* [Crud grpc express-nodejs](https://blog.logrocket.com/creating-a-crud-api-with-node-express-and-grpc/)
332+
* [Videotutorial Crud grpc express-nodejs](https://www.youtube.com/watch?v=xBO7RohEhOY)
333+
334+
#### Librerías
335+
336+
* [Manejo de validaciones con express-validator](https://medium.com/dataseries/introduction-to-request-body-validation-in-express-apps-with-express-validator-7b9725ca780d)
337+
* [Doc oficial express-validator](https://express-validator.github.io/docs/guides/getting-started)
338+
339+
#### Remark-lint
340+
341+
* [remark-lint-emphasis-marker](https://www.npmjs.com/package/remark-lint-emphasis-marker)
342+
* [remark-preset-lint-recommended](https://www.npmjs.com/package/remark-preset-lint-recommended)
343+
* [remark-reference-links](https://www.npmjs.com/package/remark-reference-links)
344+
345+
<br>
346+
347+
<br>
348+
349+
</details>

0 commit comments

Comments
 (0)