Microservicio para el manejo de dispositivos cisco implementado con GraphQL, Express, Apollo, NestJS, Typescript, NodeJS, TypeORM, Dotenv, Cors, Swagger, Swagger-ui, MySQL, Otros.
- Repositorio microdb_cisco_devices_mysql
- Playlist prueba de funcionalidad
- Api Rest Documentation Cisco
Ver
- 1.0) Descripción del Proyecto.
- 1.1) Ejecución del Proyecto.
- 1.2) Configuración del proyecto desde cero
- 1.3) Comandos de utilidad.
- 1.4) Tecnologías.
1.0) Descripción 🔝
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
- Instalamos el plugin para dotenv (variables de entorno)
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
- Para el uso del orm, podemos seguir la guía de configuración de typeorm para db.
- Instalamos el plugin de nest con swagger paa la documentación de nuestra Api rest.
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 |
2.0) Endpoints y recursos 🔝
Ver
2.1) Ejemplos 🔝
Ver
3.0) Prueba de funcionalidad 🔝
Ver
3.1) Referencias 🔝
Ver
- Tutorials -Api rest example
- Tutorials
- Installation/tutorial
- Videotutorials
- Topics
- Relations
- Methods
- Ap rest graphql+typeorm+nestjs
- Api completa MVC (CHECK)
- Api example tutorial
- Nestjs Rest example code
- OFICIAL CRUD NESTJS