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
47 lines
1020 B
YAML
47 lines
1020 B
YAML
services:
|
|
backend:
|
|
container_name: ranking_backend
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8000:8000"
|
|
env_file:
|
|
- ./backend/.env
|
|
environment:
|
|
- API_HOST=0.0.0.0
|
|
- API_PORT=8000
|
|
- API_RELOAD=true
|
|
- CORS_ORIGINS=http://localhost:5173,http://frontend:5173
|
|
- LOG_LEVEL=INFO
|
|
volumes:
|
|
- ./backend/src:/app/src
|
|
- /etc/localtime:/etc/localtime:ro
|
|
networks:
|
|
- shared_network
|
|
restart: unless-stopped
|
|
|
|
frontend:
|
|
container_name: ranking_frontend
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
depends_on:
|
|
- backend
|
|
ports:
|
|
- "5173:5173"
|
|
volumes:
|
|
- ./frontend/src:/app/src
|
|
- ./frontend/index.html:/app/index.html
|
|
- ./frontend/vite.config.js:/app/vite.config.js
|
|
- /etc/localtime:/etc/localtime:ro
|
|
links:
|
|
- backend
|
|
networks:
|
|
- shared_network
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
shared_network:
|
|
external: true
|