Motivação do estudo
O LogisticSaaS nasceu pra estudar sistemas distribuídos de ponta a ponta usando uma stack poliglota: escolhendo, de propósito, a linguagem mais adequada pra cada serviço em vez de padronizar tudo numa só.
A meta é exercitar os blocos de construção de um SaaS escalável de varejo:
- Mensageria com filas
- Comunicação interna via gRPC
- Concorrência com Akka.NET
- Observabilidade (logs, métricas e dashboards)
- O padrão BFF entre os serviços e o frontend
O projeto foi conduzido com apoio do Antigravity + Gemini 3 Pro como exercício de orquestração assistida por IA.
O que foi feito
- Control Plane: frontend em Next.js pra operar a plataforma.
- API Gateway / BFF: em NestJS, ponto único de entrada entre o frontend e os serviços.
- Camada de ingestão: em Java 21 (Spring WebFlux), recebendo eventos em alto volume.
- Pricing Solver: em C++ 20 (Drogon), exposto via gRPC pra precificação dinâmica.
- Order / Catalog Service: em .NET 8 com Akka.NET e persistência no Supabase/PostgreSQL.
- Mensageria e observabilidade: Apache Kafka entre os serviços e stack Loki + Prometheus + Grafana.
- Infra e orquestração:
docker-compose+Makefilepro local, Helm e Terraform pro Kubernetes.
Em andamento: próximas frentes de estudo incluem CQRS, Event Sourcing, caching e o padrão SAGA para transações distribuídas.
Stack poliglota
| Serviço | Tecnologia |
|---|---|
| Frontend / Control Plane | Next.js 14 (Vercel) |
| API Gateway / BFF | Node.js · NestJS |
| Ingestão | Java 21 · Spring WebFlux |
| Pricing Solver | C++ 20 · Drogon · gRPC |
| Order / Catalog | .NET 8 · Akka.NET · Supabase |
| Mensageria | Apache Kafka |
| Observabilidade | Loki · Prometheus · Grafana |
Como rodar
# Subir o cluster de serviços localmente
docker-compose up --build
# Comandos comuns ficam no Makefile
make help # Código aberto
O LogisticSaaS é open source, um laboratório de padrões de sistemas distribuídos.