O JavaBeat é uma aplicação console desenvolvida em Java que simula o comportamento essencial de um serviço de streaming de áudio. O projeto foi construído como um desafio prático proposto pela Alura no curso "Java: aplicando a Orientação a Objetos", com o objetivo de consolidar conceitos fundamentais do desenvolvimento de softwares utilizando o paradigma POO.
- Praticar a modelagem de sistemas com herança e interfaces.
- Aplicar o conceito de encapsulamento e proteção de dados utilizando modificadores de acesso (
privateeprotected). - Implementar o polimorfismo para personalizar comportamentos de reprodução e lógica de engajamento para diferentes tipos de mídia.
O código foi dividido em pacotes isolando as regras de domínio da camada de execução do aplicativo:
src
└── br.com.alura.javabeat
├── app
│ └── Principal.java # Classe de entrada com os testes executáveis
└── domain
├── Audio.java # Superclasse abstrata base
├── Classification.java # Interface de engajamento e métricas
├── Music.java # Subclasse especializada em faixas musicais
└── Podcast.java # Subclasse especializada em episódios de podcast
Pré-requisitos
- Java JDK instalado (versão 17 ou superior recomendada).
- Uma IDE de sua preferência (o desenvolvimento deste projeto utilizou o IntelliJ IDEA).
- Clone este repositório na sua máquina local:
git clone [https://github.com/SEU-USUARIO/JavaBeat.git](https://github.com/SEU-USUARIO/JavaBeat.git)
- Abra o projeto em sua IDE.
- Navegue até o arquivo src/br/com/alura/javabeat/app/Principal.java.
- Execute o método main.
! [Em Andamento] Implementar a criação de playlists personalizadas.
+ [Pendente] Adicionar um sistema de ordenação ou filtro de favoritos baseado nas classificações.
- [Adiado] Criar um menu interativo via console para o usuário interagir em tempo real com o streaming.desenvolvido com ☕ por Daniel Avelino durante a formação Java na Alura.