Skip to content

andre-dev-2021/hackaton-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hackaton Backend

REST API desenvolvida individualmente para o Hackathon 2026, competição de programação realizada em abril de 2026 na UNASP, com duração de 3 dias. Fui responsável por todo o backend, integrando a fonte de dados (Firestore) ao agente de IA (IBM Watsonx Orchestrate) para que este realizasse recomendações de voluntários às instituições com base nos requisitos de cada uma. Desenvolver o projeto sozinho, do design da API ao deploy, foi uma oportunidade de aprofundar conhecimentos em arquitetura de integração entre serviços e no ciclo completo de desenvolvimento de software.

Stack

  • FastAPI — Framework web assíncrono, escolhido pela facilidade de implementação e documentação.
  • Pydantic - Biblioteca de validação de dados, escolhido pela fácil implementação e boa integração com FastAPI.
  • Google Firestore — Banco de dados NoSQL, utilizado por ser mais fácil de implementar para uma PoC.
  • IBM Watsonx Orchestrate — Agente de IA conversacional, requisito para a competição.

Endpoints

Todos os endpoints foram protegidos por API Keys.

Sessão Watsonx

Método Endpoint Descrição Proteção
POST /api/v1/sessions Criar nova sessão no agente de IA IBM watsonx API Key
POST /api/v1/chat Envia uma mensagem para o agente IBM watsonx API Key
DELETE /api/v1/sessions/{session_id} Encerra sessão IBM watsonx API Key

Firestore

Método Endpoint Descrição Proteção
GET /api/v1/collections/{collection} Listar documentos Chave própria
GET /api/v1/collections/{collection}/{doc_id} Buscar documento Chave própria
POST /api/v1/convites Criar convite Chave própria
PUT /api/v1/convites/{doc_id}/status Atualizar status Chave própria
POST /api/v1/login Autenticar usuário Chave própria
POST /api/v1/voluntarios Cadastrar voluntário Chave própria
POST /api/v1/instituicoes Cadastrar instituição Chave própria
POST /api/v1/eventos Criar evento Chave própria

Estrutura do Projeto

.
├── auth.py          # Autenticação IBM Watsonx
├── main.py          # Endpoints da API
├── models.py        # Modelos Pydantic
├── repository.py    # Camada de acesso a dados
├── requirements.txt # Dependências Python
├── Dockerfile       # Containerização
└── .env             # Variáveis de ambiente (não versionar)

Autor

André Pereira de Sá

LinkedIn GitHub Gmail

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors