Arquitetura Core & Estratégia
Esta seção descreve a arquitetura estratégica do monorepo, configurações de catálogo e metas de isolamento lógico multi-tenant para o projeto tupynambalucas.dev.
Foco de Desenvolvimento Atual: "Maestria em Instância Única"
ESTRATÉGIA CRÍTICA: Nossa prioridade imediata e absoluta é entregar uma aplicação de instância única completa, 100% funcional e polida (@tupynambalucas-hub/*).
Embora tenhamos uma visão de longo prazo de nos tornarmos uma plataforma SaaS multi-tenant, complexidades arquiteturais de SaaS não devem ser implementadas nesta fase. Todo o desenvolvimento atual (base de código, esquemas de banco de dados, UI/UX) deve permanecer focado em produzir a melhor versão possível de um sistema autônomo para uma ecovila. A transição para um modelo SaaS completo (Fase 6 do Plano Mestre) só será considerada após a aplicação de instância única estar estável e totalmente operacional.
Marcos Concluídos
Arquitetura de Monorepo & Configuração de Workspaces
- Segregação de Workspaces no Monorepo: Estruturação das camadas de workspaces via PNPM Workspaces v11 e Turborepo, segregando os domínios
hub/,cortex/,studio/,tools/,renderer/,platform/edocs/. - Orquestração de Tarefas de Alta Performance: Integração do Turborepo para orquestrar as pipelines do monorepo, permitindo caching inteligente de alvos e execução paralela de scripts.
- Herança de Configurações Unificada: Configuração de arquivos base
tsconfig.base.jsoneeslint.config.tsno nível da raiz, que são estendidos pelos pacotes individuais via extends do TSConfig e declarações de array de regras do ESLint. - Node 22 & Configuração TypeScript ESM: Conversão de todos os pacotes para usar ECMAScript Modules (
"type": "module") e compilação com targetESNextpara suporte a sintaxes modernas.
Bounded Contexts & Segurança de Domínio
- Isolamento Estrito de Bounded Contexts: Configuração de regras personalizadas de restrição de importação (
no-restricted-imports) noeslint.config.ts, proibindo dependências cruzadas entre workspaces para garantir regras de negócio limpas e desacopladas. - Integração do Padrão Domain-Core: Estabeleceu o
packages/coreemhub/como a Fonte Única de Verdade (SSOT) para modelos de dados e validadores de schema. - Gestão Unificada de Dependências via Catalogs: Integração da funcionalidade Catalogs do PNPM v11 em
pnpm-workspace.yamlpara unificar versões de pacotes externos (como Fastify 5, React 19, TSX, ESLint) em todo o monorepo.
Foco Planejado
- Isolamento Lógico Multi-Tenant: Garantir que as instâncias e o portal executem domínios completamente isolados.
- Evolução da Plataforma SaaS: Transição de implantações de instância única para um modelo de marketplace multi-tenant centralizado, utilizando um roteador de borda (Edge Router) Traefik centralizado como ponto de entrada único para rotear dinamicamente requisições para ambientes backend isolados.