Pular para o conteúdo principal

ADR 0001: Architecture Overview

Introdução ao documento

  • Status: Proposed
  • Data desta baseline: 2026-03-20

Este ADR registra a decisão de documentar o sistema, neste momento, como uma aplicação Next.js que combina UI, sessão local e uma camada fina de API interna para integração com serviços externos.

Contexto

  • O fluxo principal está centrado em detalhe de curso, inscrição, OTP, confirmação e redirecionamento para grupo.
  • A autenticação usa NextAuth com credenciais cpf, coexistindo com uma integração opcional AMEI baseada em @dhedalos/auth.
  • As integrações externas dominantes são WordPress, backend de WhatsApp, Datadog e Meta.
  • O deploy é realizado via Docker, Helm, Kubernetes e GitHub Actions.

Evidências:

Decisão

Adotar, para a baseline de documentação, o seguinte enquadramento arquitetural:

  • O repositório é o frontend principal do onboarding.
  • app/ concentra as páginas e a experiência do usuário.
  • pages/api/ e app/api/ formam a API interna/BFF local.
  • A persistência e as regras de negócio mais profundas estão fora deste repositório, principalmente em serviços WordPress e WhatsApp.
  • A documentação padrão passa a ser mantida em docs/, com contratos HTTP em OpenAPI e alterações arquiteturais relevantes registradas via ADR.

Evidências:

Consequências

  • A documentação passa a explicitar que o modelo de dados e parte dos contratos pertencem a serviços externos.
  • Mudanças em integrações, APIs internas e fluxo principal precisam atualizar docs/.
  • O repositório ainda precisa mapear oficialmente os sistemas de origem das bibliotecas internas @dhedalos/*.

Pendências

  • Validar este ADR com responsáveis de arquitetura e produto.
  • Confirmar se a camada pages/api/ será mantida ou migrada gradualmente para app/api/.
  • Registrar ADRs complementares para autenticação, observabilidade e operação, se necessário.

Versionamento

Este ADR deve ser mantido historicamente. Novas decisões não devem sobrescrever o contexto decisório; devem gerar novos ADRs ou atualizar o status deste documento quando necessário.

Evidência:

Referencial teórico

  • Architecture Decision Records.
  • C4 Model.
  • OpenAPI como contrato de integração.