Skip to content

JhusNeto/api-premium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧩 API Premium — Micro API de Automação

API profissional construída com FastAPI, Pydantic e SQLite, ideal para demonstrar integrações reais, recebimento de eventos, persistência de dados e exposição de endpoints robustos com documentação automática via Swagger.

🚀 Resumo do Projeto

Este microserviço recebe eventos (cliente, valor, categoria, data), valida a estrutura, persiste no banco e permite consultar individualmente ou listar tudo. É um exemplo sólido de API de automação para fluxos como:

  • Integração com ERPs e CRMs
  • Processamento de webhooks
  • Registro de eventos financeiros
  • Pipelines de ingestão para dashboards
  • Sistemas com agentes/automações que enviam dados para um backend leve

⚙️ Funcionalidades Principais

✅ Receber eventos via POST /event

  • Validação completa com Pydantic
  • Normalização de campos
  • Armazenamento automático no SQLite

🔍 Buscar um evento via GET /event/{event_id}

  • Localiza o registro por ID
  • Retorna em formato JSON padronizado

📄 Listar todos os eventos via GET /events

  • Endpoint para listagem completa
  • Útil para ETL, dashboards e auditoria

❤️ Health Check → GET /health

  • Confirma que o serviço está saudável

📚 Swagger e Redoc automáticos

🏗️ Arquitetura

api-premium/
├── app.py                  # Inicialização da API (FastAPI)
├── requirements.txt
├── logs/
│   └── api.log             # Logs estruturados
├── src/
│   ├── schemas.py          # Models e validações (Pydantic)
│   ├── controllers.py      # Camada de controle
│   ├── services.py         # Regras de negócio
│   ├── storage.py          # Persistência SQLite
│   └── utils.py            # Funções auxiliares
├── tests/
│   └── test_api.py         # Testes automáticos
└── docker-compose.yml      # Execução com Docker

Arquitetura desacoplada, simples e didática — perfeita para entrevistas e propostas.

🧪 Instalação e Execução

1. Instalar dependências

pip install -r requirements.txt

2. Rodar a API

uvicorn app:app --reload

Acesse em: http://localhost:8000/docs

🐳 Docker

Execute tudo com um único comando:

docker-compose up --build

A API ficará acessível em: http://localhost:8000

📨 Exemplos de Uso

1️⃣ POST — Criar Evento

curl -X POST "http://localhost:8000/event" \
  -H "accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "cliente": "ACME Ltda",
    "valor": 1200.50,
    "categoria": "Serviços",
    "data": "2026-02-01"
  }'

Resposta:

{
  "status": "ok",
  "message": "Evento recebido e processado"
}

2️⃣ GET — Buscar Evento por ID

curl -X GET "http://localhost:8000/event/<event_id>"

3️⃣ GET — Listar Eventos

curl -X GET "http://localhost:8000/events"

📄 Licença

Livre para uso, estudo, modificação e demonstração.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •