Amostras para construção rápida de produtos utilizando: Banco de dados relacional (SQL Server, PostgreSql, MySql); Banco de dados NoSql (MongoDb); Banco de dados de valores-chave (Redis); Corretor de Mensagens (RabbitMQ); Pipeline (padrão Pipe e Filtros); Documentação (Swagger); Mapeamento (AutoMapper); Registro (NLog); Padrões de validação de dados (FluentValidation e Data Annotations), notificação (Notification pattern) e especificações (Specification pattern), unidade de trabalho, repositório, entre outros. Em cada projeto existe um arquivo com a descrição dos recursos e referências implementadas. Leia o arquivo "Readme.md" na pasta "...WebAPI".
Visite: https://mvp24hours.dev/
Projeto utilizado para desenvolver APIs enxutas.
CRUD - EF - Minimal API API enxuta que permite pesquisar com paginação, obter um item, criar, alterar e excluir em um banco de dados relacional (MySql, PostgreSql, SqlServer).
CRUD - MongoDb - Minimal API API enxuta que permite pesquisar com paginação, obter um item, criar, alterar e excluir em um banco de dados MongoDb.
Pipeline - Minimal API API enxuta para pipeline com operações simples.
Projeto de N camadas utilizado para desenvolver APIs onde o negócio precisa aplicar regras simples.
CRUD - EF - Simples Permite pesquisar com paginação, obter um item, criar, alterar e excluir. As operações são realizadas transitando uma entidade de banco de dados. Caso pretenda desenvolver um produto que será consumido publicamente (fora de uma rede privada), utilize CRUD - EF - Complex.
CRUD - EF - Dapper - Simples Permite pesquisar com paginação e obter um item (com navegação) usando Dapper. As operações de criação, alteração e exclusão são realizadas com EF e trafegam uma entidade de banco de dados. Se você pretende desenvolver um produto que será consumido publicamente (fora de uma rede privada), utilize CRUD - EF - Dapper - Complex.
CRUD - EF - Log de entidade - Simples Permite pesquisar com paginação, obter um item, criar, alterar e excluir. As operações são realizadas transitando uma entidade de banco de dados. A arquitetura coordena os campos de log criados/por, modificados/por e removidos/por. Vale ressaltar que todas as consultas conterão o filtro removido, levando em consideração a referência do SoftDelete. Caso pretenda desenvolver um produto que será consumido publicamente (fora de uma rede privada), utilize CRUD - EF - Entity Log - Complex.
CRUD - MongoDb - Simples Permite pesquisar com paginação, obter um item, criar, alterar e excluir. As operações são realizadas transitando uma entidade de banco de dados. Vale ressaltar que devemos criar estratégias de registro de dados já que não existe relacionamento. Caso pretenda desenvolver um produto que será consumido publicamente (fora de uma rede privada), utilize CRUD - MongoDb - Complex.
CRUD - Redis - Simples Permite que você obtenha um item, crie e exclua. As operações são executadas referenciando uma chave para esse banco de dados de valores-chave. Freqüentemente usamos essa solução para gerenciamento de cache, pois Redis é um banco de dados na memória com desempenho incrível.
CRUD - EF - RabbitMQ - Simples Permite pesquisar com paginação, obter um item, criar, alterar e excluir. As operações são realizadas de forma assíncrona a partir de uma fila gerenciada pelo RabbitMQ. Utilizamos HostedService para consumir mensagens RabbitMQ do projeto web, ou seja, as mensagens serão processadas enquanto a API estiver em execução.
Pipeline - Simples Padrão de pipeline com operações simples.
Projeto N-tier utilizado para desenvolvimento de APIs onde o negócio precisa aplicar regras complexas, maior nível de segurança, menor tráfego de dados, validação de dados sensíveis e separação de responsabilidades ou consumo por outras tecnologias e projetos.
CRUD - EF - Complexo Permite pesquisar com paginação, obter um item, criar, alterar e excluir.
CRUD - EF - Dapper - Complexo Permite pesquisar com paginação e obter um item (com navegação) usando Dapper. As operações de criação, alteração e exclusão são realizadas com EF.
CRUD - EF - Somente Entidade - Complexo Permite pesquisar com paginação, obter um item, criar, alterar e excluir. Não criamos objeto para tráfego e mapeamento. Usamos a própria entidade do banco de dados.
CRUD - EF - Log de entidade - Complexo Permite pesquisar com paginação, obter um item, criar, alterar e excluir.
CRUD - MongoDb - Complexo Permite pesquisar com paginação, obter um item, criar, alterar e excluir.
Pipeline - Construtor - Complexo Padrão de pipeline com operações registradas por meio de construtores. Excelente estratégia para casos de uso.
Pipeline - Complexo Padrão de pipeline com operações simples em camadas.
Pipeline - Portas e adaptadores - Complexo Padrão de pipeline com operações registradas por meio de construtores. Associamos essa estratégia ao modelo de arquitetura de portas e adaptadores fracamente acoplados.
Pipeline - EF (MySql, PostgreSql, SqlServer) - Complexo Geralmente o usamos para integração de serviços. O conceito de pipeline é excelente para rastrear todas as etapas (operações/filtros) realizadas em uma integração (adaptador/mediador/registro/filtro). Nesta solução obtemos os dados em uma integração e cadastramos em um banco de dados com EF.
Por favor, considere fazer uma doação se você acha que esta biblioteca é útil para você ou que meu trabalho é valioso. Fico feliz se você puder me ajudar comprar uma xícara de café. :coração:
Usuários, interessados, estudantes, entusiastas, desenvolvedores, programadores conectem-se no LinkedIn para acompanhar de perto nosso crescimento!
Seja um patrocinador escolhendo este projeto para acelerar seus produtos.