Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ronaldosnavarro/screenmatch
O ScreenMatch é uma aplicação Java para gerenciar filmes e séries, permitindo avaliar, listar e ordenar títulos. O projeto é estruturado de forma modular, seguindo princípios de design orientado a objetos para garantir a manutenibilidade e extensibilidade do código. Projeto desenvolvido durante a formação "Java e Orientação a Objetos" da Alura
https://github.com/ronaldosnavarro/screenmatch
Last synced: 5 days ago
JSON representation
O ScreenMatch é uma aplicação Java para gerenciar filmes e séries, permitindo avaliar, listar e ordenar títulos. O projeto é estruturado de forma modular, seguindo princípios de design orientado a objetos para garantir a manutenibilidade e extensibilidade do código. Projeto desenvolvido durante a formação "Java e Orientação a Objetos" da Alura
- Host: GitHub
- URL: https://github.com/ronaldosnavarro/screenmatch
- Owner: RonaldoSNavarro
- Created: 2024-05-07T01:43:58.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-05-16T02:25:03.000Z (9 months ago)
- Last Synced: 2024-12-13T21:57:43.342Z (2 months ago)
- Language: Java
- Size: 26.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## 🔖 Sobre
# ScreenMatch
O ScreenMatch é uma aplicação Java para gerenciar filmes e séries, permitindo avaliar, listar e ordenar títulos. O projeto é estruturado de forma modular, seguindo princípios de design orientado a objetos para garantir a manutenibilidade e extensibilidade do código.
## Estrutura do Projeto
O projeto está organizado nos seguintes pacotes:
- `br.com.alura.screenmatch.principal`: Contém as classes principais que inicializam a aplicação.
- `br.com.alura.screenmatch.servicos`: Contém classes de serviços responsáveis pela lógica de manipulação de listas e ordenação de títulos.
- `br.com.alura.screenmatch.calculos`: Contém classes para cálculos de tempo e filtros de recomendação.
- `br.com.alura.screenmatch.modelos`: Contém as classes de modelo que representam os dados do domínio (Filme, Serie, Titulo, Episodio).## Classes Principais
### Principal
A classe `Principal` demonstra o uso das funcionalidades de avaliação, cálculo de tempo e recomendação de filmes e séries.
### PrincipalComBusca
A classe `PrincipalComBusca` lida com a busca de filmes na API OMDB, converte os resultados e salva-os em um arquivo JSON.
### PrincipalComListas
A classe `PrincipalComListas` demonstra a criação, exibição e ordenação de listas de títulos e artistas.
## Classes de Serviço
### BuscaFilmeService
A classe `BuscaFilmeService` é responsável por buscar filmes na API OMDB e converter os resultados.
### SalvarFilmesService
A classe `SalvarFilmesService` é responsável por salvar a lista de títulos em um arquivo JSON.
### ListaDeTitulosService
A classe `ListaDeTitulosService` fornece métodos para criar, exibir e ordenar listas de títulos e artistas.
## Interfaces
### Classificavel
A interface `Classificavel` define o contrato para objetos que possuem uma classificação.
# Técnicas Utilizadas
O projeto ScreenMatch utiliza as seguintes técnicas:
- **Modularidade**: O projeto é dividido em pacotes e classes, seguindo uma estrutura modular para facilitar a organização e manutenção do código.
- **Orientação a Objetos**: Princípios de OOP são seguidos para criar classes que representam objetos do mundo real e encapsulam comportamentos e dados relacionados.
- **Interfaces**: O uso de interfaces permite a implementação de contratos comuns, como a interface `Classificavel`, que permite acesso uniforme à classificação de diferentes tipos de títulos.
- **Polimorfismo**: O polimorfismo é utilizado em várias partes do projeto, permitindo que diferentes classes implementem comportamentos específicos de forma flexível.
- **Tratamento de Exceções**: O projeto trata exceções de forma adequada para lidar com situações inesperadas durante a execução do programa.
- **Utilização de API Externa**: A integração com a API OMDB é feita para buscar informações sobre filmes, demonstrando o uso de serviços externos.
- **Persistência de Dados**: A lista de títulos é persistida em um arquivo JSON utilizando a biblioteca Gson, demonstrando técnicas de persistência de dados.# Desenvolvedor
[
Ronaldo Navarro](https://github.com/ronaldosnavarro)