Integração DASA - DSS (parte 1)
DASA UTM
📌 Descrição
Fornecer ao DASA capacidade de acessar entidades UTM através de um serviço intermediário entre o mapa e o ECO-UTM, o que torna o DASA capaz de mostrar as regiões de intenção operacional (OIRs) e restrições (Constraints) com filtros avançados e detalhes via popup.
O serviço deve fornecer endpoints que interagem com o DSS para obter e processar as informações do ECO-UTM.
⏳ Estimativas
- Desenvolvimento do backend: Médio-Alto (5-7 dias)
- Integração com DSS: Médio-Alto (5-7 dias)
- Testes unitários e de integração: Médio (3-4 dias)
- Revisão e ajustes após feedback do frontend: Baixo-Médio (2-3 dias)
- Total estimado: ~3 a 4 semanas
🔗 Depende'les
- Time de frontend: para validar a estrutura dos endpoints e a forma como os dados serão consumidos.
- DSS: serviço responsável por fornecer os dados das regiões e restrições.
📝 Detalhes
- Formato dos dados geoespaciais: utilizar GeoJSON para representação dos polígonos no frontend.
- Desempenho: implementar cache e paginação nos endpoints para evitar sobrecarga ao DSS.
- Autenticação: verificar se os endpoints exigem autenticação para acessar os dados.
- Tolerância a falhas: garantir que, caso o DSS esteja temporariamente indisponível, o sistema não quebre e forneça um fallback adequado.
📜 Tarefas
1️⃣ Criar a estrutura dos endpoints no FastAPI
/api/regions/oirs
→ Retorna OIRs com filtros aplicáveis/api/regions/constraints
→ Retorna Constraints com filtros aplicáveis/api/regions/details/{id}
→ Retorna detalhes de um OIR ou Constraint específico
2️⃣ Modelar os dados
- Criar modelos Pydantic para OIRs e Constraints
- Adaptar a resposta do DSS para os modelos internos
3️⃣ Implementar os filtros
- Horário/Duração
- Provedor responsável
- Altitude
- Tipo de operação (VLOS, EVLOS, BVLOS)
4️⃣ Implementação do popup de detalhes
- OIR: nome do provedor, horário, coordenadas, altitude, contato de emergência
- Constraint: nome do responsável, tipo (FRZ, temporária, altitude), duração, altitude
5️⃣ Conectar com DSS e processar os dados
- Implementar chamadas assíncronas ao DSS
- Tratar erros de comunicação com o DSS
6️⃣ Implementar testes unitários e de integração
- Testar filtros e respostas
- Simular falhas no DSS e validar comportamento
7️⃣ Documentação e OpenAPI
- Documentar endpoints usando FastAPI + Swagger
- Compartilhar exemplos de uso para o frontend
💀 Nível de prioridade
- Sim