Lumina¶
Combate às fake news com inteligência artificial conversacional.¶
📄 Sobre o Projeto¶
Projeto desenvolvido para a disciplina de Métodos de Desenvolvimento de Software (MDS) - 2025/2 da Universidade de Brasília (UnB).
O objetivo do Lumina é combater a desinformação crescente. Nossa solução é um chatbot inteligente que permite a verificação rápida de fatos e notícias. Diferente dos mecanismos de busca tradicionais, o Lumina oferece uma interface conversacional intuitiva, utilizando IA Generativa para analisar e sintetizar informações de fontes confiáveis em tempo real.
🚦 Status de Qualidade e Testes¶
Aqui você acompanha a saúde atual do projeto:
| Tipo | Status |
|---|---|
| Integração Contínua (CI) | |
| Testes Backend | |
| Testes Frontend |
🛠️ Tecnologias Utilizadas¶
O ecossistema do Lumina é composto pelas seguintes tecnologias:
| Categoria | Tecnologias |
|---|---|
| Frontend (Mobile) | |
| Backend (API) | |
| Banco de Dados | |
| DevOps & Testes |
🏗️ Estrutura do Repositório¶
O projeto adota uma arquitetura de monorepo, contendo frontend e backend no mesmo local.
Lumina/
├── .github/ # Configurações de CI/CD e Templates
│ ├── workflows/ # Pipelines do GitHub Actions
│ └── ...
│
├── backend/ # API, IA, Admin e Lógica de Servidor
│ ├── app/ # Código fonte Python (API e WebCrawlers)
│ ├── tests/ # Testes automatizados (Pytest e E2E)
│ ├── scripts/ # Scripts auxiliares de manutenção
│ └── main.py # Ponto de entrada do servidor
│
├── frontend/ # Aplicativo Mobile (Flutter)
│ ├── lib/ # Código fonte Dart
│ ├── android #Integração do aplicativo para a plataforma
│ └── pubspec.yaml # Dependências do Flutter
│
├── docs/ # Documentação do Projeto
│ ├── documentações/ # Documentos técnicos
│ ├── estudos/ # Pesquisas e provas de conceito
│ └── planejamentos/ # Gestão do projeto (Atas, Sprints)
│
├── .gitignore # Arquivos ignorados pelo Git
├── CONTRIBUTING.md # Guia para contribuir
├── LICENSE # Licença MIT
├── README.md # Visão geral do projeto
└── pytest.ini # Configuração de testes
🚀 Como Executar¶
Siga os passos abaixo para configurar o ambiente de desenvolvimento na sua máquina.
📋 Pré-requisitos¶
Antes de começar, você vai precisar ter instalado em sua máquina:
-
Git (instalado e configurado).
-
Python 3.10+ instalado.
-
Flutter SDK instalado e configurado.
-
Uma chave de API do Google Gemini (obtenha no Google AI Studio).
1. ⚙️ Backend (API Python)¶
-
Navegue até a pasta do backend:
cd /backend -
Crie um ambiente virtual para isolar as dependências:
# Windows python -m venv venv .\venv\Scripts\activate # Linux/Mac python3 -m venv venv source venv/bin/activate -
Instale as dependências do projeto:
pip install -r requirements.txt -
Configure as variáveis de ambiente:
-
Crie um arquivo chamado .env na raiz da pasta backend.
-
Adicione a sua chave de API dentro dele:
GOOGLE_API_KEY=sua_chave_aqui -
Execute o servidor de desenvolvimento:
fastapi dev main.py
2. 📱 Frontend (App Mobile)¶
-
Em outro terminal, acesse a pasta do frontend:
cd frontend -
Instale as dependências do Flutter:
flutter pub get -
Execute o aplicativo: (Nota: É necessário um emulador Android/iOS aberto ou um dispositivo físico conectado via USB)
flutter run
📦 Como baixar o aplicativo¶
Para baixar nosso aplicativo, basta acessar esse link do Google Drive e seguir este passo a passo:
-
Baixe o arquivo Lumina.apk no seu dispositivo celular presente no link
-
Procure pelo apk baixado nos seus arquivos (geralmente na pasta downloads)
-
Clique no arquivo Lumina.apk e instale o aplicativo
obs.: Caso necessário, lembre-se de permitir a instalação de apps desconhecidos no seu dispositivo
📱 Demonstração do aplicativo¶
Abaixo está uma pequena demonstração do aplicativo funcionando

🤝 Como Contribuir¶
Ficamos felizes com o interesse em contribuir! Para detalhes sobre como submeter Pull Requests, padrões de código e nossa política de conduta, leia nosso guia:CONTRIBUTING.md
👥 Autores¶
O projeto é desenvolvido pelas seguintes pessoas
| Nome | Função | Github |
|---|---|---|
| Cecília Costa Rebelo Cunha | Scrum Master (Líder de projeto) | CeciliaCunha |
| Arthur Luiz Silva Guedes | Product Manager (PO) | ArthurLuizUnB |
| Átila Sobral de Oliveira | Developer | Atila05 |
| Nathan Pontes Romão | Developer (Líder) | nathanpromao |
| João Pedro Ferreira Gomes | Designer | Joao-PFG |
| Tiago Geovane da Silva Sousa | Arquitetura/DevOps | TiagoUNB |
| ------------ |