UC04 - Gerenciar Feed Social
1. Atores
Atores principais: Usuário autenticado
2. Objetivo
Permitir que usuários autenticados visualizem o feed da comunidade, criem publicações, editem ou excluam suas próprias publicações e interajam com publicações de outros usuários.
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 do Feed Social.
- 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 Publicação
- O usuário acessa a página do Feed Social. (RF10)
- O sistema identifica o usuário autenticado. (RF10)
- O sistema apresenta a lista de publicações disponíveis e a opção de criar uma nova publicação. (RF12)
- O usuário seleciona a opção de criar publicação. (RF10)
- O sistema apresenta o formulário de criação da publicação. (RF10)
- O usuário informa o conteúdo da publicação e, opcionalmente, anexa uma mídia. (RF10)
- O usuário confirma a publicação. (RF10)
- O sistema valida os dados informados. (RF10)
- O sistema registra a publicação no banco de dados e a vincula ao usuário. (RF10)
- O sistema atualiza o Feed Social exibindo a nova publicação. (RF10, RF12)
- O sistema exibe mensagem de sucesso informando que a publicação foi criada. (RF10)
5. Fluxos Alternativos
FA01 - Visualizar Feed Social
- O usuário acessa a página do Feed Social. (RF12)
- O sistema identifica o usuário autenticado. (RF12)
- O sistema busca as publicações disponíveis. (RF12)
- O sistema exibe as publicações ordenadas da mais recente para a mais antiga. (RF12)
- O usuário visualiza as publicações disponíveis. (RF12)
FA02 - Interagir com Publicação
- O usuário acessa o Feed Social. (RF14)
- O usuário seleciona uma publicação. (RF14)
- O usuário realiza uma interação, como curtir ou comentar. (RF14)
- O sistema registra a interação. (RF14)
- O sistema atualiza a publicação com a nova interação. (RF14)
FA03 - Editar Publicação
- O usuário acessa uma publicação de sua autoria. (RF11)
- O usuário seleciona a opção de edição. (RF11)
- O sistema carrega o conteúdo atual da publicação. (RF11)
- O usuário altera o conteúdo da publicação. (RF11)
- O usuário confirma a edição. (RF11)
- O sistema valida os dados alterados. (RF11)
- O sistema atualiza a publicação no banco de dados. (RF11)
- O sistema exibe mensagem de sucesso informando que a publicação foi atualizada. (RF11)
FA04 - Excluir Publicação
- O usuário acessa uma publicação de sua autoria. (RF13)
- O usuário seleciona a opção de exclusão. (RF13)
- O sistema solicita confirmação da exclusão. (RF13)
- O usuário confirma a exclusão. (RF13)
- O sistema remove a publicação do banco de dados. (RF13)
- O sistema atualiza o Feed Social. (RF13, RF12)
- O sistema exibe mensagem de sucesso informando que a publicação foi excluída. (RF13)
FA05 - Cancelar Criação ou Edição
- Durante a criação ou edição da publicação, o usuário aciona a opção de cancelar ou voltar. (RF10, RF11)
- O sistema descarta as alterações não salvas. (RF10, RF11)
- O sistema retorna à tela anterior. (RF10, RF11)
- Nenhum dado é registrado ou alterado no banco de dados. (RF10, RF11)
6. Fluxos de Exceção
FE01 - Interface Indisponível para Usuário Não Autenticado
- O usuário tenta acessar o Feed Social sem estar autenticado. (RF10, RF11, RF12, RF13, RF14)
- O sistema identifica que não existe uma sessão válida. (RF10, RF11, RF12, RF13, RF14)
- O sistema impede o acesso às funcionalidades do Feed Social. (RF10, RF11, RF12, RF13, RF14)
- O sistema redireciona o usuário para a tela de login. (RF10, RF11, RF12, RF13, RF14)
FE02 - Conteúdo Obrigatório Ausente
- O usuário tenta criar ou editar uma publicação sem informar texto ou anexar mídia. (RF10, RF11)
- O sistema identifica que a publicação não possui conteúdo. (RF10, RF11)
- O sistema impede o envio da publicação. (RF10, RF11)
- O sistema informa que a publicação deve conter texto ou mídia. (RF10, RF11)
FE03 - Mídia Inválida
- O usuário anexa uma mídia acima do limite permitido ou em formato não suportado. (RF10, RF11)
- O sistema identifica a inconsistência. (RF10, RF11)
- O sistema rejeita o arquivo anexado. (RF10, RF11)
- O sistema informa o limite ou formato permitido. (RF10, RF11)
FE04 - Publicação Indisponível por Estado Desatualizado
- O usuário tenta editar, excluir ou interagir com uma publicação. (RF11, RF13, RF14)
- O sistema revalida a disponibilidade da publicação no backend. (RF11, RF13, RF14)
- O sistema identifica que a publicação foi removida ou tornou-se indisponível. (RF11, RF13, RF14)
- O sistema impede a operação. (RF11, RF13, RF14)
- O sistema atualiza o Feed Social. (RF12)
- O sistema informa que a publicação não está mais disponível. (RF11, RF12, RF13, RF14)
FE05 - Falha de Conectividade
- O usuário tenta criar, visualizar, editar, excluir ou interagir com uma publicação sem conexão com o backend. (RF10, RF11, RF12, RF13, RF14)
- O sistema não consegue concluir a operação. (RF10, RF11, RF12, RF13, RF14)
- O sistema exibe mensagem de falha de conexão. (RF10, RF11, RF12, RF13, RF14)
- O sistema orienta o usuário a tentar novamente quando a conexão for restabelecida. (RF10, RF11, RF12, RF13, RF14)
FE06 - Erro Interno no Banco de Dados
- O usuário confirma uma operação válida envolvendo uma publicação. (RF10, RF11, RF12, RF13, RF14)
- O sistema tenta registrar, atualizar, excluir, consultar ou interagir com dados no Firestore. (RF10, RF11, RF12, RF13, RF14)
- O banco de dados retorna erro ou indisponibilidade. (RF10, RF11, RF12, RF13, RF14)
- O sistema cancela a operação. (RF10, RF11, RF12, RF13, RF14)
- O sistema exibe mensagem de erro interno. (RF10, RF11, RF12, RF13, RF14)
7. Regras de Negócio
- RN06 - Campos obrigatórios para registro de entidades
- RN08 - Permissão para edição e exclusão de publicações
- RN09 - Marcador de publicação editada
- RN10 - Ordenação cronológica de publicações e históricos
8. Requisitos Relacionados
| RF | Relação com a UC |
|---|---|
| RF10 - Criar publicação | Permite que usuários autenticados criem publicações no Feed Social. |
| RF11 - Editar publicação | Permite que o autor edite suas próprias publicações. |
| RF12 - Listar publicações | Permite que usuários autenticados visualizem as publicações da comunidade. |
| RF13 - Excluir publicação | Permite que o autor exclua suas próprias publicações. |
| RF14 - Interagir com a publicação | Permite que usuários autenticados curtam e comentem publicações. |
9. Protótipo
UC não foi implementada.
10. Aplicação do DoR
Checklist não aplicado, pois a UC04 não estava no MVP e não foi iniciada. Link da Issue: Uc04
11. Fluxo de Acesso à UC
UC não foi implementada.