Skip to content

brunoribeiro-lab/api-cep

Repository files navigation

API de CEP

A API de CEP disponibiliza uma API RESTful que permite consultar dados detalhados sobre endereços, incluindo nome da rua, bairro, cidade, estado e região.

  • 951.053 Endereços
  • 5.308 Cidades
  • 27 Estados

Construído Com

Abaixo está as tecnologias usadas no desenvolvimento desse projeto.

Respostas

Código Descrição
200 Requisição executada com sucesso (success).
400 CEP informado não existe no sistema.
404 CEP pesquisado não encontrado (Not found).

Consultar CEP

GET /cep/{cep}

Resposta:

200 OK: Retorna um objeto JSON contendo informações detalhadas sobre o endereço correspondente ao CEP fornecido.

Exemplo de resposta:

 {
     "cep": "01001000",
     "rua": "Praça da Sé",
     "bairro": "Sé",
     "cidade": "São Paulo",
     "uf": "SP",
     "regiao": "Sudeste"
 }

404 Not Found: Se nenhum endereço for encontrado para o CEP fornecido. Exemplo de resposta:

 {
     "error":"Endereço não encontrado para o CEP fornecido 99999999"}
 }

Buscar Cidades

GET /cidades/{uf}

Resposta:

200 OK: Retorna um objeto JSON contendo uma lista de todas as cidades correspondente ao UF fornecido.

Exemplo de resposta:

[
   {
      "cidade": "Arapiraca"
   },
   {
      "cidade": "Maceió"
   },
   {
      "cidade": "Palmeira dos Índios"
   }
]

404 Not Found: Se nenhuma cidade for encontrado para o UF fornecido. Exemplo de resposta:

 {
     "error":"Nenhuma Cidade foi encontrada com o UF fornecido: BU"}
 }

Buscar Cidade

GET /cidade/{cidade}/{uf?}

Resposta:

200 OK: Retorna um objeto JSON contendo uma lista de todas as cidades.

Exemplo de resposta sem UF:

[
   {
      "cidade": "São Paulo",
      "uf": "SP"
   },
   {
      "cidade": "São Paulo",
      "uf": "RS"
   }
]

Exemplo de resposta com UF:

   {
      "cidade": "São Paulo",
      "uf": "SP"
   }

404 Not Found: Se nenhuma cidade for encontrada.

Exemplo de resposta sem UF:

 {
     "error":'Nenhuma cidade encontrada com o nome "São Paulos".'}
 }

Exemplo de resposta com UF:

 {
     "error":'Nenhuma cidade encontrada com o nome "São Paulos" e UF "RJ".'}
 }

Começando

Veja abaixo todos os passos para fazer a instalação corretamente da aplicação.

Pré-requisitos

  • PHP 8.1+
  • MariaDB 10.6 database
  • Nginx Servidor Web

Instalação Docker

Antes de começar será necessário instalar o Docker no seu servidor/máquina. com o docker instalado siga os próximos passos abaixo.

  1. Clone o repositório

    git clone https://github.com/brunoribeiro-lab/api-cep.git
  2. Copie o .env.example para .env e abra o arquivo .env e substitua pelas informações corretas:

    cp .env.example .env

    Defina as configurações no arquivo .env

     DB_HOST=127.0.0.1               // IP do banco de dados
     DB_PORT=3336                    // porta do banco de dados
     DB_DATABASE=minha_app           // nome do banco de dados
     DB_USERNAME=root                // nome de usuário do banco de dados
     DB_PASSWORD=senha_do_banco      // senha do banco de dados
     APP_URL=http://localhost:8000   // url da aplicação + porta (caso seja diferente de 80 não precisa informar a porta)
     APP_PORT=8080                   // porta da aplicação   ex: 8080
     APP_PHP_PORT=9002               // porta do PHP         ex: 80
     APP_REDIS_PORT=6378             // porta do redis       ex: 6378
  3. Executando o Docker Composer

    docker-compose up -d --build app
  4. Instalando as bibliotecas

    docker-compose run --rm composer update
  5. Gerando uma chave do Laravel

    docker-compose run artisan key:generate
  6. Importando as tabelas

    docker-compose run --rm artisan migrate
  7. Importando os dados do endereço

    docker-compose run artisan db:seed --class=ImportarDadosSeeder

Portas expostas detalhadas para o .env de exemplo

  • nginx - :8080
  • mysql - :3336
  • php - :9002
  • redis - :6378