O banco de dados a ser gerenciado conterá uma série de tabelas para armazenar informações sobre usuários, artistas, álbuns, músicas, peças de teatro e artistas favoritos dos usuários. A figura a seguir descreve o esquema relacional do banco de dados a ser utilizado. O arquivo com o banco de dados pode ser encontrado no branch master.
A imagem a seguir mostrará o modelo relacional do banco de dados:
Desenvolvido em linguagem visual basic
Os nomes das tabelas e atributos são autoexplicativos, portanto nenhum detalhe extra sobre o conteúdo é comentado, exceto: • SONGS.lenght representa o número de segundos que a música dura. • ALBUMS.cover e ARTISTS.image representam um caminho do sistema operacional onde a imagem da capa do álbum e a imagem do artista estão localizadas respectivamente.
As principais funcionalidades do sistema são: • Permite selecionar o arquivo que contém a base de dados com a qual trabalhar. • Ao iniciar o aplicativo, o usuário será selecionado pelo seu identificador (e-mail). A qualquer momento durante a utilização do programa será permitida a troca de usuário. • Permitirá gerenciar (inserir, atualizar e excluir) os dados relacionados ao gerenciamento do sistema (tabelas ÁLBUNS, ARTISTAS, MÚSICAS e USUÁRIOS). Todos os dados serão recolhidos através do(s) formulário(s) correspondente(s). • Navegar pelos artistas, álbuns e músicas disponíveis, carregando o conteúdo de forma dinâmica (por exemplo, selecionar um artista carrega a lista de seus álbuns; selecionar um álbum carrega a lista de suas músicas). • Cada item selecionado mostrará as informações relacionadas na base de dados (nome, país, data de publicação, etc.). Adicionalmente: o Ao selecionar um artista, ele será exibido se o usuário atual o marcou como favorito. o Ao selecionar um álbum, sua duração total será exibida em um formato de hora apropriado (por exemplo, 43:27 ou 1:21:52). o Ao selecionar um artista ou álbum, será exibida sua imagem ou capa correspondente. o Ao selecionar uma música, sua duração será exibida no formato de hora apropriado (por exemplo, 43:27 ou 1:21:52). • Reproduzir uma música (na verdade, simulá-la – não há necessidade de criar um sistema multimídia complexo). • Mostrando o histórico de reprodução de uma música. • Marcar/desmarcar um artista como favorito. • O sistema também poderá resolver as seguintes consultas a partir dos dados armazenados na base de dados e mostrar os resultados de forma adequada: o Lista de artistas ordenados por número de reproduções (em geral e permitindo a filtragem por país). o Lista de músicas classificadas por número de reproduções. o Lista dos artistas mais ouvidos por um usuário (entre 2 datas determinadas). o Lista de usuários classificados por tempo de uso do aplicativo (com base na duração total das músicas reproduzidas). o Tempo de reprodução dos artistas favoritos do usuário.