Projeto prático desenvolvido em Node.js e TypeScript para estudar Clean Architecture.
-
Domínio
Bounded contexts desales, com os módulos:checkoutcustomerproduct
-
Usecase
Orquestração das entidades do domínio para atender as intenções do usuário. -
Infraestrutura
API e implementação dos repositories.
O projeto utiliza o Notification Pattern para tratar e agregar erros de validação, centralizando mensagens de erro. Também utiliza validators com Yup no domínio para produtividade, promovendo baixo acoplamento entre as regras de validação e as entidades.
Testes: Unit (51), Integration (19), E2E (6)
Os testes seguem o padrão AAA (Arrange, Act, Assert) abrangendo os níveis:
- Testes unitários
- Testes de integração
- Testes end-to-end (e2e)
Para testar arquivos de uma pasta:
npx jest src/usecase/customer/findPara rodar todos os testes:
npm run testBaseado em Domain-Driven Design (DDD), tomando como referência este projeto original DDD.