4. Estratégia de solução
| Objetivo | Estratégia | Decisão |
|---|---|---|
| Manutenibilidade com time pequeno | Monorepo pnpm + Turborepo, com pacotes compartilhados de tipos, banco, UI, e-mail, logger e Redis. | ADR-0001 |
| Regras de negócio isoladas de framework | Clean Architecture + DDD no serviço order-lifecycle (entidades, value objects, casos de uso, repositórios). |
ADR-0002 |
| Autenticação simples e segura | Sessão em cookie com Better Auth no Next.js, cookie compartilhado entre subdomínios e validado pelo Fastify contra o banco, com cache Redis. | ADR-0003 |
| Custo previsível, sem lock-in | VPS + Coolify + Nixpacks, sem nuvem proprietária. | ADR-0004 |
| Pagamento sem guardar dados financeiros | Checkout hospedado da InfinitePay + webhook. | ADR-0005 |
| Arquivos sob controle e baratos | Armazenamento local no volume do serviço, servido como estático. | ADR-0006 |
| Interface consistente | shadcn/ui (Radix + cva) + Tailwind encapsulados em @moldape/ui. |
ADR-0007 |
| Desenho preciso em escala | Canvas 2D (Konva) em proporção A4 no navegador; PDFs de produção gerados no servidor. | ADR-0008 |
| Documentação que não envelhece | Docs-as-code com Starlight no monorepo. | ADR-0009 |

Desenvolvido e documentado porNós Tecnologia · Desenvolvimento Criativo

