TNF Samples

May 18, 2026 · View on GitHub

Repositório de exemplos e cenários de uso do TNF Framework (TOTVS .NET Framework).

Distribuição dos Pacotes

Diagramas de pacotes do Tnf

Estrutura do Repositório

tnf-samples/
├── Scenarios/          # Exemplos de backend com TNF Framework (.NET 8)
│   ├── TNF-Zero/       # Projeto mínimo de referência (DDD + CQRS)
│   ├── CarShopCrud/    # CRUD completo com DDD, CQRS e mensageria
│   ├── SmartX/         # Geração automática de interfaces (Smart-UI / PO-UI)
│   └── JobSchedulerClient/  # Cliente de agendamento de jobs

└── Components/         # Exemplos de frontend
    └── eula-modal/     # Componente Angular de modal EULA

Scenarios

Exemplos de aplicações backend utilizando o TNF Framework. Todos os projetos incluem Swagger, Serilog e compactação habilitados.

ProjetoDescriçãoTNF Version
TNF-ZeroProjeto mínimo de referência com DDD + CQRS8.x
CarShopCrudCRUD completo com DDD, CQRS e mensageria RabbitMQ8.x
SmartXGeração automática de interfaces com Smart-UI / PO-UI8.x
JobSchedulerClientCliente de agendamento de jobs com Tnf.Jobs8.x

Para mais detalhes sobre cada cenário, consulte o README dos Scenarios.


Pacotes do TNF Framework

Catálogo completo de pacotes disponíveis no TNF, organizados por área funcional.

Core

PacoteDescrição
Tnf.KernelPacote principal do framework com extensões de DI, Localization (arquivo) e Settings (arquivo)
Tnf.RuntimeAbstrações e implementações de Multi-Tenancy, segurança e sessão da aplicação
Tnf.NotificationsAbstrações e implementação do Notification Pattern
Tnf.DtoDTOs para o padrão de API TOTVS (Request/Response)
Tnf.SpecificationsAbstração e implementações do Specification Pattern
Tnf.CloudEventsSuporte ao formato CloudEvents para mensagens e eventos

ASP.NET Core

PacoteDescrição
Tnf.AspNetCoreIntegração com ASP.NET Core (controllers, middleware, retorno de mensagem, sessão, notificações)
Tnf.AspNetCore.SecuritySegurança e autenticação com suporte ao RAC (TOTVS Access Control)
Tnf.AspNetCore.Security.FluigIdentityAutenticação via Fluig Identity (OAuth 2.0 / JWT / SSO)
Tnf.AspNetCore.Metrics.AbstractionsAbstrações para métricas e observabilidade
Tnf.AspNetCore.MetricsImplementação de métricas com AppMetrics (Prometheus/Grafana)

Domain-Driven Design

PacoteDescrição
Tnf.DomainInfraestrutura para DDD: DomainServices, ApplicationService e Builder de entidades
Tnf.Domain.EventsImplementação do padrão Domain Events
Tnf.RepositoriesAbstrações para repositórios, entidades, multi-organização, multi-tenancy e UnitOfWork

CQRS / Commands

PacoteDescrição
Tnf.CommandsImplementação do padrão Command/Handler (CQRS)
Tnf.Commands.FluentValidationValidação de commands com FluentValidation

Persistência / Data Access

PacoteDescrição
Tnf.EntityFrameworkCoreSuporte ao EF Core com gerência de transações (UoW), filtros automáticos de multi-tenancy, soft delete e auditoria
Tnf.DapperSuporte ao Dapper baseado nas abstrações de Tnf.Repositories (reusa transações do EF Core)
Tnf.MongoDbImplementação para MongoDB
Tnf.Drivers.DevartSuporte a drivers Devart
Tnf.Drivers.DevartOracleSuporte a Oracle via driver Devart DotConnect (licença de terceiro necessária)

Mensageria

PacoteDescrição
Tnf.MessagingAbstrações de mensageria
Tnf.Messaging.RabbitMQImplementação de mensageria com RabbitMQ
Tnf.Bus.QueueAbstrações e implementações compartilhadas para filas
Tnf.Bus.Queue.RabbitMQImplementação de fila com RabbitMQ (abstração Bus)
Tnf.Bus.ClientCliente de gerência de BUS
Tnf.RabbitMqInfraestrutura base RabbitMQ

Jobs

PacoteDescrição
Tnf.JobsSuporte a agendamento e execução de jobs

Cache

PacoteDescrição
Tnf.Caching.AbstractionsAbstração de cache (inclui implementação de MemoryCache por padrão)
Tnf.Caching.RedisImplementação de cache distribuído com Redis

Indexação / Busca

PacoteDescrição
Tnf.Indexing.AbstractionsAbstrações para indexação e busca
Tnf.ElasticsearchImplementação de indexação com Elasticsearch

Object Mapping

PacoteDescrição
Tnf.ObjectMapping.AbstractionsAbstração de mapeamento de objetos
Tnf.AutoMapperImplementação com AutoMapper
Tnf.MapsterImplementação com Mapster

Localização e Configurações

PacoteDescrição
Tnf.Localization.ManagementGerência de localização via banco de dados
Tnf.Localization.EntityFrameworkCoreSuporte a localização com EF Core
Tnf.Settings.ManagementGerência de configurações via banco de dados
Tnf.Settings.Management.RedisGerência de configurações com cache Redis
Tnf.Settings.EntityFrameworkCoreSuporte a configurações com EF Core

SmartX (Geração de Interfaces)

PacoteDescrição
Tnf.SmartX.AbstractionsAbstrações do SmartX
Tnf.SmartXPlataforma SmartX para geração automática de interfaces (Smart-UI / PO-UI)
Tnf.SmartX.EntityFrameworkCoreIntegração SmartX com EF Core
Tnf.SmartX.Security.FluigIdentitySegurança SmartX com Fluig Identity

SGDP (Privacidade de Dados / LGPD)

PacoteDescrição
Tnf.Sgdp.AbstractionsAbstrações para conformidade com LGPD/SGDP
Tnf.SgdpImplementação do SGDP
Tnf.Sgdp.EntityFrameworkCoreIntegração SGDP com EF Core

Integrações TOTVS

PacoteDescrição
Tnf.CarolImplementação de repositórios e conectividade com TOTVS Carol
Tnf.ProviderAbstração de HTTP Provider
Tnf.Provider.CarolHTTP Provider para TOTVS Carol
Tnf.LsCloudIntegração com LS Cloud
Tnf.LsCloud.ClientCliente para LS Cloud