Este projeto foi desenvolvido por Igor de Campos com o objetivo de testar suas habilidades lógicas e experiências em programação, especificamente em microserviços. O sistema básico criado permite a criação de usuários e o envio de emails para eles.
O microserviço de criação do usuário tem como principal objetivo criar um usuário e enviar um email de validação para ele. Embora seja um projeto relativamente simples, é importante analisar questões que demandam tempo de desenvolvimento, como:
- Validação dos campos;
- Documentação dos controladores e possíveis exceções;
- Envio e captação de mensagens usando RabbitMQ e conceitos de filas;
- Envio de email pelo sistema;
- Comunicação entre microserviços;
- Uso do Spring Actuator para acessar as rotas pelo Swagger e verificar os estados da aplicação;
- Logs para facilitar a depuração.
Os projetos estarão disponíveis no Swagger nas seguintes rotas:
- Swagger User-MS: clique aqui
- Swagger Email-MS: clique aqui
- SpringWolf User-MS: clique aqui
- SpringWolf Email-MS: clique aqui
- User-MS: clique aqui
- Email-MS: clique aqui
Acesse o link desse vídeo para poder gerar a credencial necessária para utilizar o projeto: aqui
configure as credenciais que estão definidas no: application.properties dos dois microserviços,e o docker compose. ajuste as credenciais que estão definidas como: SEU_EMAIL_AQUI e SUA_SENHA_AQUI dos arquivos ditos.
- docker
- jdk 17
- conta de email
execute:
docker compose up -d rabbitmq
docker compose up -d database
após isso,execute as classes principais dos microserviços, e aguarde o processo de inicialização,acesse o swagger para facilitar.
execute:
docker compose up
e aguarde o processo de inicialização dos containers.
curl --location 'http://localhost:8081/v1/auth/register' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "[email protected]",
"name": "test CHEFE"
}'