Skip to content

Product Backlog

Este documento detalha o Product Backlog para o projeto "Portal de Vagas". O escopo está focado exclusivamente no desenvolvimento front-end com React, utilizando dados simulados (mock) para emular o comportamento do back-end. O trabalho está organizado em três sprints de duas semanas cada.

Personas / Papéis de Usuário

  • Aluno: Estudante que busca e se candidata a vagas de monitoria.
  • Professor: Docente que cria, publica e gerencia vagas de monitoria.
  • Administrador (CASA): Membro do departamento administrativo que supervisiona o processo geral.

Sprint 1: Estrutura Visual e Listagem de Vagas

Meta da Sprint: Montar a estrutura do projeto React, criar as telas principais e a navegação, e exibir vagas a partir de uma fonte de dados simulada (mock).

Estado ao Final do Sprint 1

O projeto deverá ser um protótipo clicável com a estrutura de navegação principal e as telas essenciais já construídas. Embora a lógica de interação complexa ainda não esteja implementada, será possível visualizar o fluxo básico da aplicação.

  • Navegação Funcional: O usuário consegue navegar entre as telas de Login, Cadastro, Lista de Vagas, Detalhes de uma Vaga e o formulário de Criação de Vaga.
  • Visualização de Dados (Mock): A lista de vagas exibe dados de um arquivo JSON local. É possível clicar em uma vaga para ver seus detalhes completos.
  • Telas Estáticas: Os formulários (Login, Cadastro, Criação de Vaga) estão visualmente prontos, mas a submissão dos dados apenas simula a ação, sem persistir o estado.
  • Estrutura Pronta: A base do código em React, incluindo a estrutura de componentes e o roteamento, está finalizada e pronta para receber as funcionalidades das próximas sprints.

Backlog para o Sprint 1

[P-01] (Técnico) Configurar projeto React e dados simulados (mock)

  • ID: P-01
  • História de Usuário: Como desenvolvedor, eu quero configurar o projeto React e um sistema de dados simulados (mock) para alimentar a aplicação.
  • Critérios de Aceitação:
    • Projeto React inicializado com as dependências necessárias.
    • Estrutura de pastas para componentes, páginas e serviços definida.
    • Arquivos JSON criados para simular usuários, vagas e candidaturas.
    • Sistema de roteamento (navegação entre páginas) configurado.

[P-02] Criar UI de Login e Cadastro

  • ID: P-02
  • História de Usuário: Como um usuário, eu quero ver as telas de Cadastro e Login com todos os campos necessários.
  • Critérios de Aceitação:
    • Páginas de Cadastro e Login criadas como componentes React.
    • Formulários possuem validação de campos (ex: e-mail válido, senha com mínimo de caracteres).
    • Ações de "Login" e "Cadastro" simulam uma chamada de API e redirecionam o usuário para o painel principal, gerenciando o estado de "logado" localmente.

[P-03] Visualizar lista de vagas de monitoria

  • ID: P-03
  • História de Usuário: Como um aluno logado, eu quero visualizar uma página com a lista de todas as vagas de monitoria disponíveis, carregadas dos dados simulados.
  • Critérios de Aceitação:
    • A página busca e exibe os dados do arquivo JSON de vagas.
    • Cada vaga é exibida em um card com informações resumidas.
    • A interface da lista é intuitiva e visualmente agradável.

[P-04] Visualizar detalhes de uma vaga

  • ID: P-04
  • História de Usuário: Como um aluno, eu quero clicar em uma vaga para ver uma página com todos os seus detalhes.
  • Critérios de Aceitação:
    • Ao clicar em um card, o usuário é levado a uma nova rota (página) que exibe as informações completas daquela vaga específica.
    • A página de detalhes é carregada rapidamente.

[P-05] Criar formulário para nova vaga

  • ID: P-05
  • História de Usuário: Como um professor logado, eu quero ver uma tela com um formulário para criar uma nova vaga.
  • Critérios de Aceitação:
    • A página de criação de vaga contém todos os campos necessários.
    • Ao submeter o formulário, a nova vaga é adicionada ao estado local da aplicação, fazendo com que ela apareça na lista de vagas do aluno (simulando a persistência).

Sprint 2: Interatividade e Gerenciamento de Estado

Meta da Sprint: Implementar as funcionalidades de candidatura do aluno e o gerenciamento de candidatos pelo professor, manipulando o estado da aplicação no front-end.

Estado ao Final do Sprint 2

O projeto evolui para um protótipo totalmente interativo, onde o ciclo principal de uso (criação de vaga, candidatura e seleção) funciona de ponta a ponta utilizando o gerenciamento de estado do front-end. A aplicação se comporta como se estivesse conectada a um back-end.

  • Fluxo de Candidatura Completo: Um aluno pode se candidatar a uma vaga, e essa candidatura passa a ser visível em seu painel "Minhas Candidaturas".
  • Gerenciamento de Candidatos: Um professor pode visualizar a lista de alunos que se candidataram às suas vagas e pode alterar o status de uma candidatura (ex: "Aprovado").
  • Estado Reativo: A mudança de status realizada pelo professor é refletida em tempo real na tela do aluno, demonstrando a reatividade da aplicação.
  • Funcionalidades Adicionais: A busca e o filtro de vagas na página principal estão funcionando.

Backlog para o Sprint 2

[P-06] Permitir candidatura do aluno a uma vaga

  • ID: P-06
  • História de Usuário: Como um aluno, eu quero poder me candidatar a uma vaga através de um formulário.
  • Critérios de Aceitação:
    • A página de detalhes da vaga possui um botão "Candidatar-se".
    • O formulário permite selecionar arquivos do computador (a funcionalidade de upload será apenas visual).
    • Ao "enviar", o estado da aplicação é atualizado para refletir que o aluno se candidatou àquela vaga.

[P-07] Criar painel "Minhas Candidaturas" para o aluno

  • ID: P-07
  • História de Usuário: Como um aluno, eu quero ter uma página "Minhas Candidaturas" para acompanhar o status de cada uma.
  • Critérios de Aceitação:
    • A página lê o estado local da aplicação para listar as vagas às quais o aluno se candidatou.
    • O status de cada candidatura (ex: "Enviada", "Em Análise", "Aprovado") é exibido.

[P-08] Permitir ao professor visualizar candidatos

  • ID: P-08
  • História de Usuário: Como um professor, eu quero visualizar a lista de candidatos inscritos para cada uma das minhas vagas.
  • Critérios de Aceitação:
    • O painel do professor permite selecionar uma vaga e ver uma lista de alunos (mock) que se candidataram.
    • É possível simular o download dos documentos de um candidato.

[P-09] Permitir ao professor selecionar um candidato

  • ID: P-09
  • História de Usuário: Como um professor, eu quero poder alterar o status de uma candidatura para "Aprovado" ou "Não Selecionado".
  • Critérios de Aceitação:
    • Na lista de candidatos, botões permitem ao professor alterar o status da candidatura.
    • A mudança de status no painel do professor é refletida imediatamente na página "Minhas Candidaturas" do aluno correspondente.

[P-10] Implementar filtro de vagas

  • ID: P-10
  • História de Usuário: Como um aluno, eu quero poder filtrar as vagas por disciplina ou palavra-chave na página de listagem.
  • Critérios de Aceitação:
    • Um campo de busca na tela de vagas filtra a lista de vagas exibida (a filtragem ocorre no array de dados no front-end).

Sprint 3: Dashboard, Polimento e Finalização

Meta da Sprint: Construir o dashboard do administrador com dados visuais simulados, refinar a interface geral do usuário e garantir a compatibilidade entre navegadores.

Estado ao Final do Sprint 3

O projeto atinge o estado de um produto finalizado e pronto para apresentação. Todas as funcionalidades do backlog estão implementadas, a interface está refinada e a experiência do usuário é coesa e profissional.

  • Dashboard Administrativo: A tela do administrador está funcional, exibindo gráficos e estatísticas a partir de dados simulados.
  • Experiência do Usuário (UX) Refinada: A aplicação inclui notificações visuais para ações importantes, melhorando o feedback para o usuário.
  • Funcionalidades Secundárias: A página de perfil do aluno está implementada.
  • Qualidade e Responsividade: A aplicação foi testada, possui um layout responsivo e é compatível com os principais navegadores. O projeto está pronto para ser demonstrado.

Backlog para o Sprint 3

[P-11] Criar dashboard do administrador com estatísticas

  • ID: P-11
  • História de Usuário: Como um administrador, eu quero acessar um dashboard com gráficos e estatísticas sobre as vagas.
  • Critérios de Aceitação:
    • Uma página de dashboard é criada e acessível ao usuário "Administrador".
    • Componentes visuais (usando uma biblioteca como Chart.js ou Recharts) exibem dados estáticos, como "monitores por curso" e "vagas preenchidas".

[P-12] Implementar notificações visuais

  • ID: P-12
  • História de Usuário: Como um usuário, eu quero ver notificações visuais (modais ou pop-ups) para ações importantes.
  • Critérios de Aceitação:
    • Uma notificação de sucesso aparece quando uma candidatura é enviada.
    • Uma notificação aparece no painel do aluno quando o status de sua candidatura muda.

[P-13] Criar página de perfil do aluno

  • ID: P-13
  • História de Usuário: Como um aluno, eu quero ter uma página de perfil onde posso visualizar meus dados e documentos (simulados).
  • Critérios de Aceitação:
    • Uma página de perfil exibe as informações do usuário logado.
    • Permite a simulação de troca de arquivos de currículo e histórico.

[P-14] (Técnico) Garantir responsividade e compatibilidade

  • ID: P-14
  • História de Usuário: Como equipe, quero garantir que a interface seja responsiva e compatível com os principais navegadores.
  • Critérios de Aceitação:
    • O layout da aplicação se ajusta bem a telas de desktop e mobile.
    • A aplicação é testada e funciona corretamente no Chrome, Firefox e Edge.