volgarini / cep-finder

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cep Finder

Cep Finder é uma api que realiza consulta de cep:

  1. Dado um CEP válido, retorna os dados do endereço:
    • cep
    • state
    • city
    • neighborhood
    • street
    • service
  2. 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.
  3. Dado um CEP inválido retorna uma mensagem de erro "CEP INVÁLIDO".

Proposta

Graças a engine Cep Promise é possível realizar a busca de CEP integrado diretamente ao serviço dos Correios, Viacep e Widenet (Apicep)

Arquitetura

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

Node.js

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.

Swagger

Estrutura para documentação da API. Com o Swagger os endpoints são facilmente acessados pelo navegador.

Executando a API

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

      Google App Engine

      Serviço de nuvem oferecido pela Google com toda arquitetura necessária para hospedagem da aplicação.

      Monitoramento

      Log

      SonarCloud

      Url do projeto cep-finder no SonarCloud: Clique aqui

About


Languages

Language:JavaScript 100.0%