Music Box é uma aplicação Back-End console-based, desenvolvida em Java e Spring Boot. O sistema gerencia artistas e músicas com o uso da API Last.fm, com funcionalidades adicionais de tradução automática de biografias via API MyMemory.
- Cadastro de artistas e músicas
- Listagem de artistas e músicas cadastradas
- Pesquisa de biografias de artistas com tradução automática
- Integração com a API Last.fm para obter informações sobre artistas e músicas
- Integração com a API MyMemory para tradução de textos
src/main/java/br/com/andrejsmattos/music_box
├── entities
│ ├── Artista.java
│ ├── Musica.java
│ └── Album.java
├── exceptions
│ └── ConversaoJsonException.java
├── principal
│ └── Principal.java
├── repositories
│ ├── ArtistaRepository.java
│ ├── MusicaRepository.java
│ └── AlbumRepository.java
├── services
│ ├── ConsumoApi.java
│ ├── ConverteDados.java
│ └── IConverteDados.java
└── utils
├── FormatadorDuracao
├── FormatadorNumero
└── traducao
├── DeletaLinksHtml.java
├── ConsultaMyMemory.java
├── DadosResposta.java
└── DadosTraducao.java
- ☕ Java 17 ou superior
- 🔧 Maven 3.6 ou superior
- 🗃️ MySQL
Crie um banco de dados MySQL e configure as credenciais no arquivo application.properties
:
spring.datasource.url=jdbc:mysql://localhost/music_box
spring.datasource.username=seu_usuario
spring.datasource.password=sua_senha
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Configure as seguintes variáveis de ambiente:
MY_MEMORY_API_KEY=sua_chave_mymemory
LAST_FM_API_KEY=sua_chave_lastfm
# Compilar o projeto
mvn clean install
# Executar a aplicação
mvn spring-boot:run
Para cadastrar um novo artista, siga as instruções no menu da aplicação. Você precisará fornecer:
- Nome do artista
- Tipo (solo, dupla ou banda)
- URL
- Número de ouvintes
- Total de reproduções
- Resumo
A aplicação permite listar todos os artistas cadastrados, ordenados pelo total de reproduções.
Você pode pesquisar a biografia de um artista específico. A biografia será traduzida automaticamente utilizando a API MyMemory.
A aplicação utiliza a API Last.fm para obter informações detalhadas sobre artistas e músicas. Para isso:
- Configure a variável de ambiente
LAST_FM_API_KEY
- As informações obtidas incluem:
- Biografia
- Número de ouvintes
- Total de reproduções
- Gênero musical
- Duração da música