feat: Sistema de Ranking de Consultores CAPES - versão inicial
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
This commit is contained in:
46
docker-compose.yml
Normal file
46
docker-compose.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
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
|
||||
Reference in New Issue
Block a user