Skip to content

unb-mds/DFemObras

🏗️ DF em Obras (Versão 2.0)

Quality Gate Status Duplicated Lines (%)

O DF em Obras é uma plataforma de fiscalização cidadã que monitora investimentos e prazos de obras públicas no Distrito Federal, utilizando dados da API ObrasGov.

Important

Evolução 2.0: Originalmente desenvolvido como um projeto acadêmico da disciplina de MDS (UnB), a versão 2.0 foi totalmente reestruturada por Caio Melo Borges. A nova arquitetura utiliza o conceito de Modern Data Stack, focando em automação, integridade de dados via dbt e inteligência artificial generativa.


📋 Sumário


📍 Links do Projeto


🛠️ Arquitetura v2.0

A versão atual abandonou processos manuais por um pipeline de dados automatizado e resiliente:

  • Ingestão: Scripts Python com lógica de MERGE (Upsert) para evitar duplicidade.
  • Data Warehouse: MotherDuck (DuckDB gerenciado na nuvem).
  • Transformação (ELT): dbt (data build tool) para modelagem e testes de qualidade.
  • IA Generativa: Google Gemini API para análise inteligente de atrasos e redação de relatórios.
  • Orquestração: GitHub Actions gerenciando 4 estágios (CI, Ingestão, Build e Bot).
  • Qualidade de Código: Ruff (Linting) e Pytest (Testes Unitários).

📂 Estrutura do Repositório

  • .github/workflows/: Automação completa do pipeline e integração contínua.
  • data_eng/: Core da engenharia de dados (ingestão e integração).
  • Bots/: Scripts do bot social e integração com o modelo Gemini.
  • tests/: Suite de testes para garantir a consistência das métricas reportadas.
  • js/: Estrutura e automações do mapa.

🚀 Como Contribuir

Para rodar o projeto localmente ou contribuir com o desenvolvimento:

1. Preparando o Ambiente

# Clone o repositório
git clone [https://github.com/unb-mds/DFemObras.git](https://github.com/unb-mds/DFemObras.git)
cd DFemObras

# Crie e ative sua venv
python3 -m venv venv_bot
source venv_bot/bin/activate

# Instale as dependências
pip install -r requirements.txt
pip install -r requirements-dev.txt

2. Linting e Testes (CI Local)

Garantir que os testes passem é obrigatório para qualquer Pull Request:

# Verificar estilo de código
ruff check .

# Executar testes unitários
python3 -m pytest

👥 Créditos e Histórico

Grupo Original (MDS - 2024.2)

Este projeto nasceu do esforço do Grupo 07 da UnB:

Nome GitHub
Cayo Felipe Alencar Câmara @Cayoalencar
João Pedro Rodrigues Gomes da Silva @JpRodrigues2
Julia dos Reis Teixeira Massuda @JuliaReis18
Caio Melo Borges (Responsável v2.0) @CaioMelo25
Marcos Vinícius Lima Bezerra @marcoslbz
Nathan Batista Santos @Nathan-bs

📄 Documentação Original

As definições de requisitos e a documentação técnica inicial da disciplina podem ser acessadas neste link.

🤖 Perfil X

Link do nosso perfil no X: neste link.

🛠️ Arquitetura

A arquitetura do projeto pode ser encontrada neste link.

📄 Requisitos

Os requisitos do projeto estão disponíveis neste link

📂 Documentação

A documentação do projeto pode ser encontrada neste link.

💡 Suporte

Se encontrar problemas durante a configuração, abra uma issue no repositório ou entre em contato.

About

Aplicação web com o objetivo de visualizar de forma interativa as obras públicas do Distrito Federal. O projeto foi desenvolvido na disciplina de 'Métodos de Desenvolvimento de Software' da Universidade de Brasília - UnB

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors