UC05 - Gerenciar Eventos
1. Atores
Atores principais: Usuário autenticado, Moderador
2. Objetivo
Permitir que usuários autenticados criem, visualizem, editem, excluam e compartilhem eventos da comunidade.
3. Pré-condições
- O ator deve estar autenticado no aplicativo.
- O ator deve possuir uma conta ativa.
- O ator deve acessar a página de Eventos.
- O sistema deve possuir conexão ativa com o backend.
- O backend deve estar integrado ao banco de dados Firebase/Firestore.
4. Fluxo Principal
FP01 - Criar Evento
- O usuário acessa a página de Eventos. (RF15)
- O sistema identifica o usuário autenticado. (RF15)
- O sistema apresenta a agenda de eventos e a opção de criar um novo evento. (RF17)
- O usuário seleciona a opção de criar evento. (RF15)
- O sistema apresenta o formulário de criação de evento. (RF15)
- O usuário informa o título, data, horário, local, descrição e demais informações do evento. (RF15)
- O usuário confirma a criação do evento. (RF15)
- O sistema valida os dados obrigatórios. (RF15)
- O sistema registra o evento no banco de dados e o vincula ao usuário criador. (RF15)
- O sistema atualiza a agenda de eventos. (RF15, RF17)
- O sistema exibe mensagem de sucesso informando que o evento foi criado. (RF15)
5. Fluxos Alternativos
FA01 - Visualizar Eventos
- O usuário acessa a página de Eventos. (RF17)
- O sistema busca os eventos cadastrados. (RF17)
- O sistema exibe os eventos ordenados por data de realização. (RF17)
- O usuário visualiza os eventos disponíveis. (RF17)
FA02 - Editar Evento
- O criador acessa um evento de sua autoria. (RF16)
- O usuário seleciona a opção de edição. (RF16)
- O sistema carrega os dados atuais do evento. (RF16)
- O usuário altera as informações desejadas. (RF16)
- O usuário confirma a edição. (RF16)
- O sistema valida os dados alterados. (RF16)
- O sistema atualiza o evento no banco de dados. (RF16)
- O sistema exibe mensagem de sucesso informando que o evento foi atualizado. (RF16)
FA03 - Excluir Evento
- O criador do evento ou um moderador acessa um evento existente. (RF18)
- O ator seleciona a opção de exclusão. (RF18)
- O sistema solicita confirmação da exclusão. (RF18)
- O ator confirma a exclusão. (RF18)
- O sistema remove o evento da agenda da comunidade. (RF18)
- O sistema atualiza a lista de eventos. (RF18, RF17)
- O sistema exibe mensagem de sucesso informando que o evento foi excluído. (RF18)
FA04 - Compartilhar Evento
- O usuário acessa um evento disponível. (RF19)
- O usuário seleciona a opção de compartilhamento. (RF19)
- O sistema apresenta as opções de compartilhamento disponíveis. (RF19)
- O usuário seleciona o destino do compartilhamento. (RF19)
- O sistema gera o link do evento e conclui o compartilhamento. (RF19)
FA05 - Cancelar Criação ou Edição
- Durante a criação ou edição do evento, o ator aciona a opção de cancelar ou voltar. (RF15, RF16)
- O sistema descarta as alterações não salvas. (RF15, RF16)
- O sistema retorna para a tela anterior. (RF15, RF16)
- Nenhum dado é registrado ou alterado no banco de dados. (RF15, RF16)
6. Fluxos de Exceção
FE01 - Interface Indisponível para Usuário Não Autenticado
- O usuário tenta acessar a página de Eventos sem estar autenticado. (RF15, RF16, RF17, RF18, RF19)
- O sistema identifica que não existe uma sessão válida. (RF15, RF16, RF17, RF18, RF19)
- O sistema impede o acesso às funcionalidades de eventos. (RF15, RF16, RF17, RF18, RF19)
- O sistema redireciona o usuário para a tela de login. (RF15, RF16, RF17, RF18, RF19)
FE02 - Campos Obrigatórios Ausentes
- O usuário tenta criar ou editar um evento sem preencher os campos obrigatórios. (RF15, RF16)
- O sistema identifica a ausência dos dados obrigatórios. (RF15, RF16)
- O sistema impede o salvamento do evento. (RF15, RF16)
- O sistema destaca os campos inválidos. (RF15, RF16)
- O sistema orienta o usuário a preencher as informações necessárias. (RF15, RF16)
Campos obrigatórios mínimos:
- título;
- data;
- horário;
- local.
FE03 - Data do Evento Inválida
- O usuário informa uma data ou horário no passado durante a criação ou edição do evento. (RF15, RF16)
- O sistema identifica a inconsistência. (RF15, RF16)
- O sistema impede o salvamento do evento. (RF15, RF16)
- O sistema informa que o evento deve ocorrer em uma data futura. (RF15, RF16)
FE04 - Evento Indisponível por Estado Desatualizado
- O usuário tenta editar, excluir ou compartilhar um evento. (RF16, RF18, RF19)
- O sistema revalida a disponibilidade do evento no backend. (RF16, RF18, RF19)
- O sistema identifica que o evento foi removido ou tornou-se indisponível. (RF16, RF18, RF19)
- O sistema impede a operação solicitada. (RF16, RF18, RF19)
- O sistema atualiza a agenda de eventos. (RF17)
- O sistema informa que o evento não está mais disponível. (RF16, RF17, RF18, RF19)
FE05 - Falha de Conectividade
- O usuário tenta criar, visualizar, editar, excluir ou compartilhar um evento sem conexão com o backend. (RF15, RF16, RF17, RF18, RF19)
- O sistema não consegue concluir a operação. (RF15, RF16, RF17, RF18, RF19)
- O sistema exibe mensagem de falha de conexão. (RF15, RF16, RF17, RF18, RF19)
- O sistema orienta o usuário a tentar novamente quando a conexão for restabelecida. (RF15, RF16, RF17, RF18, RF19)
FE06 - Erro Interno no Banco de Dados
- O usuário confirma uma operação válida envolvendo um evento. (RF15, RF16, RF17, RF18, RF19)
- O sistema tenta registrar, atualizar, excluir ou consultar dados no Firestore. (RF15, RF16, RF17, RF18, RF19)
- O banco de dados retorna erro ou indisponibilidade. (RF15, RF16, RF17, RF18, RF19)
- O sistema cancela a operação. (RF15, RF16, RF17, RF18, RF19)
- O sistema exibe mensagem de erro interno. (RF15, RF16, RF17, RF18, RF19)
7. Regras de Negócio
- RN06 - Campos obrigatórios para registro de entidades
- RN08 - Permissão para edição e exclusão de eventos
- RN10 - Ordenação cronológica de eventos comunitários
8. Requisitos Relacionados
| RF | Relação com a UC |
|---|---|
| RF15 - Criar eventos | Permite que usuários criem eventos da comunidade na plataforma. |
| RF16 - Editar eventos | Permite que os criadores de um evento alterem suas informações e datas. |
| RF17 - Listar eventos | Permite que os usuários visualizem a agenda de eventos da comunidade. |
| RF18 - Excluir eventos | Permite que o criador do evento e moderadores excluam o evento do sistema. |
| RF19 - Compartilhar eventos | Permite que o usuário compartilhe eventos da comunidade para outras redes ou usuários. |
9. Protótipo
UC não foi implementada.
10. Aplicação do DoR
Checklist não aplicado, pois a UC05 não estava no MVP e não foi iniciada. Link da Issue: Uc05
11. Fluxo de Acesso à UC
Espaço reservado para adicionar o fluxo de como chegar nesta UC dentro do sistema, com prints reais das telas.