Skip to content

Api Rest para la gestión de envíos, productos, puntos, rutas, etc, ejemplificando parte de la arquitectura de desarrollo de PedidosYa Envíos implementado con NestJS, NodeJS, Typescript, TypeORM, Supertest , Jest, dotenv, cors, swagger, swagger-ui, MySQL, otros.

License

Notifications You must be signed in to change notification settings

andresWeitzel/ApiRest_PedidosYaEnvios_NestJS

Repository files navigation

Index app

ApiRest_PedidosYaEnvios_NestJS

Api Rest para la gestión de envíos, productos, puntos, rutas, etc, ejemplificando parte de la arquitectura de desarrollo de PedidosYa Envíos implementado con NestJS, 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 controlador sin test
nest g co moduleName --no-spec
  • Podemos automatizar los archivos anteriores con la generación de resources( Esto creara entitie,service,module, controller, etc)
nest g resource resourceName --no-spec
- Seleccionamos los siguientes valores
- ? What transport layer do you use? REST API
- ? 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

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 la generación de resources( Esto creara entitie,service,module, controller, etc)
nest g resource resourceName --no-spec
- Seleccionamos los siguientes valores
- ? What transport layer do you use? REST API
- ? 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

Videotutorials

Api example code

Api Methods

Topics NestJS

OpenApi and Swagger

Typeorm Relations

Librerías


About

Api Rest para la gestión de envíos, productos, puntos, rutas, etc, ejemplificando parte de la arquitectura de desarrollo de PedidosYa Envíos implementado con NestJS, NodeJS, Typescript, TypeORM, Supertest , Jest, dotenv, cors, swagger, swagger-ui, MySQL, otros.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published