Skip to content

MicaelaAndrade/buscaCep

Repository files navigation

Nest Logo

👩🏻‍🏭 O projeto

Serviço de API desenvolvido com Node.js e o framework Nestjs que busca CEP qualquer localidade, o componente exporta uma função que retorna um endereço recebendo um cep como parâmetro.

🥷🏻 Sobre o Desafio

Aqui

👷🏻‍♀️ Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js, Nestjs. Além disto é bom ter um editor para trabalhar com o código como VSCode

⚙️ Rodando Rotas

TYPE PATH ARGS QUERY PARAMS DESCRIÇÃO
GET /health - - - status do servidor
- /api - - - Aplicação do swagger
- /api/cep/14405275 - - - Necessário Token

Estrutura do projeto

  • Foi pensado para facilitar maneira de consultar CEP de qualquer localidade, junto com API ViaCep.
  • Foram colocado cacheamento nos dados, quando é feita uma requisição da consulta de CEP, mesma ficara cacheada.
  • Foi implementado Health check para validar se a aplicação está sendo executada.
  • Colocado uma autenticação na chamada da API, mesma só retornará os dados, se estiver autenticada pelo Token.

👩🏻‍💻 Realizando teste com swagger

# Acessando a rota
$  http://localhost:3000/api
$  Precisa gerar o token primeiro, para poder fazer a consulta do cep informado.
$  Gerar Curl API irá receber um token para autenticar. 
    
curl -X 'POST' \
  'http://localhost:3000/auth/login' \
  -H 'accept: */*' \
  -H 'Content-Type: application/json' \
  -d '{
 "user": "admin",
 "pass": "admin"
}'

$  Apos ter gerado o token informar no Authorize, feito isso acessar a rota GET informar o CEP.

Todo módulo do projeto tem sua responsabilidade, os arquivos estão configuração e padronizados no projeto.

BUSCA-CEP-NESTJS/
│── doc/
│   └── SOBRE.md
│   │── src/
│   │   ├── auth/
│   │   │   │── __dto__/
│   │   │   │       └── auth.dto.ts
│   │   │   │       └── authSecrety.ts
│   │   │   │       └── jwt.dto.ts
│   │   │   │       └── status.dto.ts
│   │   │── auth-jwlt.guard.ts
│   │   │── auth.controller.spec.ts 
│   │   │── auth.controller.ts 
│   │   │── auth.module.ts 
│   │   │── auth.service.spec.ts 
│   │   │── auth.service.ts 
│   │   │── auth.strategy.ts
│   │── cep/
│   │   │   │── __dto__/
│   │   │   │       └── cep.dto.ts
│   │   │   │── __interfaces__/
│   │   │   │       └──cep.class.ts
│   │   │   │       └── cep.interface.ts
│   │   │   │── __middlewares__/
│   │   │   │      └──auth.middleware.ts
│   │   │   │── __validators__/
│   │   │   │      └──cep.validator.ts
│   │   │── cep.controller.spec.ts/
│   │   │── cep.controller.ts/
│   │   │── cep.module.ts/
│   │   │── cep.service.spec.ts/
│   │   │── cep.service.ts/
│   │── health/
│   │   │── health.controller.ts/
│   │──test/
│   │   └── cep.e2e-spec.ts
│   │── app.module.ts/
│   │──main.ts/
│── .eslintrc.js
│── .gitignore
│── .prettierrc
│── nest-cli.json
│── package.json
│── README.md
│── tsconfig.build.json
│── tsconfig.json

Installation

$ yarn install

Running the app

# development
$ yarn start:dev

Test the app

$ yarn test 

Autor

Micaela Andrade

👊🏼 Entre em contato!

Twitter Badge Linkedin Badge Gmail Badge

About

Serviço de busca Cep em Nest.js ✈️

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published