Adicionar ADRs - Decisoes Técnicas

Rafael Alves Lopes 2026-05-27 15:15:46 -03:00
parent c10de0fdb5
commit 94bbff17a7

@ -0,0 +1,118 @@
# ADRs - Decisoes Tecnicas
Este arquivo registra decisoes importantes. Formato simplificado: contexto, decisao, consequencias.
## ADR 001 - Usar WhatsApp Web para MVP
### Contexto
O produto precisava demonstrar atendimento WhatsApp rapidamente, com envio/recebimento real.
### Decisao
Usar `whatsapp-web.js` no backend.
### Consequencias
Positivas:
- entrega rapida;
- QR Code simples;
- conversa real no WhatsApp.
Negativas:
- dependencia de sessao WhatsApp Web;
- Puppeteer/Chromium no servidor;
- risco operacional maior que API oficial;
- nao e ideal para producao robusta.
## ADR 002 - React/Vite com estilos inline
### Contexto
Velocidade de prototipacao e demo.
### Decisao
Usar React + Vite e estilos inline com variaveis globais.
### Consequencias
Positivas:
- desenvolvimento rapido;
- componentes autocontidos.
Negativas:
- arquivos grandes;
- dificil reaproveitamento visual;
- refatoracao futura recomendada.
## ADR 003 - PostgreSQL como fonte operacional
### Contexto
Era necessario controlar usuarios, filas, templates, contatos e auditoria.
### Decisao
Usar PostgreSQL com SQL direto via `pg`.
### Consequencias
Positivas:
- controle claro do schema;
- queries explicitas;
- pouca dependencia de ORM.
Negativas:
- precisa disciplina de migrations;
- risco de SQL duplicado/espalhado.
## ADR 004 - JWT proprio da aplicacao
### Contexto
LDAP e Microsoft autenticam identidades, mas o sistema precisa de perfis e areas proprios.
### Decisao
Emitir JWT proprio apos autenticar no provedor externo.
### Consequencias
Positivas:
- token unico para frontend;
- inclui perfis e areas do sistema.
Negativas:
- ainda falta guard backend;
- precisa revisar armazenamento do token para producao.
## ADR 005 - Migrations SQL versionadas
### Contexto
Schema evoluiu rapido durante MVP.
### Decisao
Versionar migrations SQL em `database/migrations`.
### Consequencias
Positivas:
- historico legivel;
- facil revisar mudancas.
Negativas:
- ainda falta runner formal;
- compose nao aplica automaticamente a pasta atual.