{"id":29831982,"url":"https://github.com/foqsz/mymusiclibrary","last_synced_at":"2025-10-13T13:11:00.458Z","repository":{"id":306951570,"uuid":"1027785412","full_name":"Foqsz/MyMusicLibrary","owner":"Foqsz","description":"API .NET para gerenciamento de músicas com login via Google. Utiliza arquitetura DDD e SOLID. Testes unitários e de integração implementados. Integrado com SonarQube CI. ","archived":false,"fork":false,"pushed_at":"2025-10-06T14:28:16.000Z","size":4889,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-10-06T16:13:18.037Z","etag":null,"topics":["aspnetcore","dotnet","fluentvalidation","google","mysql","shouldly","sonarqube"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Foqsz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-28T14:27:41.000Z","updated_at":"2025-10-06T14:28:21.000Z","dependencies_parsed_at":"2025-07-28T17:26:49.721Z","dependency_job_id":"03d109fe-6bd4-46a1-b71d-09fb053101ea","html_url":"https://github.com/Foqsz/MyMusicLibrary","commit_stats":null,"previous_names":["foqsz/mymusiclibrary"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Foqsz/MyMusicLibrary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foqsz%2FMyMusicLibrary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foqsz%2FMyMusicLibrary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foqsz%2FMyMusicLibrary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foqsz%2FMyMusicLibrary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Foqsz","download_url":"https://codeload.github.com/Foqsz/MyMusicLibrary/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foqsz%2FMyMusicLibrary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279015283,"owners_count":26085683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspnetcore","dotnet","fluentvalidation","google","mysql","shouldly","sonarqube"],"created_at":"2025-07-29T11:12:50.048Z","updated_at":"2025-10-13T13:11:00.453Z","avatar_url":"https://github.com/Foqsz.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MyMusicLibrary 🎵\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Foqsz_MyMusicLibrary\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=Foqsz_MyMusicLibrary)\n[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=Foqsz_MyMusicLibrary\u0026metric=bugs)](https://sonarcloud.io/summary/new_code?id=Foqsz_MyMusicLibrary)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=Foqsz_MyMusicLibrary\u0026metric=code_smells)](https://sonarcloud.io/summary/new_code?id=Foqsz_MyMusicLibrary)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=Foqsz_MyMusicLibrary\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=Foqsz_MyMusicLibrary)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=Foqsz_MyMusicLibrary\u0026metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=Foqsz_MyMusicLibrary)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=Foqsz_MyMusicLibrary\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=Foqsz_MyMusicLibrary)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=Foqsz_MyMusicLibrary\u0026metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=Foqsz_MyMusicLibrary)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=Foqsz_MyMusicLibrary\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=Foqsz_MyMusicLibrary)\n\n![.NET](https://img.shields.io/badge/.NET-9.0-blue?logo=dotnet)\n![ASP.NET Core](https://img.shields.io/badge/ASP.NET%20Core-Backend-purple?logo=dotnet)\n![Google OAuth](https://img.shields.io/badge/Auth-Google-red?logo=google)\n![License](https://img.shields.io/badge/license-MIT-yellow)\n![Contributions](https://img.shields.io/badge/contributions-welcome-orange)\n\n**MyMusicLibrary** é um projeto backend desenvolvido em **ASP.NET Core 9.0**,  \ncom **autenticação via Google OAuth2**, suporte a testes unitários, mocks e geração de dados fake.  \n\n---\n\n## 📌 Funcionalidades\n\n- 🎶 API para gerenciamento de músicas, álbuns, artistas e playlists.\n- 🔍 Busca por nome, gênero ou artista  \n- 🔑 Autenticação e autorização via **Google OAuth2**  \n- 📂 Organização em biblioteca pessoal  \n- 🧪 Testes unitários com **Moq** e **FluentAssertions**  \n- 🧑‍💻 Geração de dados fake com **Bogus**  \n\n---\n\n## 🛠️ Tecnologias Utilizadas\n\n- **ASP.NET Core 9.0** – API REST  \n- **Google OAuth2** – autenticação e login  \n- **Bogus** – geração de dados fake para testes  \n- **Moq** – criação de mocks  \n- **FluentAssertions** – assertions legíveis nos testes  \n- **xUnit / NUnit** – framework de testes (adicione o que você estiver usando)  \n- **Amazon AWS S3** - Upload de músicas.\n- **Tag Lib** - Extração dos dados do arquivo MP3.\n- **Azure** - Deploy e Banco de Dados.\n  \n---\n\n## 🚀 Como Executar\n\n### Pré-requisitos\n- [.NET SDK](https://dotnet.microsoft.com/en-us/download) (9.0 ou superior)  \n- Conta de desenvolvedor do [Google Cloud Console](https://console.cloud.google.com/)  \n  - Configure suas credenciais OAuth2 e adicione `ClientId` e `ClientSecret` no `appsettings.json`  \n\n### Instalação\n```bash\n# Clone o repositório\ngit clone https://github.com/Foqsz/MyMusicLibrary.git\ncd MyMusicLibrary\n\n# Restaure as dependências\ndotnet restore\n\n# Compile\ndotnet build\n\n# Execute\ndotnet run\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoqsz%2Fmymusiclibrary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoqsz%2Fmymusiclibrary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoqsz%2Fmymusiclibrary/lists"}