O primeiro caso de uso seria o start da arquitetura do microservice. Onde várias decisões de design e arquitetura serão tomadas, além de integrar com outros serviços e ferramentas.
Fase 1
- Criar migrations para a tabela de customers
- Criar model de customer
- Criar adapter repository postgres para customer
- Criar caso de uso para cadastrar customer
- Criar estrutura do evento de cadastro de customer.created
- Criar service para publicar o evento e persistir o customer
Fase 2
- Criar arquivo de proto para customer
- Criar service gRPC com reflection service
- Criar controller para cadastro de customer
- Criar validacao de dados no request do controller
Fase 3
- Criar docker-compose para rodar o kafka
- Criar producer para publicar eventos no kafka
- Publicar evento
customer.created
pelo producer
Fase 4
- Criar testes unitários
- Criar testes de integração
- Criar testes AB