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.
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
TYPE | PATH | ARGS | QUERY | PARAMS | DESCRIÇÃO |
---|---|---|---|---|---|
GET | /health | - | - | - | status do servidor |
- | /api | - | - | - | Aplicação do swagger |
- | /api/cep/14405275 | - | - | - | Necessário Token |
- 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.
# 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
$ yarn install
# development
$ yarn start:dev
$ yarn test
👊🏼 Entre em contato!