Pessanha23 / hub_correios_api

Baixa e disponibiliza em formato de API todos os CEPs Brasileiros.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hub-correios-api

API de fácil instalação para buscar qualquer cep Brasileiro :)

Conceito

Basicamente, ao subir o container, ela baixa esse csv com 900k de endereços e salva na tabela 'correio.address' dentro do MySQL.
Depois do setup é possível pesquisar de forma fácil, via API REST, qualquer cep Brasileiro.

Stack

-> Java 11+
-> MySQL
-> Spring Family
-> Docker Compose

Por que essa stack?

Utilizei essa Stack apenas para demonstrar o meu conhecimento em spring data, mysql e docker-compose. Uma stack com Lambda e DynamoDB cairia muito bem também :)

Cobertura de testes

100% coberto por testes de integrações, utilizando:
-> org.mock-server
-> com.h2database

Para compilar e testar

Execute no terminal: docker-compose up

Importante: Ao buildar e subir a API, ela pode demora de 3 a 5 minutos para baixar todos os CEPs e inserir no MySQL.
Enquanto esse setup não termina, você vai receber o erro 503, conforme exemplo abaixo.

Exemplos para testar

200 OK

{
    "zipcode": "03358150",
    "street": "Rua Ituri",
    "district": "Vila Formosa",
    "state": "SP",
    "city": "São Paulo"
}

503 Service Unavailable

{
    "timestamp": "2023-01-16T23:27:34.962+00:00",
    "status": 503,
    "error": "Service Unavailable",
    "message": "This service is being installed, please wait a few moments.",
    "path": "/zip/03358150"
}

204 No-Content

About

Baixa e disponibiliza em formato de API todos os CEPs Brasileiros.


Languages

Language:Java 99.1%Language:Dockerfile 0.9%