diff --git a/README.md b/README.md index d108ce1..96a017d 100644 --- a/README.md +++ b/README.md @@ -5,20 +5,19 @@ A .NET client wrapper for both .NET Core & .NET Framework projects of [Via CEP A [![GitHub license](https://img.shields.io/github/license/guibranco/ViaCep)](https://github.com/guibranco/ViaCep) [![time tracker](https://wakatime.com/badge/github/guibranco/ViaCEP.svg)](https://wakatime.com/badge/github/guibranco/ViaCEP) -![Via CEP](https://raw.githubusercontent.com/guibranco/viacep/master/logo.png) +![Via CEP](https://raw.githubusercontent.com/guibranco/viacep/main/logo.png) ## CI/CD | Build status | Last commit | Tests | Coverage | Code Smells | LOC | |--------------|-------------|-------|----------|-------------|-----| -| [![Build status](https://ci.appveyor.com/api/projects/status/9jnsy1e08jhyxl7j/branch/master?svg=true)](https://ci.appveyor.com/project/guibranco/ViaCEP) | [![GitHub last commit](https://img.shields.io/github/last-commit/guibranco/ViaCEP/master)](https://github.com/guibranco/ViaCEP) | ![AppVeyor tests (branch)](https://img.shields.io/appveyor/tests/guibranco/ViaCEP/master?compact_message) | [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=coverage)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) | [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=code_smells)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) | [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=ncloc)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) - +| [![Build status](https://ci.appveyor.com/api/projects/status/9jnsy1e08jhyxl7j/branch/main?svg=true)](https://ci.appveyor.com/project/guibranco/ViaCEP) | [![GitHub last commit](https://img.shields.io/github/last-commit/guibranco/ViaCEP/main)](https://github.com/guibranco/ViaCEP) | ![AppVeyor tests (branch)](https://img.shields.io/appveyor/tests/guibranco/ViaCEP/main?compact_message) | [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=coverage)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) | [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=code_smells)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) | [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=ncloc)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) ## Code Quality [![Codacy Badge](https://app.codacy.com/project/badge/Grade/483c4901f0ea4a0d99e69be931ced362)](https://www.codacy.com/gh/guibranco/ViaCEP/dashboard?utm_source=github.com&utm_medium=referral&utm_content=guibranco/ViaCEP&utm_campaign=Badge_Grade) [![Codacy Badge](https://app.codacy.com/project/badge/Coverage/483c4901f0ea4a0d99e69be931ced362)](https://www.codacy.com/gh/guibranco/ViaCEP/dashboard?utm_source=github.com&utm_medium=referral&utm_content=guibranco/ViaCEP&utm_campaign=Badge_Grade) -[![codecov](https://codecov.io/gh/guibranco/ViaCEP/branch/master/graph/badge.svg)](https://codecov.io/gh/guibranco/ViaCEP) +[![codecov](https://codecov.io/gh/guibranco/ViaCEP/branch/main/graph/badge.svg)](https://codecov.io/gh/guibranco/ViaCEP) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=alert_status)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) @@ -54,8 +53,8 @@ Download the latest zip file from the [Release](https://github.com/GuiBranco/Via The package has two classes: -- [ViaCepClient](https://github.com/guibranco/ViaCEP/blob/master/ViaCEP/ViaCepClient.cs): The main class (methods). -- [ViaCepResult](https://github.com/guibranco/ViaCEP/blob/master/ViaCEP/ViaCepResult.cs): The result class (data). +- [ViaCepClient](https://github.com/guibranco/ViaCEP/blob/main/ViaCEP/ViaCepClient.cs): The main class (methods). +- [ViaCepResult](https://github.com/guibranco/ViaCEP/blob/main/ViaCEP/ViaCepResult.cs): The result class (data). This package is fully compatible with Dependency Injection. Use the interface *IViaCepClient* and the constructor with HttpClient parameter with a IHttpClientFactory instance. @@ -93,5 +92,6 @@ foreach(var result in results){ ## Changelog -- 2021-06-21: Update dependencies version. [@guibranco](https://github.com/guibranco) -- 2020-10-23: Add support to .NET Standard 2.0 and .NET Framework v4.6.1 and above. [@guibranco](https://github.com/guibranco) +- 2023-03-03: Update dependencies, change branch name, update logo. [@guibranco](https://github.com/guibranco) +- 2021-06-21: Update dependencies version. [@guibranco](https://github.com/guibranco) +- 2020-10-23: Add support to .NET Standard 2.0 and .NET Framework v4.6.1 and above. [@guibranco](https://github.com/guibranco) diff --git a/README.nuget.md b/README.nuget.md new file mode 100644 index 0000000..cc74e01 --- /dev/null +++ b/README.nuget.md @@ -0,0 +1,96 @@ +# ViaCEP + +A .NET client wrapper for both .NET Core & .NET Framework projects of [Via CEP API](https://viacep.com.br) + +[![GitHub license](https://img.shields.io/github/license/guibranco/ViaCep)](https://github.com/guibranco/ViaCep) + +![Via CEP](https://raw.githubusercontent.com/guibranco/viacep/main/logo.png) + +## CI/CD + +| Build status | Last commit | Tests | Coverage | Code Smells | LOC | +|--------------|-------------|-------|----------|-------------|-----| +| [![Build status](https://ci.appveyor.com/api/projects/status/9jnsy1e08jhyxl7j/branch/main?svg=true)](https://ci.appveyor.com/project/guibranco/ViaCEP) | [![GitHub last commit](https://img.shields.io/github/last-commit/guibranco/ViaCEP/main)](https://github.com/guibranco/ViaCEP) | ![AppVeyor tests (branch)](https://img.shields.io/appveyor/tests/guibranco/ViaCEP/main?compact_message) | [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=coverage)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) | [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=code_smells)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) | [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=ncloc)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) + +## Code Quality + +[![Codacy Badge](https://app.codacy.com/project/badge/Grade/483c4901f0ea4a0d99e69be931ced362)](https://www.codacy.com/gh/guibranco/ViaCEP/dashboard?utm_source=github.com&utm_medium=referral&utm_content=guibranco/ViaCEP&utm_campaign=Badge_Grade) +[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/483c4901f0ea4a0d99e69be931ced362)](https://www.codacy.com/gh/guibranco/ViaCEP/dashboard?utm_source=github.com&utm_medium=referral&utm_content=guibranco/ViaCEP&utm_campaign=Badge_Grade) +[![codecov](https://codecov.io/gh/guibranco/ViaCEP/branch/main/graph/badge.svg)](https://codecov.io/gh/guibranco/ViaCEP) + +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=alert_status)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) +[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) + +[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=sqale_index)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) +[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) + +[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) +[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=security_rating)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) + +[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=bugs)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) +[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=guibranco_ViaCEP&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=guibranco_ViaCEP) + +--- + +## Installation + +### Github Releases + +[![GitHub last release](https://img.shields.io/github/release-date/guibranco/ViaCEP.svg?style=flat)](https://github.com/guibranco/ViaCEP) [![Github All Releases](https://img.shields.io/github/downloads/guibranco/ViaCEP/total.svg?style=flat)](https://github.com/guibranco/ViaCEP) + +Download the latest zip file from the [Release](https://github.com/GuiBranco/ViaCEP/releases) page. + +### Nuget package manager + +| Package | Version | Downloads | +|------------------|:-------:|:-------:| +| **ViaCEP** | [![ViaCEP NuGet Version](https://img.shields.io/nuget/v/ViaCEP.svg?style=flat)](https://www.nuget.org/packages/ViaCEP/) | [![ViaCEP NuGet Downloads](https://img.shields.io/nuget/dt/ViaCEP.svg?style=flat)](https://www.nuget.org/packages/ViaCEP/) | + +--- + +## Usage + +The package has two classes: + +- [ViaCepClient](https://github.com/guibranco/ViaCEP/blob/main/ViaCEP/ViaCepClient.cs): The main class (methods). +- [ViaCepResult](https://github.com/guibranco/ViaCEP/blob/main/ViaCEP/ViaCepResult.cs): The result class (data). + +This package is fully compatible with Dependency Injection. Use the interface *IViaCepClient* and the constructor with HttpClient parameter with a IHttpClientFactory instance. + +```cs +//your DI container +services.AddHttpClient(client => { client.BaseAddress = new Uri("https://viacep.com.br/"); }); + +//then use in your domain service, handler, controller... +var viaCepClient = container.GetService(); +var result = await viaCepClient.SearchAsync("01001000", cancellationToken); +``` + +You can search using the zip code/postal code (AKA CEP) or using the address data (state initials - UF, city name and location name - street, avenue, park, square). Both methods support async and sync! + +### Querying by zip code / postal code (single result) + +```cs +var result = new ViaCepClient().Search("01001000"); //searches for the postal code 01001-000 +var address = result.Address; //Praça da Sé +var city = reuslt.City; //São Paulo +//do what you need with 'result' instance of ViaCEPResult. +``` + +### Querying by address (list result) + +```cs +var results = new ViaCepClient().Search("SP", "São Paulo", "Avenida Paulista"); //search for the Avenida Paulista in São Paulo / SP +foreach(var result in results){ + var address = result.Address; + var neighborhood = result.Neighborhood; + var zipCode = result.ZipCode; + //do what you need with 'result' instance of ViaCEPResult. +} +``` + +## Changelog + +- 2023-03-03: Update dependencies, change branch name, update logo. [@guibranco](https://github.com/guibranco) +- 2021-06-21: Update dependencies version. [@guibranco](https://github.com/guibranco) +- 2020-10-23: Add support to .NET Standard 2.0 and .NET Framework v4.6.1 and above. [@guibranco](https://github.com/guibranco) diff --git a/Src/ViaCep/ViaCep.csproj b/Src/ViaCep/ViaCep.csproj index 38b37ab..1b3fff6 100644 --- a/Src/ViaCep/ViaCep.csproj +++ b/Src/ViaCep/ViaCep.csproj @@ -3,20 +3,21 @@ A251D320-410E-48F1-889D-9F59EB8CFEB9 netstandard2.0;netstandard2.1 - latest true + latest + Guilherme Branco Stracini Guilherme Branco Stracini - © 2020 - 2023 Guilherme Branco Stracini. All rights reserved. + © 2023 Guilherme Branco Stracini. All rights reserved. The ViaCep API/WebService client for .NET projects (both .NET Core and .NET Framework) + LICENSE https://guibranco.github.io/ViaCEP/ - https://github.com/guibranco/ViaCEP/ + https://github.com/guibranco/ViaCEP GIT cep zipcode postalcode postal zip address location api webservice brasil brazil correios ibge gia mf fazenda - https://raw.githubusercontent.com/guibranco/ViaCEP/master/logo.png?v=1 - logo.png + packageLogo.png + README.nuget.md 1.0.0 - 1.0.0.0 - LICENSE + 1.0.0.0 @@ -26,6 +27,7 @@ - + + diff --git a/_config.yml b/_config.yml index f26c125..712370f 100644 --- a/_config.yml +++ b/_config.yml @@ -1,3 +1,3 @@ theme: jekyll-theme-minimal -logo: https://raw.githubusercontent.com/guibranco/viacep/master/logo.png +logo: https://raw.githubusercontent.com/guibranco/viacep/main/logo.png show_downloads: true diff --git a/appveyor.yml b/appveyor.yml index 264dd31..a270719 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -109,12 +109,12 @@ deploy: - provider: Environment name: NuGet on: - branch: master + branch: main artifact: Package - provider: GitHub on: - branch: master + branch: main tag: $(appveyor_build_version) auth_token: $(GITHUB_TOKEN) force_update: true diff --git a/logo.png b/logo.png index 5a0b0c1..a4f3fa3 100644 Binary files a/logo.png and b/logo.png differ diff --git a/packageLogo.png b/packageLogo.png new file mode 100644 index 0000000..a6a1920 Binary files /dev/null and b/packageLogo.png differ