Backend (FastAPI + DDD):
- Arquitetura DDD com camadas Domain, Application, Infrastructure, Interface
- Integração com Elasticsearch (ATUACAPES) para dados de consultores
- Integração com Oracle (SUCUPIRA_PAINEL) para coordenações PPG
- Cálculo dos 4 componentes de pontuação (A, B, C, D)
- Cache em memória para otimização de performance
- API REST com endpoints /ranking, /ranking/detalhado, /consultor/{id}
Frontend (React + Vite):
- Interface responsiva com cards expansíveis
- Visualização detalhada de pontuação por componente
- Filtro por quantidade de consultores (Top 10, 50, 100, etc)
Docker:
- docker-compose com shared_network externa
- Backend com Oracle Instant Client
- Frontend com Vite dev server
46 lines
932 B
TOML
46 lines
932 B
TOML
[tool.poetry]
|
|
name = "ranking-capes"
|
|
version = "0.1.0"
|
|
description = "Sistema de Ranking de Consultores CAPES - DDD Architecture"
|
|
authors = ["CAPES"]
|
|
readme = "README.md"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.11"
|
|
fastapi = "^0.109.0"
|
|
uvicorn = {extras = ["standard"], version = "^0.27.0"}
|
|
pydantic = "^2.5.3"
|
|
pydantic-settings = "^2.1.0"
|
|
elasticsearch = "^8.11.1"
|
|
cx-Oracle = "^8.3.0"
|
|
python-dateutil = "^2.8.2"
|
|
httpx = "^0.26.0"
|
|
python-dotenv = "^1.0.0"
|
|
rich = "^13.7.0"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
pytest = "^7.4.4"
|
|
pytest-asyncio = "^0.23.3"
|
|
pytest-cov = "^4.1.0"
|
|
black = "^24.1.1"
|
|
ruff = "^0.1.14"
|
|
mypy = "^1.8.0"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.black]
|
|
line-length = 100
|
|
target-version = ["py311"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py311"
|
|
|
|
[tool.mypy]
|
|
python_version = "3.11"
|
|
strict = true
|
|
warn_return_any = true
|
|
warn_unused_configs = true
|