Skip to content

16 - Diagrama de Sequência (Básico)

Objetivo

Construir um diagrama de sequência para representar, de forma simples, a interação entre cliente, API e banco de dados no app Streaming.

Cenário sugerido

Use o caso principal: usuário autenticado publica um conteúdo.

Participantes

  • Ator: Usuário
  • Fronteira: Frontend Web
  • Controle: API Django REST (ContentViewSet)
  • Entidade: Modelo Content
  • Persistência: Banco de Dados (SQLite/PostgreSQL)

Passo a passo

  1. Defina o início do fluxo no ator (Usuário clica em "Publicar").
  2. Mostre a chamada HTTP do Frontend para a API (POST /api/contents/).
  3. Represente a validação de autenticação (token/sessão).
  4. Represente a validação de regras de negócio:
  5. description obrigatória
  6. thumbnail_url obrigatória
  7. title único por criador
  8. Mostre a persistência no banco (INSERT na tabela de conteúdos).
  9. Finalize com o retorno da API:
  10. Sucesso: 201 Created
  11. Falha: 400 Bad Request ou 401 Unauthorized

Exemplo básico em PlantUML

UsuarioFrontend WebAPI Django RESTValida..o .Serializer.Model.DBUsuarioFrontend WebAPI Django RESTValidação (Serializer/Model)DBUsuarioFrontend WebAPI Django RESTValidação (Serializer/Model)DBPreenche formulário e clica em PublicarPOST /api/contents/ (dados + token)Verifica autenticaçãoalt[Não autenticado]401 UnauthorizedExibe mensagem de login[Autenticado]Validar campos e regrasalt[Dados inválidos]Erro de validação400 Bad RequestExibe erros do formulário[Dados válidos]OKINSERT ContentRegistro criado201 Created + payloadConfirma publicação
UsuarioFrontend WebAPI Django RESTValida..o .Serializer.Model.DBUsuarioFrontend WebAPI Django RESTValidação (Serializer/Model)DBUsuarioFrontend WebAPI Django RESTValidação (Serializer/Model)DBPreenche formulário e clica em PublicarPOST /api/contents/ (dados + token)Verifica autenticaçãoalt[Não autenticado]401 UnauthorizedExibe mensagem de login[Autenticado]Validar campos e regrasalt[Dados inválidos]Erro de validação400 Bad RequestExibe erros do formulário[Dados válidos]OKINSERT ContentRegistro criado201 Created + payloadConfirma publicação

Entregável mínimo

  • 1 diagrama de sequência contendo:
  • ator, frontend, API, validação e banco
  • fluxo principal de sucesso
  • ao menos 1 fluxo alternativo de erro

Critérios de avaliação sugeridos

  • Correção da ordem das mensagens
  • Presença de validações e autenticação
  • Clareza na separação entre sucesso e erro
  • Consistência com endpoints já implementados no projeto

Extensão opcional

Após concluir o fluxo de publicação, modele também:

  • Consumo de conteúdo (GET /api/contents/)
  • Criação de playlist com associação N:N
  • Filtro de conteúdos por tipo (audio/video)