Desafio 1: Engenharia de Dados
Etapas do Desafio:
- Extração de Dados (Web Scraping):
- Desenvolva um script (em Python, por exemplo) para extrair todos os dados tabulados das duas fontes abaixo:
- Harmonização de Dados (Normalização):
- Como você deve notar, as fontes possuem um número diferente de colunas.
- Seu desafio é criar um esquema de dados único que possa representar a informação de ambas as fontes.
- O importante é que o resultado final seja uma estrutura de dados consistente.
- Armazenamento:
- Salve os dados já tratados e harmonizados em um banco de dados PostgreSQL.
Desafio 2: Desenvolvimento Web
Sistema "DADOS PI"
Cenário: Precisamos construir uma nova versão da nossa plataforma interna de coleta de dados, chamada DADOS PI.
Requisitos:
- Backend (Django):
- API para Usuários: Crie endpoints para cadastrar, ler, atualizar e deletar (CRUD) usuários.
- API para Painéis: Crie um CRUD para gerenciar "painéis" (que podem ser entendidos como categorias ou dashboards).
- API para Formulários: Crie um CRUD para que usuários possam enviar dados através de um formulário.
- Sistema de Permissão: Implemente uma regra de negócio onde cada usuário pertence a um "setor". Usuários só podem visualizar os dados que foram enviados por pessoas do seu próprio setor.
- Frontend (Next.js):
- Telas de Usuário: Crie as interfaces para interagir com o CRUD de usuários.
- Telas de Painel: Crie as interfaces para o CRUD de painéis.
- Formulário de Envio: Desenvolva a página com o formulário para submissão de dados.
- Visualização de Dados: Crie uma tela que liste os dados enviados, respeitando a regra de permissão por setor definida no backend.
Painéis de Monitoramento
Cenário: Precisamos de uma aplicação web para centralizar e gerenciar nossos painéis de monitoramento de projetos (Compromissos, Obras e Convênios).
Escopo Inicial: Para este teste, foque em construir apenas o painel de Compromissos.
Fontes de Referência para o Painel de Compromissos:
Requisitos: