Skip to content

Microservice for managing Cisco devices implemented with GraphQL, Express, Apollo, NestJS, Typescript, NodeJS, TypeORM, dotenv, cors, swagger, swagger-ui, MySQL, others.

License

Notifications You must be signed in to change notification settings

andresWeitzel/Microservice_Cisco_Devices_GraphQL

Repository files navigation

Index app

Microservicio_Cisco_Devices_GraphQL

Microservicio para el manejo de dispositivos cisco implementado con GraphQL, Express, Apollo, NestJS, Typescript, NodeJS, TypeORM, Dotenv, Cors, Swagger, Swagger-ui, MySQL, Otros.


脥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.2) Configuraci贸n del proyecto desde cero 馃敐

Ver
  • Creamos un entorno de trabajo a trav茅s de alg煤n ide, luego de crear una carpeta nos posicionamos sobre la misma
cd 'projectName'
  • Instalamos la 煤ltima versi贸n LTS de Nodejs(v18)
  • Instalamos NestJS de forma global
npm i -g @nestjs/cli
  • Creamos un proyecto Nest
nest new nombreProyecto
  • Creamos un proyecto Nest
nest new nombreProyecto
  • Crear un nuevo modulo sin test
nest g mo moduleName --no-spec
  • Crear un nuevo servicio sin test
nest g s moduleName --no-spec
  • Crear un nuevo resolver (controlador) sin test
nest g co moduleName --no-spec
  • Podemos automatizar los archivos anteriores con graphql usando un resource( Esto creara entities,services,module, resolvers)
nest g resource resourceName --no-spec
- Seleccionamos los siguientes valores
- ? What transport layer do you use? GraphQL (code first)
- ? Would you like to generate CRUD entry points? Yes
npm i dotenv
  • Instalamos el plugin para TypeORM junto con el controlador de mysql para el mapeo de datos.
npm i @nestjs/typeorm typeorm mysql2
npm i @nestjs/swagger
  • Instalamos el plugin class-validator para validaciones de tipos de datos, propiedades de clases, etc.
npm i class-validator
  • Se resume instalaci贸n de plugins para acotar documentaci贸n. Para la totalidad de los mismos revisar package.json.
  • Ejecutamos la app desde terminal.
npm run start:dev
  • Entramos a la interfaz de Gaphql por defecto para las peticiones de la Api.
http://localhost:3200/graphql o http://localhost:3300/graphql

1.3) Comandos de utilidad 馃敐

Ver
  • Crear un nuevo proyecto NestJs
nest g projectName
  • Crear un nuevo modulo sin test
nest g mo moduleName --no-spec
  • Crear un nuevo servicio sin test
nest g s moduleName --no-spec
  • Crear un nuevo controlador sin test
nest g co moduleName --no-spec
  • Podemos automatizar los archivos anteriores con graphql usando un resource( Esto creara entities,services,module, resolvers)
nest g resource resourceName --no-spec
- Seleccionamos los siguientes valores
- ? What transport layer do you use? GraphQL (code first)
- ? Would you like to generate CRUD entry points? Yes

1.4) Tecnolog铆as 馃敐

Ver

| Tecnolog铆as | Versi贸n | Finalidad |
| ------------- | ------------- | ------------- | | NodeJS | 14.18.1 | Librer铆a JS | | NestJS | ^10.0.0 | Framework de NodeJS | | Typescript | 3.8.3 | Lenguaje con alto tipado basado en JS | | TypeORM | ^0.3.17 | ORM | | Mysql | 10.1 | SGDB | | XAMPP | 3.2.2 | Paquete de servidores | | Swagger | ^7.1.2 | Documentaci贸n de Api | | 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 |


| Extensi贸n |
| ------------- | | Prettier - Code formatter | | Typescript Toolbox - generate setters, getters, constrc, etc | | Otras |



Secci贸n 2) Endpoints y Ejemplos.

2.0) Endpoints y recursos 馃敐

Ver

2.1) Ejemplos 馃敐

Ver


Secci贸n 3) Prueba de funcionalidad y Referencias.

3.0) Prueba de funcionalidad 馃敐

Ver

3.1) Referencias 馃敐

Ver

GraphQL Api

@nestjs/graphql

Nestjs

Typeorm

Api example code

OpenApi and Swagger

Librer铆as


About

Microservice for managing Cisco devices implemented with GraphQL, Express, Apollo, NestJS, Typescript, NodeJS, TypeORM, dotenv, cors, swagger, swagger-ui, MySQL, others.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published