Quem já buscou aprender DDD/SOLID com exemplos de código na internet, com certeza se deparou com distintas implementações, algumas mais puristas, outras nem tanto.
Conseguir atualizar e estender partes dos seus sistemas de forma gradativa é essencial para o sucesso dos mesmos. Separar bem os componentes, de forma desacoplada, ajuda no entendimento do código, nos testes de unidade e inclusive em alterações maiores como versões ou alterações de dependências como middlewares http ou ORMs.
Bom, resolvi implementar um exemplo simples, começando com testes(jest) das regras de negocio(entidades) e depois implementando as rotas, controladores, repositórios e etc. Achei que ficou bem legal, da uma olhada lá! :).