Skip to content

Repository files navigation

✈️ voobarato-flights-api

Microsserviço de busca de voos baseado no pacote fli (pip install flights) -- acesso direto à API interna do Google Flights via requisições RPC com TLS fingerprinting, sem parsing de HTML e sem navegadores headless.


⚡ TL;DR — Como rodar em um novo sistema

Escolha apenas 1 das opções abaixo dependendo de como você quer rodar:

🐋 Opção A: Em Produção / Servidor (Usando Docker — RECOMENDADO)

Não precisa instalar Python nem gerenciar ambientes. Rodar apenas:

docker-compose up -d --build

A API já estará rodando na porta 12000 (ou na porta definida no seu .env).


💻 Opção B: No seu computador (Desenvolvimento Local)

Basta ter o python3 instalado e rodar 1 único comando:

make dev

O Makefile cria automaticamente o ambiente virtual .venv, instala todas as dependências necessárias e já inicia o servidor na porta 12000 com hot-reload, escutando em 0.0.0.0 (acessível pelos containers Docker do Voo-Barato). Para só localhost: make dev HOST=127.0.0.1.


🛠️ Ferramentas de Linha de Comando (CLI)

O repositório possui scripts executáveis em português na pasta cli/ para facilitar interações e automações:

# 1. Healthcheck rápido
./cli/saude.sh http://127.0.0.1:12000

# 2. Realizar busca pontual por data exata
./cli/buscar.sh VIX GRU 2026-08-10 2026-08-15

# 3. Realizar busca por janela de datas
./cli/buscar_janela.sh VIX GRU 2026-08-02 2026-08-08 1

# 4. Autocomplete unificado (IATA + cidade)
curl "http://127.0.0.1:12000/api/v1/locais?busca=VI&limite=10"

# 5. Smoke test end-to-end contra servidor ativo
./cli/testar_ao_vivo.sh http://127.0.0.1:12000

📋 Para que serve cada comando no Makefile? (Resumo)

O Makefile é apenas um atalho opcional. Você não precisa usar todos os comandos!

Comando Quando usar? O que ele faz?
make dev No dia a dia local Cria venv, instala dependências e sobe a API (--reload)
make lint Para verificar código Roda verificação de código (ruff)
make format Formatar código Aplica formatação automática (ruff format)
make docker-build Para criar a imagem Docker Roda docker build
make run Em servidor sem Docker Sobe a API em produção com 2 workers
make cli-saude Testar o /saude Executa ./cli/saude.sh
make cli-buscar Testar /api/v1/buscar Executa ./cli/buscar.sh
make cli-buscar-janela Testar /api/v1/buscar/janela Executa ./cli/buscar_janela.sh

🧪 Qualidade de Código

make lint
make format

📚 Documentação Técnica Detalhada

Endpoints de autocomplete

Rota Uso
GET /api/v1/cidades Cidades/estados (Voo Barato); aceita IATA na busca (VIX → Vitória)
GET /api/v1/locais IATA + cidade na mesma lista (VIVIX + Vitória)
GET /api/v1/aeroportos Aeroportos individuais (~7.800)

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

API para coletar dados de voos

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages