BKS.Padrao 7.8.0-alpha-26s32-3-6402d520
BKS.Padrao
A BKS.Padrao nasceu da ideia do nosso querido @lmatos com o objetivo de unificar regras e modelos de negócio comum aos Fronts Cartao e Consig, evitando a necessidade de criação e manutenção de código em duas bibliotecas (BKS.Cartao e BKS.Consig).
Desde a sua criação ela evoluiu e é utilizada hoje por vários módulos, como BKS.ApiCommons.
Ela se diferencia da BKS.Util que é mais genérica, voltada mais para utilidades para o desenvolvedores, com facilitadores baseados em tipos c# e nem tanto a regras de negócio especificas BKS, mesmo que ainda possam existir.
Este projeto contém uma série de funcionalidades úteis comuns aos produtos BKS Cartão e Consig/FGTS com foco em exceções, validações, modelos de dados, tipos e interfaces.
Estrutura do Projeto
Aqui está o que você vai encontrar nas pastas principais:
lib/
- Exceptions: Definição de exceções personalizadas como
UnauthorizedException,NotFoundExceptione mais, para um controle melhor sobre erros e suas respostas. - Interfaces: Interfaces úteis para os serviços e modelos, como
ILogApiServiceeIBksException. - Modelos: Contém as classes de modelos principais, como
MensagemUsuario,OutputErrorApie outros objetos de domínio. - Tipos: Tipos e enumerações gerais como
TipoEndereco,TipoTelefoneeTipoOperadora. - Validators: Contém validadores baseados no FluentValidation, incluindo validação de endereços e telefones.
tests/
- Testes unitários para garantir o funcionamento correto das exceções, validadores e métodos da biblioteca.
Arquivos de Configuração
.gitignorepara ignorar arquivos desnecessários..gitlab-ci.ymlpara configuração de CI/CD com GitLab.lib/BKS.Padrao.csprojconcentra os metadados e a geração do pacote NuGet.
Funcionalidades
- Gerenciamento de Exceções: Fácil tratamento de erros e mensagens para o usuário, com suporte a exceções específicas e mensagens de erro formatadas.
- Validação: Validação robusta de dados com o uso do FluentValidation para garantir que informações como endereços e telefones estejam corretas.
- Modelos e Tipos Comuns: Definições de tipos e modelos comuns para facilitar a construção de sistemas com uma base consistente.
Como Usar
- Clone o repositório para sua máquina local.
- Adicione o projeto ao seu sistema e comece a usar as classes e funções para tratar exceções, validar dados e modelar suas entidades.
- Para testar, execute os testes unitários presentes na pasta
tests/.
Como Usar
Adicionar o Feed NuGet Privado: Adicione o feed NuGet privado à sua configuração de projeto para acessar o pacote
BKS.Padrao. Você pode seguir o guia de configuração do feed NuGet nesse linkInstalar o Pacote NuGet: Após adicionar o feed, basta instalar o pacote
BKS.Padraono seu projeto. Você pode fazer isso executando o seguinte comando no Package Manager Console:Install-Package BKS.PadraoUsar no Projeto: Após a instalação, você pode começar a usar as exceções, validadores e modelos disponíveis, conforme necessário no seu código.
Testar: Execute os testes unitários presentes na pasta
tests/para garantir que tudo esteja funcionando conforme esperado.
Como submódulo
A BKS.Padrao passou a ser utilizada não apenas como um pacote NuGet, mas também como submódulo Git dentro dos repositórios:
- Front Consig
- Front Cartão (em breve)
- BKS.ApiCommons (em breve)
Essa mudança tem como principal objetivo agilizar o desenvolvimento, facilitar a manutenção e melhorar a experiência de quem consome a biblioteca, permitindo que ela seja editada diretamente na mesma solution dos fronts.
Contribuindo
Se você quiser contribuir com melhorias ou correções, fique à vontade para abrir um MR ou issue.
Showing the top 20 packages that depend on BKS.Padrao.
| Packages | Downloads |
|---|---|
|
BKS.Cmss
Package Description
|
280 |
|
BKS.Acesso
Package Description
|
271 |
|
BKS.Acesso
Package Description
|
208 |
|
BKS.Back
Package Description
|
178 |
|
BKS.Acesso
Package Description
|
169 |
|
BKS.Back
Package Description
|
150 |
|
BKS.Back
Package Description
|
80 |
|
BKS.Consig
Package Description
|
76 |
|
BKS.Acesso
Package Description
|
51 |
|
BKS.Acesso
Package Description
|
50 |
|
BKS.Back
Package Description
|
49 |
|
BKS.Cartao
Package Description
|
46 |
|
BKS.Back
Package Description
|
43 |
|
BKS.ApiCommons
Package Description
|
42 |
|
BKS.Back
Package Description
|
41 |
|
BKS.Cartao
Package Description
|
41 |
|
BKS.Back
Package Description
|
40 |
|
BKS.Acesso
Package Description
|
39 |
|
BKS.Cartao
Package Description
|
39 |
.NET Standard 2.0
- BKS.Logs (>= 2.1.0-alpha-26S32-6-1261182f)
- BKS.Token (>= 4.2.8)
- BKS.Util (>= 3.10.1)
- FluentValidation (>= 11.12.0)
- FluentValidation.DependencyInjectionExtensions (>= 11.12.0)
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.14)
- Microsoft.Extensions.Hosting (>= 9.0.14)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.14)
- Microsoft.Extensions.Http (>= 9.0.14)
- MimeTypesMap (>= 1.0.9)
- NLog (>= 6.1.2)
- NLog.Database (>= 6.0.3)
- NLog.Extensions.Logging (>= 6.1.2)
- Newtonsoft.Json (>= 13.0.4)