O que foi dito vs. O que foi votado. Uma plataforma de transparência política movida a Inteligência Artificial.
O ContraDito é um projeto universitário desenvolvido pela Squad 09 para a disciplina de Métodos de Desenvolvimento de Software da Universidade de Brasília (UnB - FCTE).
O sistema atua como um portal de transparência que cruza discursos proferidos por parlamentares (extraídos via API de Dados Abertos da Câmara/Senado) com seus respectivos votos em plenário. Utilizando Processamento de Linguagem Natural (LLM), o sistema gera um Score de Coerência e exibe "Provas de Contradição", permitindo que o cidadão acompanhe a postura real de seus representantes.
O sistema foi desenhado visando total desacoplamento, performance e consistência de dados, operando em um fluxo linear de 5 filtros principais:
- Extração: Script consome os dados brutos da API da Câmara e padroniza metadados (
nome_urna). - Motor IA: Modelo de linguagem (Ollama) avalia a coerência texto-voto e gera as Tags.
- Persistência: Dados enriquecidos são salvos de forma relacional no Supabase (PostgreSQL).
- Disponibilização: O Back-end filtra, pagina e valida os dados.
- Visualização: A interface responsiva consome a API e renderiza as informações para o cidadão.
- Back-end: Python, FastAPI, Pydantic.
- Banco de Dados: Supabase (PostgreSQL), Supabase-py.
- Inteligência Artificial: Ollama (LLM Local).
- Infraestrutura: Docker, Docker Compose, GitHub Actions (CI/Linter).
- Documentação: MkDocs.
- Docker e Docker Compose instalados.
- Git.
-
Clone o repositório:
git clone [https://github.com/sua-organizacao/entrelinhas-contradito.git](https://github.com/sua-organizacao/entrelinhas-contradito.git) cd entrelinhas-contradito -
Configure as Variáveis de Ambiente: Crie um arquivo
.envna raiz do projeto e insira suas credenciais:SUPABASE_URL=sua_url_do_projeto_aqui SUPABASE_KEY=sua_chave_anon_publica_aqui
-
Suba os containers da aplicação:
No terminal, rode o comando:
docker-compose up --build
-
Acesse e Teste:
Front-end: http://localhost:3000
Back-end/Docs: http://localhost:8000/docs
Este projeto foi construído colaborativamente por:
- Henrique - @henriquemendeselias
- João Guilherme - @jot4-ge
- Luiz Henrique - @luizhtmoreira
- Gabriel - @G2SBiell
- Lucas - @lucasaraujoszz
- Matheus - @matheus0346