Este repositório contém o desenvolvimento do projeto ScreenSound, realizado durante a formação de C# da Alura, além de um laboratório pessoal de experimentos práticos com LINQ. O foco principal é o consumo de dados reais via API e o processamento inteligente dessas informações.
A aplicação consome um endpoint de músicas para realizar filtragens complexas, ordenação e exportação de dados.
- Consumo de API: Uso de
HttpClientpara buscar dados dinâmicos de um repositório remoto. - Filtros Avançados (LINQ): - Listagem de gêneros musicais únicos.
- Busca de artistas por gênero.
- Filtro de músicas por tonalidade (ex: Músicas em C#).
- Gerenciamento de Favoritos: Criação de listas personalizadas e exportação para arquivos JSON.
Além do projeto principal, desenvolvi desafios extras para consolidar o domínio sobre consultas LINQ em diferentes contextos:
- Foco: Filtros temporais e ordenação.
- Cenário: Seleção de títulos publicados após o ano 2000, ordenados alfabeticamente usando
.Where()e.OrderBy().
- Foco: Operações de agregação.
- Cenário: Cálculo de preço médio de uma lista de produtos utilizando o método
.Average().
- LINQ (Language Integrated Query): Uso extensivo de
.Where(),.Select(),.Distinct(),.OrderBy()e.Average(). - Manipulação de JSON: Uso da biblioteca
System.Text.Jsonpara Deserialização (leitura da API) e Serialização (geração do arquivo de favoritos). - Tratamento de Exceções: Implementação de
try-catchpara lidar com possíveis falhas de conexão ou erros de API. - Lógica de Domínio: Criação de Getters inteligentes para converter IDs numéricos em tonalidades musicais reais (C, C#, D, etc).
- Linguagem: C#
- Plataforma: .NET 6+ / Console Application
- IDE: Visual Studio Code
- O código principal de execução está no
Program.cs. - As classes de modelo e lógica de filtro estão organizadas em seus respectivos arquivos.
- Os treinos rápidos podem ser encontrados na pasta
Treino, acompanhados de exemplos de uso comentados.
Desenvolvido por Pedro Gustavo como parte dos estudos de Backend em C#.