Cep Finder é uma api que realiza consulta de cep:
- Dado um CEP válido, retorna os dados do endereço:
- cep
- state
- city
- neighborhood
- street
- service
- Dado um CEP válido, que não possua endereço, a api substitui os valores da direita pra esquerda por 0, até achar um cep com endereço. Realiza até 4 tentativas (incluindo o dado original), caso não encontrar, retorna erro. Exemplo: Dado 14050999 tentar com 14050990, 14050900 e 14050000.
- Dado um CEP inválido retorna uma mensagem de erro "CEP INVÁLIDO".
Graças a engine Cep Promise é possível realizar a busca de CEP integrado diretamente ao serviço dos Correios, Viacep e Widenet (Apicep)
A aplicação foi desenvolvida utilizando MVC para API REST com divisões e organização por diretórios. Assim temos um ganho na reutilização de códigos e fácil manutenção.
- Tecnologias Utilidadas:
- NodeJs
- Npm
- Swagger
- Test com jEst
- Google Cloud Plataform
- SonarCloud
Tecnologia utilizada como principal linguagem de programação. Por ser leve e multiplataforma é possível rodar a aplicação em qualquer servidor com a SO desejada, diminuindo muito o custo de hardware.
Estrutura para documentação da API. Com o Swagger os endpoints são facilmente acessados pelo navegador.
Pré-requisitos
- Realizar o clone do projeto
- Node >= 12.0.0
- Npm
Variáveis de ambiente
Nome | Descrição |
---|---|
HOST | URL da aplicação |
PORT | Porta da aplicação |
AUTHORIZATION | Indica se a aplicação vai usar o serviço de autenticação |
GCLOUD_TYPE | Tipo do projeto |
GCLOUD_PROJECT | Id do projeto no google cloud |
GCLOUD_PRIVATE_KEY_ID | Id da chave privada |
GCLOUD_PRIVATE_KEY | Chave privada |
GCLOUD_CLIENT_EMAIL | E-mail do client |
GCLOUD_CLIENT_ID | Id do client |
GOOGLE_APPLICATION_CREDENTIALS | Caminho do arquivo de autenticação do google cloud |
Instação
npm install
Testes
npm test
Executar o projeto
npm start
Serviço de nuvem oferecido pela Google com toda arquitetura necessária para hospedagem da aplicação.
Url do projeto cep-finder no SonarCloud: Clique aqui
![](https://raw.githubusercontent.com/volgarini/cep-finder/main/docs/sonar.png)