Skip to content

Mural UnB

Sobre

O Mural UnB é uma plataforma digital projetada para centralizar e recomendar oportunidades acadêmicas e profissionais dentro da Universidade de Brasília (UnB).

O objetivo é criar uma experiência personalizada, onde os estudantes possam facilmente descobrir oportunidades alinhadas aos seus interesses e histórico acadêmico. Ao analisar o perfil do usuário, a plataforma recomenda as opções mais relevantes e envia notificações sobre novas vagas.

Inclui oportunidades como:

Empresas juniores
Laboratórios de pesquisa
Equipes de Competição

Em resumo, o Mural UnB funciona como um mural virtual, que vai além de apenas listar oportunidades — ele ajuda os estudantes a se conectarem com as oportunidades certas, no momento certo.

Equipe

Tiago Bittencourt
Tiago Bittencourt

SM • ML & Agent Developer
João Gonzaga
João Gonzaga

PO • Backend Developer
Luan Ludry
Luan Ludry

Frontend Developer
Lucas Fujimoto
Lucas Fujimoto

Backend Developer
Maria Canuto
Maria Canuto

Frontend Developer
Matheus Saraiva
Matheus Saraiva

Backend Developer

Como Funciona

  1. Listagem de Oportunidades (Feed) → O usuário tem acesso a uma página com grande parte das oportunidades na UnB.
  2. Análise de perfil → O sistema identifica interesses e habilidades que o usuário quer ser recomendado por meio de Tags.
  3. Recomendações personalizadas → O estudante recebe oportunidades alinhadas ao seu perfil (tags).

Motivação

A falta de um canal centralizado dificulta o acesso dos estudantes às oportunidades dentro da UnB.
Atualmente, informações estão dispersas em murais físicos, e-mails institucionais e redes sociais, o que leva muitos alunos a perderem prazos importantes.

O Mural UnB surge como resposta a esse problema, oferecendo eficiência, transparência.


Tecnologias Utilizadas

Frontend

Dados

Outros


Manual de instalção

Scripts de Backend e ETL

Esta pasta contém os scripts Python responsáveis pela extração, transformação e carregamento (ETL) dos dados, além das integrações com IA (Google Gemini).

Configuração Inicial

Antes de executar qualquer script, certifique-se de estar na raiz do projeto:

  1. Ative o ambiente virtual:

    source venv/bin/activate
    # Windows: venv\Scripts\activate
    

  2. Instale as dependências:

    pip install -r requirements.txt
    pip install -r requirements-EJ.txt
    

  3. Configuração de API (Gemini): Para os scripts de IA funcionarem, crie um arquivo .env na raiz do projeto contendo sua chave:

    GOOGLE_API_KEY="sua_chave_aqui"
    


Pipelines de Execução

Os comandos abaixo devem ser executados a partir da raiz do projeto.

  1. Pipeline de Laboratórios (FGA) Responsável por baixar o portfólio, extrair textos e buscar imagens na web.
# 1. Baixar o PDF oficial da UnB
python scripts/labs_pdf.py

# 2. Extrair dados, buscar imagens na web e gerar CSV
python scripts/extrair_labs_fga.py

Saída: data/Labs/labs_fga.csv e imagens em data/images/labs/.

  1. Pipeline de Empresas Juniores (EJs) Extrai dados dos editais e portfólios das EJs.
python scripts/extrair_empresas_juniores.py

3. Pipeline de Inteligência Artificial (Embeddings)

Gera vetores semânticos para permitir a busca inteligente e categorização.

# 1. Gerar embeddings para as tags base
python scripts/generate_embeddings_gemini.py

# 2. Alocar tags aos laboratórios baseado em similaridade semântica
python scripts/alocar_tags_embeddings.py

Testes e Qualidade

O projeto utiliza pytest para testes unitários (com mocks de rede/arquivos) e pylint para análise estática.

# Rodar todos os testes unitários
```bash
# 1. Clone o repositório
git clone https://github.com/unb-mds/2025-2-Mural-UnB.git

# 2. Configuração do Backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# 3. Configuração do Frontend
cd site
npm install
npm run dev