O Music+ é um sistema de análise e informações do meio musical visando simplificar a experiência do usuário em suas buscas. O sistema possui dois modelos de usuários e reúne diversas funcionalidades com dois vieses: a consulta de dados e o comportamento da comunidade.
No ramo de consulta de dados, temos os usuários do tipo Administradores que controlam o cadastro das informações como artistas e músicas. Temos também os usuários do tipo consumidores que podem procurar por essas informações de modo direto, favoritar músicas, artistas e gêneros musicais, agrupar músicas em formato de playlist e modificar essas playlists em outro momento.
No ramo de comportamento de comunidade, o usuário do tipo consumidor alimentará uma análise de conteúdo combinando suas preferências com a da comunidade. O formato com que este usuário consome essa análise é realizando uma busca de músicas e artistas com perfil aleatório ou baseado em um “ranking” de mais favoritados pela comunidade. Os resultados dessa busca procuram ser alinhados com as preferências musicais do usuário consumidor.
Além dessas funcionalidades, o sistema mantém um registro de informações dos usuários consumidores e dados sobre suas preferências musicais. O acesso a esse perfil é feito através de um cadastro e, caso o usuário encontre dificuldades, o mesmo pode recuperar sua senha de acesso via e-mail.
A inicialização da aplicação pode ser feita via Docker ou baixando as bibliotecas localmente. O projeto pode ter integração com banco de dados local ou remoto.
Docker configurado ou banco de dados
Java 11
Maven
Baixe o repositório com o comando
git clone https://github.com/dwws-ufes/2020-MusicPlus.git
Antes de criar os containeres, é necessário configurar a rede docker que manterá os containeres conectados.
docker network create bubble
Coloque as variáveis no arquivo .env e então rode o composer para baixar as imagens base, criar a imagem da aplicação e inicializar.
docker-compose -f docker-compose.yml up -d --build
Verifique que a aplicação backend está espelhada na porta 8080.
-
Java EE 7 - Conjunto de especificação de APIs e tecnologias, que são implementadas por programas servidores de aplicação.
-
Java 13 - Linguagem de programação orientada a objetos e independente de plataforma.
-
JSF 2.2.12 - API para a construção de interfaces de usuários baseada em componentes para aplicações Web.
-
EJB 4.0.9 - API para construção de componentes transacionais gerenciados por container.
-
JPA 2.1 - API para persistência de dados por meio de mapeamento objeto/relacional.
-
CDI 1.1 - API para injeção de dependências.
-
Facelets 2.0 - API para definição de decoradores (templates) integrada ao JSF.
-
PrimeFaces 6.2 - Conjunto de componentes visuais JSF open source.
-
MySQL Database 8.0 - Banco de Dados Relacional gratuito.
-
WildFly 19.0.0 - Servidor de Aplicações para Java EE.
-
Docker 20.10.5 - Plataforma para gerenciamento e isolamento de ambientes.
Aqui estão os possíveis próximos passos para este projeto:
O projeto irá ser populado com dados interligados da web para compor um banco de dados mais abrangente.
-
Esse projeto foi desenvolvido para a disciplina Tópicos Especiais em Engenharia de Software da UFES.
-
O sistema Music+ apresenta uma arquitetura baseada na arquitetura do FrameWeb.