🏛️ arch-lab: Laboratório de Excelência em Arquitetura de Software & Engenharia de Sistemas Corporativos
Bem-vindo ao arch-lab, um laboratório prático de engenharia de software e arquitetura de sistemas corporativos, desenhado para elevar engenheiros de software do nível pleno/sênior ao nível de Arquiteto de Software Sênior, Staff e Principal Engineer.
O arch-lab rejeita o aprendizado puramente teórico de arquitetura ("desenhar caixinhas em slides"). Nosso método é fundamentado em quatro pilares inegociáveis:
- Fenômeno antes da Definição: Você vê o sistema falhar, a concorrência travar ou a perda de dados ocorrer antes da formalização teórica do padrão.
- Predição Ativa: Em cada workbook você formula uma hipótese antes de rodar os testes (
Objetivo → Hipótese → Faça → Observe → Reflexão/Gabarito). - Tripé Pedagógico: Jornada guiada (
docs/journey/) + Workbooks práticos (docs/workbooks/) + Referência técnica aprofundada com C4 (docs/reference/) + Labs executáveis em código real (lab/). - Zero Hand-waving: Cada padrão (Hexagonal, CQRS, Event Sourcing, Outbox, Sagas, Circuit Breakers, Fitness Functions) possui implementação funcional e testes automatizados.
| Fase | Tema Central | Problema Prático Resolvido | Entregável no lab/ |
|---|---|---|---|
| 0 | O Papel do Arquiteto & Fitness Functions | Regressão arquitetural silenciosa e acoplamento indevido | lab/00-fitness-functions/ |
| 1 | Modularidade & Métricas de Martin | Dependências cíclicas e instabilidade estrutural | lab/01-modularity-metrics/ |
| 2 | Arquitetura Hexagonal & Clean Arch | Acoplamento Database-Driven travando regras de negócio | lab/02-hexagonal-architecture/ |
| 3 | DDD Estratégico & Tático | Modelo Anêmico e violação de invariantes transacionais | lab/03-domain-driven-design/ |
| 4 | CQRS & Event Sourcing | Contenção de escrita em relatórios e auditoria contábil | lab/04-cqrs-event-sourcing/ |
| 5 | EDA & Transactional Outbox | Perda de mensagens por falha de dual-write | lab/05-eda-and-outbox/ |
| 6 | Transações Distribuídas & Sagas | Dinheiro duplicado / estoque órfão em microserviços | lab/06-distributed-sagas/ |
| 7 | Resiliência & Padrões Distribuídos | Efeito dominó de falhas e Thundering Herd no cache | lab/07-resilience-patterns/ |
| 8 | Capstone: E-Commerce Corporativo | Checkout distribuído multi-contexto com compensação | lab/08-capstone-enterprise-checkout/ |
- Node.js 22+ e npm 10+ (ou Docker & Docker Compose).
# 1. Clonar e instalar dependências
npm install
# 2. Executar toda a suíte de testes de arquitetura e laboratórios
npm test
# 3. Executar apenas as Fitness Functions automatizadas
npm run test:arch
# 4. Executar verificação de tipos estáticos
npm run lint# Iniciar banco PostgreSQL 16 e Redis 7 com healthchecks
make docker-up
# Executar testes dentro do ambiente isolado
make docker-test
# Encerrar e limpar contêineres
make docker-down- Jornada Linear Guiada:
docs/journey/ - Workbooks Investigativos:
docs/workbooks/ - Catálogo de Referência Técnica & C4:
docs/reference/ - Architectural Decision Records:
adr/ - Glossário de Modelos Mentais & Métricas:
docs/GLOSSARIO.md - Rubrica de Auditoria Pedagógica:
docs/PEDAGOGICAL-AUDIT.md