O Tom Perfeito é um site que tem como objetivo fornecer ao usuário uma plataforma onde seja possível consultar acordes montados a partir das notas selecionadas pelo próprio usuário, por meio de uma interface interativa, além de apresentar progressões como forma de auxílio.
O sistema também pretende permitir que o usuário crie suas próprias músicas, possibilitando a escrita de letras e a inserção de acordes sobre elas, com formatação personalizada ou definida pelo próprio sistema.
Este é o modelo conceitual do sistema "Tom Perfeito". Ele representa as principais entidades e seus relacionamentos, servindo como base para a construção do banco de dados e das classes de domínio da aplicação.
- Music & Lyric: Cada Música possui exatamente uma Letra. A música centraliza informações como descrição, data de lançamento e nota média (reviewRating).
- Chord & Note: Um Acorde é um conjunto de Notas. O relacionamento é de muitos-para-muitos: um acorde tem várias notas, e uma nota pode compor diferentes acordes.
- LyricChord (O "Onde"): Classe que vincula o Acorde a um ponto específico da Letra através do atributo
position(índice do texto).
- Comentários:
- User & Comment: Um Usuário é o autor de vários comentários (1:N).
- Music & Comment: Uma Música recebe vários comentários (1:N).
- Perfis (Roles): O Usuário possui uma lista de permissões (ex: "USER", "ADMIN") que define o que ele pode acessar ou editar no sistema.
| Ator | Responsabilidade |
|---|---|
| Usuário anônimo | Pode realizar casos de uso das áreas públicas do sistema, como visualizar musicas, consultar acordes por notas, login e sign up |
| Usuário | Responsável por manter seu próprios dados pessoais no sistema, e pode comentar, criar músicas e fazer todas as ações de um Usuário anônimo. |
| Admin | Responsável por acessar a área administrativa do sistema com cadastros e relatórios. Admin também pode fazer tudo que Cliente faz. |
- Atores: Usuário Anônimo.
- Precondições: Nenhuma.
- Pós-condições: Um novo ator do tipo
Usuárioé criado e logado no sistema. - Visão geral: Permite que um usuário anônimo crie uma nova conta no sistema fornecendo dados como nome de usuário, e-mail e senha.
- Atores: Usuário Anônimo.
- Precondições: O usuário deve possuir uma conta já cadastrada (
Sign Up). - Pós-condições: O ator
Usuário Anônimose torna umUsuáriologado, ganhando acesso a funcionalidades restritas. - Visão geral: Efetuar a autenticação no sistema para acessar funcionalidades personalizadas, como criar e gerenciar músicas.
- Atores: Usuário Anônimo, Usuário, Admin.
- Precondições: Nenhuma.
- Pós-condições: Nenhuma.
- Visão geral: Permite a qualquer pessoa que acesse o site montar acordes a partir de notas selecionadas em uma interface interativa e visualizar informações sobre eles. Também pode incluir a visualização de progressões de acordes sugeridas.
- Atores: Usuário Anônimo, Usuário, Admin.
- Precondições: Nenhuma.
- Pós-condições: Nenhuma.
- Visão geral: Listar e visualizar as músicas públicas criadas por outros usuários, incluindo suas letras e cifras.
- Atores: Usuário.
- Precondições: Usuário deve estar logado (<> Login).
- Pós-condições: Uma nova música é criada e associada ao perfil do usuário.
- Visão geral: Permite ao usuário criar uma nova música, definindo seu título, escrevendo a letra e inserindo os acordes sobre o texto.
- Atores: Usuário.
- Precondições: Usuário deve estar logado (<> Login).
- Pós-condições: Um novo comentário é associado a uma música.
- Visão geral: Permite que um usuário logado adicione um comentário em uma música existente.
- Atores: Usuário, Admin.
- Precondições: Usuário deve estar logado.
- Pós-condições: A música pode ser alterada ou removida do sistema.
- Visão geral: Permite ao
Usuárioeditar ou excluir suas próprias músicas. Permite aoAdmineditar ou excluir qualquer música do sistema.
- Atores: Usuário, Admin.
- Precondições: Usuário deve estar logado.
- Pós-condições: O comentário pode ser alterado ou removido do sistema.
- Visão geral: Permite ao
Usuárioeditar ou excluir seus próprios comentários. Permite aoAdminmoderar e excluir qualquer comentário.
- Atores: Admin.
- Precondições: Usuário deve ser um
Admine estar logado. - Pós-condições: O status ou os dados de um usuário podem ser alterados.
- Visão geral: CRUD (Criar, Ler, Atualizar, Deletar) de usuários do sistema, incluindo a capacidade de alterar papéis (promover para Admin) ou banir usuários.
Ryan Oliveira |
|---|

