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

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
Exemplos de aplicações backend utilizando o TNF Framework. Todos os projetos incluem Swagger, Serilog e compactação habilitados.
| Projeto | Descrição | TNF Version |
|---|
| TNF-Zero | Projeto mínimo de referência com DDD + CQRS | 8.x |
| CarShopCrud | CRUD completo com DDD, CQRS e mensageria RabbitMQ | 8.x |
| SmartX | Geração automática de interfaces com Smart-UI / PO-UI | 8.x |
| JobSchedulerClient | Cliente de agendamento de jobs com Tnf.Jobs | 8.x |
Para mais detalhes sobre cada cenário, consulte o README dos Scenarios.
Catálogo completo de pacotes disponíveis no TNF, organizados por área funcional.
| Pacote | Descrição |
|---|
| Tnf.Kernel | Pacote principal do framework com extensões de DI, Localization (arquivo) e Settings (arquivo) |
| Tnf.Runtime | Abstrações e implementações de Multi-Tenancy, segurança e sessão da aplicação |
| Tnf.Notifications | Abstrações e implementação do Notification Pattern |
| Tnf.Dto | DTOs para o padrão de API TOTVS (Request/Response) |
| Tnf.Specifications | Abstração e implementações do Specification Pattern |
| Tnf.CloudEvents | Suporte ao formato CloudEvents para mensagens e eventos |
| Pacote | Descrição |
|---|
| Tnf.AspNetCore | Integração com ASP.NET Core (controllers, middleware, retorno de mensagem, sessão, notificações) |
| Tnf.AspNetCore.Security | Segurança e autenticação com suporte ao RAC (TOTVS Access Control) |
| Tnf.AspNetCore.Security.FluigIdentity | Autenticação via Fluig Identity (OAuth 2.0 / JWT / SSO) |
| Tnf.AspNetCore.Metrics.Abstractions | Abstrações para métricas e observabilidade |
| Tnf.AspNetCore.Metrics | Implementação de métricas com AppMetrics (Prometheus/Grafana) |
| Pacote | Descrição |
|---|
| Tnf.Domain | Infraestrutura para DDD: DomainServices, ApplicationService e Builder de entidades |
| Tnf.Domain.Events | Implementação do padrão Domain Events |
| Tnf.Repositories | Abstrações para repositórios, entidades, multi-organização, multi-tenancy e UnitOfWork |
| Pacote | Descrição |
|---|
| Tnf.Commands | Implementação do padrão Command/Handler (CQRS) |
| Tnf.Commands.FluentValidation | Validação de commands com FluentValidation |
| Pacote | Descrição |
|---|
| Tnf.EntityFrameworkCore | Suporte ao EF Core com gerência de transações (UoW), filtros automáticos de multi-tenancy, soft delete e auditoria |
| Tnf.Dapper | Suporte ao Dapper baseado nas abstrações de Tnf.Repositories (reusa transações do EF Core) |
| Tnf.MongoDb | Implementação para MongoDB |
| Tnf.Drivers.Devart | Suporte a drivers Devart |
| Tnf.Drivers.DevartOracle | Suporte a Oracle via driver Devart DotConnect (licença de terceiro necessária) |
| Pacote | Descrição |
|---|
| Tnf.Messaging | Abstrações de mensageria |
| Tnf.Messaging.RabbitMQ | Implementação de mensageria com RabbitMQ |
| Tnf.Bus.Queue | Abstrações e implementações compartilhadas para filas |
| Tnf.Bus.Queue.RabbitMQ | Implementação de fila com RabbitMQ (abstração Bus) |
| Tnf.Bus.Client | Cliente de gerência de BUS |
| Tnf.RabbitMq | Infraestrutura base RabbitMQ |
| Pacote | Descrição |
|---|
| Tnf.Jobs | Suporte a agendamento e execução de jobs |
| Pacote | Descrição |
|---|
| Tnf.Caching.Abstractions | Abstração de cache (inclui implementação de MemoryCache por padrão) |
| Tnf.Caching.Redis | Implementação de cache distribuído com Redis |
| Pacote | Descrição |
|---|
| Tnf.Indexing.Abstractions | Abstrações para indexação e busca |
| Tnf.Elasticsearch | Implementação de indexação com Elasticsearch |
| Pacote | Descrição |
|---|
| Tnf.ObjectMapping.Abstractions | Abstração de mapeamento de objetos |
| Tnf.AutoMapper | Implementação com AutoMapper |
| Tnf.Mapster | Implementação com Mapster |
| Pacote | Descrição |
|---|
| Tnf.Localization.Management | Gerência de localização via banco de dados |
| Tnf.Localization.EntityFrameworkCore | Suporte a localização com EF Core |
| Tnf.Settings.Management | Gerência de configurações via banco de dados |
| Tnf.Settings.Management.Redis | Gerência de configurações com cache Redis |
| Tnf.Settings.EntityFrameworkCore | Suporte a configurações com EF Core |
| Pacote | Descrição |
|---|
| Tnf.SmartX.Abstractions | Abstrações do SmartX |
| Tnf.SmartX | Plataforma SmartX para geração automática de interfaces (Smart-UI / PO-UI) |
| Tnf.SmartX.EntityFrameworkCore | Integração SmartX com EF Core |
| Tnf.SmartX.Security.FluigIdentity | Segurança SmartX com Fluig Identity |
| Pacote | Descrição |
|---|
| Tnf.Sgdp.Abstractions | Abstrações para conformidade com LGPD/SGDP |
| Tnf.Sgdp | Implementação do SGDP |
| Tnf.Sgdp.EntityFrameworkCore | Integração SGDP com EF Core |
| Pacote | Descrição |
|---|
| Tnf.Carol | Implementação de repositórios e conectividade com TOTVS Carol |
| Tnf.Provider | Abstração de HTTP Provider |
| Tnf.Provider.Carol | HTTP Provider para TOTVS Carol |
| Tnf.LsCloud | Integração com LS Cloud |
| Tnf.LsCloud.Client | Cliente para LS Cloud |