2. Restrições
Técnicas
Seção intitulada “Técnicas”| Restrição | Explicação |
|---|---|
| Sem provedor de nuvem proprietário (AWS, Azure, GCP) | Decisão de custo e de independência. Tudo roda em uma VPS (Contabo) gerenciada pelo Coolify. Ver ADR-0004. |
| TypeScript de ponta a ponta | Front, back e pacotes compartilhados em TS, com tipos de domínio em @moldape/types. |
| Node.js 20 em produção | Definido nos nixpacks.toml (nodejs_20). |
| PostgreSQL como única base relacional | Acessada exclusivamente via Prisma (@moldape/prisma). |
| Arquivos em volume local | Uploads e PDFs ficam no volume /app/uploads do serviço order-lifecycle e são servidos em /uploads/. |
| GraphicsMagick no container da API | Necessário para converter PDF em imagem (pdf2pic). |
Organizacionais
Seção intitulada “Organizacionais”| Restrição | Explicação |
|---|---|
| Time enxuto | Uma desenvolvedora principal (cerca de 97% dos commits), com apoio pontual. Isso favorece monorepo, convenções fortes e automação. |
| Repositório no Bitbucket | Pipelines do Bitbucket executam lint, testes e build. |
| Fornecedor responsável | Nós Tecnologia (pessoa jurídica) responde pela entrega ao cliente. |
Convenções
Seção intitulada “Convenções”- Conventional Commits como convenção de mensagem. Não há validação automática: o hook
pre-commitdo husky rodapnpm run buildepnpm run lint:fix; ocommit-msgnão está configurado. - Git Flow (
main,develop,feature/*,release/*,hotfix/*). - ESLint + Prettier compartilhados via
config/eslint-configeconfig/prettier. - Clean Architecture no
order-lifecycle:domain→application→infrastructure→presentation.

Desenvolvido e documentado porNós Tecnologia · Desenvolvimento Criativo

