6ID (Ecossistema Distribuído)
Ecossistema para gerenciar licenças, autenticar usuários e administrar plataformas de trading, com API central, console web e cliente desktop para Windows.
O problema
Plataformas de trading precisavam gerenciar licenças, autenticar usuários e administrar operações em três frentes ao mesmo tempo: uma API central, um console web e um cliente desktop rodando na máquina de cada usuário.
A abordagem
Projetei o ecossistema inteiro: backend assíncrono em FastAPI com SQLAlchemy e Asyncpg para validação concorrente de licenças, console de administração em Next.js com validação espelhada entre Pydantic e Zod, e o cliente Windows em WPF no .NET 8, compilado com ReadyToRun num binário único e enxuto. Código fechado por política de segurança corporativa.
Arquitetura
- 01Console web → API Gateway: HTTPS
- 02Cliente desktop → API Gateway: HTTPS / REST
- 03API Gateway → Core API
- 04Core API → PostgreSQL: leitura e escrita assíncronas
- 05Core API → Relatórios PDF: gera
Decisões
- 01
Camada de dados assíncrona
Por quê Usei FastAPI com Asyncpg e SQLAlchemy 2.0 para atender validações de licença concorrentes vindas dos clientes desktop sem bloquear threads durante I/O.
- 02
Cliente Windows compilado com flags de otimização do .NET 8
Por quê Compilei com PublishReadyToRun, TieredPGO e ServerGarbageCollection=false para gerar um executável autocontido, com menor tempo de inicialização a frio e menos memória que um app WPF padrão.
- 03
Validação espelhada entre Pydantic e Zod
Por quê O backend valida os payloads com Pydantic e o console repete a validação no cliente com Zod e React Hook Form. Isso garante integridade antes do envio e barra requisições malformadas antes da API.
Números com fonte
Cada número aponta para o arquivo do repositório de onde saiu.
Stack
- FastAPI
- Next.js
- TypeScript
- C# · WPF
- PostgreSQL
- Docker