Skip to content

Codout/Codout.Framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codout.Framework Logo

Codout.Framework

🔧 Framework Clean Architecture modular e escalável para .NET
🚀 Acelere entregas de projetos com as melhores práticas e uma base pronta para produção

Build Status NuGet Version NuGet Version License Issues


🎯 Visão Geral

O Codout.Framework é um starter kit de Clean Architecture para aplicações .NET, projetado para fornecer:

  • Modularidade: Selecione apenas os módulos que você precisa (EF Core, MongoDB, NHibernate, Multi-Tenancy, etc.).
  • Escalabilidade: Arquitetura preparada para crescer junto com seu produto.
  • Manutenibilidade: Código limpo, separação de responsabilidades e padrões de projeto consolidados.

Use-o como base para APIs RESTful, microsserviços, backends de aplicações corporativas e mais.


📦 Estrutura de Módulos

Projeto Responsabilidade
Domain Entidades, objetos de valor, interfaces de repositório e regras de negócio.
Common Helpers, extensões, logging, validações e abstrações de uso geral.
DAL Interfaces de Unit of Work e repositórios gerais.
EF Implementação de repositórios com Entity Framework Core.
Mongo Implementação de Unit of Work e repositórios para MongoDB.
NH Repositórios baseados em NHibernate.
Api Projeto ASP.NET Core com controllers, middleware, autenticação e configuração.
Api.Dto Data Transfer Objects para requests e responses da API.
Api.Client Cliente HTTP tipado para consumo de APIs (interna/externa).
Kendo.DynamicLinq Extensões para consultas dinâmicas LINQ com componentes Kendo UI.
Multitenancy Suporte para aplicações multi-tenant, resolução de conexão por cliente.
Mailer Abstrações e implementações de envio de e-mail (AWS SES, SendGrid).
Zenvia Integração com Zenvia para envio de SMS e notificações.
DP Data Processors genéricos para pipelines de transformação de dados.
Shared Código compartilhado entre .NET Core e .NET Framework Full.
UML Diagramas de pacotes e classes para referência arquitetural.
Tests Projetos de teste unitário e de integração para cada módulo.

🚀 Começando Rápido

Pré-requisitos

  • .NET SDK 9.x ou superior
  • IDE de sua preferência (Visual Studio, VS Code, Rider)
  • (Opcional) Docker para MongoDB ou outros serviços auxiliares

Passos

  1. Clone o repositório

    git clone https://github.com/Codout/Codout.Framework.git
    cd Codout.Framework
  2. Compile e execute testes

    dotnet build Codout.Framework.sln --configuration Release
    dotnet test tests/**/*.Test.csproj
  3. Adicione ao seu projeto via NuGet

    Install-Package Codout.Framework.Common
    Install-Package Codout.Framework.EF
    Install-Package Codout.Framework.Api

🏗️ Exemplo de Uso

// Startup.cs (ASP.NET Core)
public void ConfigureServices(IServiceCollection services)
{
    // Configura Domain e Common
    services.AddCodoutDomain();
    services.AddCodoutCommon(Configuration);

    // Opte pela implementação de dados: EF, Mongo ou NH
    services.AddCodoutEf(options => options.UseSqlServer(connectionString));
    // ou
    // services.AddCodoutMongo(options => options.ConnectionString = mongoUri);

    // API
    services.AddCodoutApi();
}

🎨 Roadmap

  • Domain & Common Essentials
  • EF Core & Migrations
  • MongoDB e replicação automática
  • NHibernate + FluentMigrator
  • Suporte a gRPC e mensageria (RabbitMQ, Kafka)
  • Dashboard de monitoramento e métricas

Contribuições e sugestões são muito bem-vindas!


🤝 Contribuindo

  1. Faça um fork deste repositório
  2. Crie uma branch: git checkout -b feature/nova-funcionalidade
  3. Implemente e escreva testes
  4. Abra um Pull Request detalhando sua proposta

Leia o CONTRIBUTING.md para mais detalhes.


📜 Licença

Este projeto está licenciado sob a MIT License.


Desenvolvido com ❤️ por **Codout**

About

Modelo de arquitetura para desenvolvimento de sistemas em .net

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages