Topologia e Arquitetura de Microsserviços 🏗️
A plataforma Monvix é composta por três microsserviços principais orquestrados via contêineres Docker e protegidos por proxy reverso com suporte a terminação TLS/SSL automática.
🧭 Visão Geral da Topologia
📦 Detalhamento dos Componentes
1. Front-Monvix (Frontend SPA & PWA)
- Stack: React 19, TypeScript, Vite, Tailwind CSS 4, Radix UI Primitives, Lucide Icons.
- Deploy: Imagem Docker leve baseada em
nginx:stable-alpineservindo os artefatos estáticos. - Capacidades:
- PWA com suporte a instalação e cache via Service Worker (
vite-plugin-pwa). - Armazenamento reativo e sincronização com o backend.
- Validações de formulário síncronas antes do despacho para as APIs.
- PWA com suporte a instalação e cache via Service Worker (
2. finan-service (Backend Transacional)
- Stack: Java 21, Quarkus Framework, Hibernate Reactive / Panache, PostgreSQL 16.
- Porta:
8082. - Responsabilidades:
- Autenticação e autorização JWT.
- Persistência de contas, transações bancárias e balanços de usuários.
- Orquestração de chamadas ao microsserviço de GA quando o questionário é alterado.
- Verificações de saúde SmallRye Health (
/q/health).
3. monvix-ga-service (Motor de Inteligência Artificial)
- Stack: Python 3.11+, FastAPI, Uvicorn, NumPy 2.x, Pydantic v2.
- Porta:
8084. - Responsabilidades:
- Processamento de matrizes de alocação orçamentária vetorizada.
- Execução da meta-heurística evolucionária populacional em frações de milissegundos.
- Geração automatizada de alertas e justificativas contextuais (
app/domain/explanations.py). - Endpoints
/healthe/api/ai/optimize-allocations.
4. monvix-proxy (Proxy Reverso & Edge Router)
- Stack: Caddy v2.8+ Alpine.
- Portas:
80(HTTP) e443(HTTPS com certificados Let's Encrypt / ACME automáticos). - Roteamento:
monvix.meewww.monvix.memonvix-web:80api.monvix.mefinan-service:8082