Git Product home page Git Product logo

alexandrecamelo / conjunto-microservicos-clientes Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 66 KB

Microserviço que faz parte de um pequeno sistema de 4 microserviços, interdependentes. Sendo eles: 1) Microserviço Spring Eureka; 2) Microserviço Spring Gateway; 3) Microserviço Clientes; 4) Microserviço Envio de Emails.

Java 100.00%
keycloak microservices rabbitmq spring-boot spring-cloud-eureka spring-cloud-feign spring-cloud-gateway spring-mail

conjunto-microservicos-clientes's Introduction

conjunto-microservicos-clientes

Esse projeto faz parte de um conjunto de 4 projetos/microserviços, que estão publicados, aqui, em meu repositório. Faça um clone dos 4 e siga as instruções, abaixo.

Os microserviços foram construídos com o Spring Boot e funcionam em conjunto com o RABBITMQ e o KEYCLOAK. Dessa forma, para que o conjunto completo de microserviços funcione corretamente, você precisará subir cointainers docker, contendo essas duas aplicações.

Na data da publicação desse repositório (dezembro/2022), os comandos docker para subir esses dois serviços, são:

docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.11-management
e
docker run -p 8802:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:20.0.2 start-dev

Após subir o RABBITMQ, você deverá criar uma fila, chamada 'diehardemail' (sem aspas).

Após subir o KEYCLOAK, você deverá configurar um novo REALM, chamado 'keycloak_diehardweb' (sem aspas) e, dentro dele, criar um client, chamado 'diehardemails' (sem aspas).

Não entrarei em detalhes sobre como configurar essas duas aplicações, pois isso foge ao escopo. Caso não saiba fazer isso, entre nos seus respectivos sites e leia suas documentações (https://www.keycloak.org/ e https://www.rabbitmq.com/).

Na documentação, verifique, PRINCIPALMENTE, qual é a URI para solicitar o token de autenticação, no KEYCLOAK. O token será necessário para que você consiga fazer as requisições aos serviços.

OBS: suba os containers RABBITMQ e KEYCLOAK, ANTES de subir os 4 microserviços, abaixo. Caso não faça isso, erros ocorrerão.




Para que cada microserviço funcione adequadamente, todos eles deverão estar em funcionamento, ao mesmo tempo.

Os microserviços são:

  1. conjunto-microservicos-eureka;

  2. conjunto-microservicos-gateway;

  3. conjunto-microservicos-envio-emails;

  4. conjunto-microservicos-clientes.

Obs: para que não haja erros, eles deverão ser executados na ordem acima.

Os endpoints que você poderá acessar, são:

http://localhost:8801/emails/enviar (POST)
http://localhost:8801/clientes/enviarEmail (POST))
http://localhost:8801/clientes/enviarEmailMensageria (POST))

Em cada uma das requisições, acima, você deverá colocar um objeto 'Emailenviar' em seu corpo.

O modelo desse objeto está no arquivo 'objEmailEnviar.txt', que está na raiz do projeto conjunto-microservicos-envio-emails. Ele já está no formato JSON, prontinho para você copiar e colar, no seu client rest (recomendo o INSOMNIA, pois o POSTMAN não reconheceu os tokens de autenticação).

O objeto possui alguns campos de configuração do email, para que seja possível seu envio. Preencha esses campos, corretamente, de acordo com as instruções do seu servidor de email. O objeto também possui campos para preenchimento dos dados do email, tais como: remetente, destinatário, assunto, corpo, etc.

O corpo do email pode ser preenchido com instruções HTML, para formatação do mesmo.

Existem campos para confecção de uma assinatura ao final do corpo do email. A assinatura poderá ter, inclusive uma imagem.

conjunto-microservicos-clientes's People

Contributors

alexandrecamelo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.