BKS.Padrao 7.15.0-beta-26s42-1-d9be7e5b
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. - Modelos/Esteira: Envelope (
EsteiraModeloArquivo), modelo (EsteiraModelo) e atividade (EsteiraAtividadeArquivo) do contrato compartilhado de importação/exportação de modelos de esteira entre Cartão e Consignado. - 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.
- Contrato de esteira:
Servicos/Esteira/EsteiraImportExportServiceserializa, desserializa e valida o arquivo JSON versionado (BKS.ESTEIRA.MODELO) de modelos de esteira, usado tanto pelo Cartão quanto pelo Consignado. - 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.
- Licenciamento em runtime: validação compartilhada para os hosts consumidores. Consulte a documentação de licenciamento.
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
|
286 |
|
BKS.Acesso
Package Description
|
279 |
|
BKS.Acesso
Package Description
|
215 |
|
BKS.Back
Package Description
|
186 |
|
BKS.Acesso
Package Description
|
172 |
|
BKS.Back
Package Description
|
156 |
|
BKS.Back
Package Description
|
85 |
|
BKS.Consig
Package Description
|
82 |
|
BKS.Acesso
Package Description
|
55 |
|
BKS.Acesso
Package Description
|
54 |
|
BKS.Back
Package Description
|
53 |
|
BKS.Cartao
Package Description
|
51 |
|
BKS.ApiCommons
Package Description
|
47 |
|
BKS.Back
Package Description
|
47 |
|
BKS.Back
Package Description
|
46 |
|
BKS.Acesso
Package Description
|
45 |
|
BKS.Cartao
Package Description
|
45 |
.NET Standard 2.0
- BKS.Logs (>= 2.1.0-beta-26S36-1-383ca81d)
- BKS.Token (>= 4.4.0-beta-26S40-1-168c0e9f)
- 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)