- Implementar uma arquitetura baseada em clean architecture
- Meditar sobre principais trade-off
- Meditar sobre os ganhos/pontos positivos
- Documentar todas as decisões (ou tentar) no README
- A implementação do projeto deve ser "by the book"
Responsável por todas as regras de negocio
Descreve a intenção do usuário por exemplo: criar usuário, enviar e-mail, remover item do carrinho de compras
Composta por frameworks e ferramentas como o Banco de Dados, o Web Framework, etc.

Inicie DynamoDB local
docker-compose upIniciar API local
sam local start-api --template sam.jvm.yaml- Mudar estrutura do projeto de pacotes para modulos, vantagens:
- Separa responsabilidades de forma mais organizada, contribui para "screaming architecture".
- Evita que camadas de alto nível tenham contato com tecnologias de baixo nível e acessem camadas de baixo nível.
- Isola problemas de configuração de framework na camada de mais baixo nível.
- Pattern usado na camada domain Gateway Pattern