Skip to content

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.

Notifications You must be signed in to change notification settings

andrejsmattos/music-box

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Music Box Application 🎵

Java Spring Boot PostgreSQL Maven

📋 Descrição

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.

✨ Funcionalidades

  • 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

🚀 Tecnologias Utilizadas

Java Spring Maven PostgreSQL Hibernate Jackson

📁 Estrutura do Projeto

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

⚙️ Configuração

Pré-requisitos

  • ☕ Java 17 ou superior
  • 🔧 Maven 3.6 ou superior
  • 🗃️ MySQL

Configuração do Banco de Dados

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

Variáveis de Ambiente

Configure as seguintes variáveis de ambiente:

MY_MEMORY_API_KEY=sua_chave_mymemory
LAST_FM_API_KEY=sua_chave_lastfm

🔨 Compilação e Execução

# Compilar o projeto
mvn clean install

# Executar a aplicação
mvn spring-boot:run

📖 Uso

Cadastro de Artistas

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

Listagem de Artistas

A aplicação permite listar todos os artistas cadastrados, ordenados pelo total de reproduções.

Pesquisa de Biografias

Você pode pesquisar a biografia de um artista específico. A biografia será traduzida automaticamente utilizando a API MyMemory.

🎵 Integração com a API Last.fm

A aplicação utiliza a API Last.fm para obter informações detalhadas sobre artistas e músicas. Para isso:

  1. Configure a variável de ambiente LAST_FM_API_KEY
  2. As informações obtidas incluem:
    • Biografia
    • Número de ouvintes
    • Total de reproduções
    • Gênero musical
    • Duração da música

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages