Visão Geral¶
O propósito dos requisitos funcionais é definir o que a plataforma Mural UnB deve oferecer ao usuário em termos de comportamento e funcionalidades observáveis. Abaixo estão os epics já pensados e desdobrados em user stories, critérios de aceitação e exemplos de payloads/endpoint quando aplicável.
🔴 P0 (Crítico / MVP) – funcionalidade essencial para o funcionamento básico.
🟠 P1 (Importante) – relevante, mas pode ser entregue após o MVP.
🟢 P2 (Desejável) – incrementos ou funcionalidades complementares.
Papéis (roles)¶
-
Aluno: usuário principal que consome recomendações e favorita oportunidades.
-
Professor / Orientador: pode solicitar a publicação de oportunidades (opcional, dependendo do MVP).
-
Administrador: gerencia conteúdo, valida publicações e resolve abusos.
Epic: Feed & Recomendação¶
US-01 — Feed personalizado¶
Descrição: Usuários recebem lista de oportunidades ordenada por relevância.
Prioridade: P0 🔴
Exemplo de response: { items: [{ id, oportunidade_object, type, score, tags }] }
US-02 — Busca textual¶
Descrição: Usuários pesquisam por palavras chaves sobre as oportunidades.
Prioridade: P0 🔴
Epic: Oportunidade¶
US-03 — Vizualizar detalhes¶
Descrição: Usuários vizualizam os detalhes das oportunidades, como: Instagram, site, etc...
Prioridade: P0 🔴
US-4 — Vizualizar tags das oportunidades¶
Descrição: Usuários vizualizam as tags relacionadas as oportunidades
Prioridade: P1 🟠
Epic: Navbar & Navegação¶
US-5 — Navbar responsiva¶
Descrição: Navbar fixa com acessos: Home, Oportunidades, Favoritos, Sobre.
Prioridade: P1 🟠
Epic: ETL Dados¶
Epic: Home¶
US-6 — Página inicial¶
Descrição: Página inicial possuindo informações sobre o Mural-UnB que apresenta o projeto e as funcionalidades do site
Prioridade: P1 🟠
US-7 — Sobre¶
Descrição: Página de sobre, que apresenta os integrantes do projeto e mostra a participação de cada um nele.
Prioridade: P2 🟢
Epic: ETL Dados¶
US-8 — ETL das EJs (FCTE)¶
Descrição: Coletar, transformar e carregar o banco de dados com as empresas juniores da FCTE (scopo inicial).
Prioridade: P0 🔴
Exemplo de estrutura:
EJs {
id: UUID PK
nome: string,
curso: enum(Software, Eletrônica, Aeroespacial, Automotiva, Energia) FK,
missao: string FK,
sobre: string,
visao: string,
valores: string,
servicos: string,
site?: string,
instagram?: string,
}
US-9 — ETL das Laboratórios (FCTE)¶
Descrição: Coletar, transformar e carregar o banco de dados com os laboratórios de pesquisa da FCTE (scopo inicial).
Prioridade: P0 🔴
Exemplo de estrutura:
EJs {
id: UUID PK
nome: string,
curso: enum(Software, Eletrônica, Aeroespacial, Automotiva, Energia) FK,
sobre: string,
coordenador: string,
email: string,
tags: FK,
site?: string,
instagram?: string,
}
US-10 — ETL das Equipes de Competição (FCTE)¶
Descrição: Coletar, transformar e carregar o banco de dados com as equipes de competição da FCTE (scopo inicial).
Prioridade: P2 🟢
Exemplo de estrutura:
EJs {
id: UUID PK
nome: string,
subTitulo: string,
curso: enum(Software, Eletrônica, Aeroespacial, Automotiva, Energia) FK,
campus: string FK,
sobre: string,
tags: FK,
site?: string,
instagram?: string,
}
US-11 — Captação e Relacionamento das Tags¶
Descrição: O sistema deve ser capaz de gerar automaticamente os embeddings para a lista de tags em tags.json e relacionar as Oportunidades.
Prioridade: P0 🔴
Epic: Recomendação com IA (Banco Vetorizado)¶
US-12 — Similaridade no frontend¶
Descrição: O sistema deve fazer uma busca por similaridade para entregar uma recomendação para o usuario a partir das tags das oportunidades.
Prioridade: P0 🔴
Observação¶
🔖 Para mais detalhes visuais sobre fluxos, protótipos e mapeamento de funcionalidades, consulte o Figma - Hub do Projeto, que está sendo utilizado pela equipe como central de informações.