Casos de Uso
Atores do sistema:
- Administrador – coordenação da creche; acesso autenticado à área restrita
- Visitante – qualquer pessoa que acessa o site público sem autenticação
UC-01 – Autenticar no Sistema
Atores: Administrador
Objetivo: Permitir que o administrador acesse a área restrita do sistema mediante confirmação de credenciais.
Pré-condições: O ator não está autenticado.
Fluxo Principal (Autenticar):
- O ator acessa a página de login do sistema.
- O Sistema exibe o formulário de autenticação com campos de e-mail e senha.
- O ator preenche e-mail e senha e confirma o acesso.
- O Sistema valida as credenciais, gera um token JWT e redireciona o ator ao painel administrativo.
Fluxos Alternativos:
FA01 – Login de Usuário Não-Administrador:
- No passo 3 do Fluxo Principal, o ator informa credenciais de um usuário com papel
usuario. - O Sistema autentica e redireciona para a área correspondente ao perfil do usuário.
Fluxos de Exceção:
FE01 – Credenciais Inválidas: No passo 4 do Fluxo Principal, se o Sistema detectar e-mail ou senha incorretos, a autenticação é interrompida. O Sistema exibe mensagem de erro sem indicar qual campo está errado e permite nova tentativa.
FE02 – Sessão Expirada: Se o token JWT do ator estiver expirado, o Sistema retorna 401 e redireciona automaticamente para a tela de login.
FE03 – Campos Ausentes: No passo 3 do Fluxo Principal, se o ator não preencher e-mail ou senha, o Sistema destaca os campos obrigatórios e impede o envio do formulário.
Regras de Negócio:
RN01 – Mensagem de erro de autenticação não deve indicar qual campo (e-mail ou senha) está incorreto, para não facilitar ataques de enumeração.
RN02 – Token JWT expira em 24h; refresh token expira em 7 dias.
UC-02 – Gerenciar Doações
Atores: Administrador
Objetivo: Permitir que o ator gerencie (registre, liste e edite) as doações recebidas pela creche.
Pré-condições: O ator deve estar autenticado no sistema.
Fluxo Principal (Registrar e Listar Doação):
- O ator acessa a seção de Gestão de Doações.
- O Sistema exibe a lista de todas as doações registradas.
- O ator aciona a opção de adicionar nova doação.
- O Sistema apresenta um formulário em branco.
- O ator preenche tipo, quantidade e data da doação e confirma.
- O Sistema valida as informações, registra a doação com timestamp automático e retorna o ator à lista exibindo mensagem de sucesso.
Fluxos Alternativos:
FA01 – Editar Doação:
- No passo 2 do Fluxo Principal, o ator seleciona uma doação e escolhe a opção "Editar".
- O Sistema apresenta o formulário preenchido com os dados atuais.
- O ator modifica as informações desejadas e confirma.
- O Sistema valida, salva as atualizações e exibe mensagem de sucesso.
Fluxos de Exceção:
FE01 – Tipo Inválido: No passo 6 do Fluxo Principal (ou no passo 4 do FA01), se o tipo informado não pertencer ao conjunto permitido, o Sistema retorna 422 e exibe mensagem indicando os valores aceitos.
FE02 – Quantidade Inválida: No passo 6, se a quantidade for zero ou negativa, o Sistema retorna 422 e solicita correção.
FE03 – Campos Obrigatórios Ausentes: No passo 6, se tipo ou descricao estiverem ausentes, o Sistema retorna 422 e destaca os campos com erro.
FE04 – Sem Autenticação: Em qualquer passo que exija ação autenticada, se o token for inválido ou ausente, o Sistema retorna 401 e redireciona para login.
Regras de Negócio:
RN01 – Tipo de doação deve ser um de: dinheiro, alimento, roupa, brinquedo, material, outro.
RN02 – Quantidade deve ser inteiro maior que zero.
RN03 – Timestamp de criação (created_at) é gerado automaticamente pelo sistema e não pode ser informado pelo ator.
UC-03 – Gerenciar Doadores
Atores: Administrador
Objetivo: Permitir que o ator gerencie (cadastre e liste) os doadores da creche.
Pré-condições: O ator deve estar autenticado no sistema.
Fluxo Principal (Registrar e Listar Doador):
- O ator acessa a seção de Gestão de Doadores.
- O Sistema exibe a lista de doadores cadastrados.
- O ator aciona a opção de adicionar novo doador.
- O Sistema apresenta um formulário em branco.
- O ator preenche nome, tipo e opcionalmente e-mail e telefone, e confirma.
- O Sistema valida as informações, registra o doador e retorna o ator à lista exibindo mensagem de sucesso.
Fluxos de Exceção:
FE01 – Campo Nome Ausente: No passo 6, se o nome não for informado, o Sistema retorna 422 e exibe mensagem de campo obrigatório.
FE02 – Tipo Inválido: No passo 6, se o tipo não for pessoa_fisica ou pessoa_juridica, o Sistema retorna 422.
FE03 – E-mail de Domínio Não Permitido: No passo 6, se o e-mail informado não pertencer a um domínio da lista permitida, o Sistema retorna 422 e informa os domínios aceitos.
FE04 – Sem Autenticação: Token ausente ou inválido → retorna 401.
Regras de Negócio:
RN01 – Tipo deve ser pessoa_fisica ou pessoa_juridica.
RN02 – E-mail deve pertencer a domínio permitido: gmail, outlook, hotmail, yahoo, icloud, proton.
RN03 – Nome é campo obrigatório; e-mail e telefone são opcionais.
UC-04 – Gerenciar Entregas
Atores: Administrador
Objetivo: Permitir que o ator registre e consulte as entregas de doações realizadas pela creche.
Pré-condições: O ator deve estar autenticado no sistema.
Fluxo Principal (Registrar e Listar Entrega):
- O ator acessa a seção de Gestão de Entregas.
- O Sistema exibe a lista de entregas registradas.
- O ator aciona a opção de registrar nova entrega.
- O Sistema apresenta um formulário em branco.
- O ator preenche destinatário, itens distribuídos e data, e confirma.
- O Sistema valida, registra a entrega e retorna o ator à lista exibindo mensagem de sucesso.
Fluxos de Exceção:
FE01 – Campos Obrigatórios Ausentes: No passo 6, se destinatário ou data estiverem ausentes, o Sistema retorna 422 e destaca os campos com erro.
FE02 – Sem Autenticação: Token ausente ou inválido → retorna 401.
UC-05 – Gerenciar Voluntários
Atores: Administrador
Objetivo: Permitir que o ator gerencie (cadastre, liste, edite, exclua e consulte histórico e relatório) os voluntários da creche.
Pré-condições: O ator deve estar autenticado no sistema.
Fluxo Principal (Registrar e Listar Voluntário):
- O ator acessa a seção de Gestão de Voluntários.
- O Sistema exibe a lista de voluntários cadastrados.
- O ator aciona a opção de adicionar novo voluntário.
- O Sistema apresenta um formulário em branco.
- O ator preenche nome, e-mail e demais dados, e confirma.
- O Sistema valida, registra o voluntário e retorna o ator à lista exibindo mensagem de sucesso.
Fluxos Alternativos:
FA01 – Editar Voluntário:
- No passo 2 do Fluxo Principal, o ator seleciona um voluntário e escolhe "Editar".
- O Sistema apresenta o formulário preenchido com os dados atuais.
- O ator modifica as informações e confirma.
- O Sistema valida, salva as atualizações e exibe mensagem de sucesso.
FA02 – Excluir Voluntário:
- No passo 2 do Fluxo Principal, o ator seleciona um voluntário e escolhe "Excluir".
- O Sistema exibe um modal solicitando confirmação da exclusão.
- O ator confirma.
- O Sistema verifica ausência de escala ativa, remove o voluntário e atualiza a listagem.
FA03 – Visualizar Histórico:
- No passo 2 do Fluxo Principal, o ator clica no nome de um voluntário.
- O Sistema exibe o histórico de atividades com datas e eventos em que participou.
FA04 – Gerar Relatório de Participação:
- O ator acessa a seção de relatórios de voluntários.
- O Sistema gera e exibe relatório consolidado de participação por voluntário com totais de atividades.
Fluxos de Exceção:
FE01 – Campos Obrigatórios Ausentes: No passo 6 do Fluxo Principal (ou passo 4 do FA01), se nome ou e-mail estiverem ausentes, o Sistema retorna 422.
FE02 – E-mail Duplicado: No passo 6, se o e-mail já pertencer a outro voluntário, o Sistema retorna 400 com mensagem de conflito.
FE03 – Exclusão com Escala Ativa: No passo 4 do FA02, se o voluntário possuir escala ativa, o Sistema bloqueia a exclusão e orienta o ator a desalocá-lo antes de prosseguir.
FE04 – Cancelamento de Exclusão: No passo 3 do FA02, se o ator cancelar o modal, o registro é mantido sem alteração.
FE05 – Sem Autenticação: Token ausente ou inválido → retorna 401.
Regras de Negócio:
RN01 – Voluntário com escala ativa não pode ser excluído diretamente; deve ser desalocado antes.
RN02 – E-mail deve ser único no cadastro de voluntários.
RN03 – A exclusão exige confirmação explícita via modal antes de ser efetivada.
UC-06 – Gerenciar Disponibilidade e Escala
Atores: Administrador
Objetivo: Permitir que o ator registre disponibilidades de voluntários, gere escalas e gerencie alocações.
Pré-condições: O ator deve estar autenticado no sistema e voluntários devem estar cadastrados.
Fluxo Principal (Registrar Disponibilidade e Gerar Escala):
- O ator acessa o perfil de um voluntário.
- O Sistema exibe os dados do voluntário e sua disponibilidade atual.
- O ator aciona "Registrar Disponibilidade", seleciona dias e horários, e confirma.
- O Sistema valida, registra a disponibilidade e exibe mensagem de sucesso.
- O ator acessa a seção de escalas, seleciona um período e aciona "Gerar Escala".
- O Sistema cruza as disponibilidades registradas e gera a escala automaticamente, exibindo-a para revisão.
Fluxos Alternativos:
FA01 – Editar Disponibilidade:
- No passo 2 do Fluxo Principal, o ator seleciona a disponibilidade existente e escolhe "Editar".
- O Sistema apresenta os horários atuais para edição.
- O ator modifica os horários e confirma.
- O Sistema valida, salva as atualizações e exibe mensagem de sucesso.
FA02 – Desalocar Voluntário de Evento:
- O ator acessa a escala ou os detalhes do evento.
- O ator localiza o voluntário alocado e aciona "Desalocar".
- O Sistema exibe modal de confirmação.
- O ator confirma.
- O Sistema remove o vínculo e atualiza a escala exibida.
Fluxos de Exceção:
FE01 – Conflito de Horário: No passo 4 do Fluxo Principal (ou passo 4 do FA01), se o horário informado se sobrepuser a uma disponibilidade já registrada no mesmo dia, o Sistema retorna 422 e informa o conflito.
FE02 – Sem Voluntários Disponíveis: No passo 6, se não houver voluntários disponíveis no período selecionado, o Sistema informa a ausência sem gerar escala vazia.
FE03 – Período Inválido: No passo 5, se a data inicial for posterior à data final, o Sistema retorna 422.
FE04 – Vínculo Inexistente: No passo 5 do FA02, se o voluntário não estiver alocado ao evento, o Sistema retorna 400.
Regras de Negócio:
RN01 – Não é permitido registrar disponibilidade sobreposta para o mesmo voluntário no mesmo dia e horário.
RN02 – A geração de escala é automática com base nas disponibilidades; o ator pode revisar mas não altera a lógica de cruzamento.
UC-07 – Gerenciar Eventos
Atores: Administrador
Objetivo: Permitir que o ator gerencie (cadastre, liste, associe voluntários e registre recursos) os eventos da creche.
Pré-condições: O ator deve estar autenticado no sistema.
Fluxo Principal (Registrar e Listar Evento):
- O ator acessa a seção de Gestão de Eventos.
- O Sistema exibe a lista de eventos cadastrados.
- O ator aciona a opção de adicionar novo evento.
- O Sistema apresenta um formulário em branco.
- O ator preenche nome, data e local, e confirma.
- O Sistema valida, registra o evento e retorna o ator à lista exibindo mensagem de sucesso.
Fluxos Alternativos:
FA01 – Associar Voluntário a Evento:
- No passo 2 do Fluxo Principal, o ator seleciona um evento e escolhe "Associar Voluntário".
- O Sistema exibe a lista de voluntários disponíveis.
- O ator seleciona o voluntário e confirma.
- O Sistema cria o vínculo e exibe mensagem de sucesso.
FA02 – Registrar Recursos por Evento:
- No passo 2 do Fluxo Principal, o ator seleciona um evento e aciona "Registrar Recursos".
- O Sistema apresenta o formulário de recursos.
- O ator informa tipo e quantidade dos recursos necessários e confirma.
- O Sistema registra e exibe mensagem de sucesso.
FA03 – Exibir Resumo de Recursos:
- No passo 2 do Fluxo Principal, o ator seleciona um evento e aciona "Ver Resumo".
- O Sistema exibe consolidado dos recursos por tipo com totais de quantidade.
Fluxos de Exceção:
FE01 – Campos Obrigatórios Ausentes: No passo 6 do Fluxo Principal, se nome, data ou local estiverem ausentes, o Sistema retorna 422 e destaca os campos.
FE02 – Voluntário Já Associado: No passo 4 do FA01, se o voluntário já estiver vinculado ao evento, o Sistema retorna 400 com mensagem de vínculo existente.
FE03 – Quantidade Inválida: No passo 4 do FA02, se a quantidade for zero ou negativa, o Sistema retorna 422.
FE04 – Evento Inexistente: Se o evento referenciado não existir, o Sistema retorna 404.
FE05 – Sem Autenticação: Token ausente ou inválido → retorna 401.
Regras de Negócio:
RN01 – Um voluntário não pode ser associado ao mesmo evento mais de uma vez.
RN02 – Quantidade de recursos deve ser inteiro maior que zero.
UC-08 – Acessar Página Institucional
Atores: Visitante
Objetivo: Permitir que o visitante acesse informações públicas da creche sem necessidade de autenticação.
Pré-condições: Nenhuma — acesso público.
Fluxo Principal (Acessar Página Pública):
- O ator acessa o endereço do site da creche.
- O Sistema carrega a página institucional pública em até 5s.
- O ator visualiza missão, história, localização com mapa e formas de contato.
- O ator pode clicar nos canais de contato para interagir com a creche.
Fluxos de Exceção:
FE01 – Indisponibilidade do Serviço: No passo 2, se o serviço de hospedagem estiver indisponível, o Sistema exibe página de erro padrão sem expor dados internos.
Regras de Negócio:
RN01 – Nenhuma autenticação é exigida para acesso à página institucional pública.
RN02 – Informações de contato e formas de doação devem estar visíveis sem necessidade de scroll em resoluções ≥ 360px.
UC-09 – Publicar Solicitação de Apoio
Atores: Administrador
Objetivo: Permitir que o administrador publique necessidades da creche na página pública para captação de apoio externo.
Pré-condições: O ator deve estar autenticado no sistema.
Fluxo Principal (Publicar Solicitação):
- O ator acessa a seção de Solicitações de Apoio.
- O Sistema exibe as solicitações já publicadas.
- O ator aciona "Nova Solicitação".
- O Sistema apresenta formulário com campos de título, descrição e categoria.
- O ator preenche os dados e confirma a publicação.
- O Sistema valida, registra a solicitação com status
pendentee a torna visível na página pública, exibindo mensagem de confirmação.
Fluxos de Exceção:
FE01 – Campos Obrigatórios Ausentes: No passo 6, se título, descrição ou categoria estiverem ausentes, o Sistema retorna 422 e destaca os campos com erro.
FE02 – Categoria Inválida: No passo 6, se a categoria não pertencer ao conjunto permitido, o Sistema retorna 422.
FE03 – Sem Autenticação: Token ausente ou inválido → retorna 401.
Regras de Negócio:
RN01 – Categoria deve ser uma de: alimentacao, material, voluntario, financeiro, outro.
RN02 – Status padrão ao publicar é pendente; o ator não define o status na criação.
RN03 – Somente o administrador autenticado pode publicar solicitações.
UC-10 – Visualizar Solicitações de Apoio
Atores: Visitante
Objetivo: Permitir que visitantes consultem publicamente as necessidades atuais da creche.
Pré-condições: Nenhuma — acesso público.
Fluxo Principal (Listar Solicitações):
- O ator acessa a página pública de solicitações de apoio.
- O Sistema retorna a lista de solicitações ativas ordenadas por data de criação, sem exigir autenticação.
- O ator visualiza título, categoria, descrição e status de cada solicitação.
Fluxos Alternativos:
FA01 – Filtrar por Status ou Categoria:
- No passo 2 do Fluxo Principal, o ator aplica filtro por
statusoucategoria. - O Sistema retorna somente as solicitações que correspondem ao filtro selecionado.
Fluxos de Exceção:
FE01 – Filtro com Valor Inválido: No passo 2 do FA01, se o valor do filtro não pertencer ao conjunto aceito, o Sistema retorna 422 e informa os valores válidos.
FE02 – Nenhuma Solicitação Cadastrada: No passo 2 do Fluxo Principal, se não houver solicitações, o Sistema retorna 200 com lista vazia [] sem exibir erro.
Regras de Negócio:
RN01 – Listagem é pública; nenhuma autenticação é necessária.
RN02 – Ordenação padrão é por created_at decrescente (mais recentes primeiro).
RN03 – Filtros por status e categoria devem usar somente valores do conjunto aceito; valores inválidos resultam em erro 422.