Skip to content

Lumina

Combate às fake news com inteligência artificial conversacional.

GitHub repo size

GitHub language count

GitHub forks

Bitbucket open issues

GitHub license


📄 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) GitHub Workflow Status
Testes Backend Tests
Testes Frontend Tests

🛠️ Tecnologias Utilizadas

O ecossistema do Lumina é composto pelas seguintes tecnologias:

Categoria Tecnologias
Frontend (Mobile) Flutter Dart
Backend (API) Python FastAPI
Banco de Dados SQLite ChromaDB
DevOps & Testes GitHub Actions

🏗️ 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)

  1. Navegue até a pasta do backend:

    cd /backend
    

  2. 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
    

  3. Instale as dependências do projeto:

    pip install -r requirements.txt
    

  4. Configure as variáveis de ambiente:

  5. Crie um arquivo chamado .env na raiz da pasta backend.

  6. Adicione a sua chave de API dentro dele:

    GOOGLE_API_KEY=sua_chave_aqui
    

  7. Execute o servidor de desenvolvimento:

    fastapi dev main.py
    

2. 📱 Frontend (App Mobile)

  1. Em outro terminal, acesse a pasta do frontend:

    cd frontend
    

  2. Instale as dependências do Flutter:

    flutter pub get
    
  3. 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:

  1. Baixe o arquivo Lumina.apk no seu dispositivo celular presente no link

  2. Procure pelo apk baixado nos seus arquivos (geralmente na pasta downloads)

  3. 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

Lumina

🤝 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
------------

🔗 Saiba mais