Skip to content

Um microsserviço de enviar email com filas, desenvolvido usando Spring Boot, Arquitetura Limpa. Testes Unitários e as ferramentas de mensageria da AWS chamadas AWS SNS e AWS SQS

Notifications You must be signed in to change notification settings

ocsoares/AWS-Email-Sending-Microservice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWS Email Sending Microservice

NPM

Autor

👤 Cauã Soares

💼 https://www.linkedin.com/in/ocauasoares

Sobre o projeto

Deploy na plataforma Render:

🚀 https://aws-email-sending-microservice.onrender.com/swagger-ui/index.html

Esse é um microsserviço de enviar email com filas, desenvolvido usando Arquitetura Limpa e as ferramentas de mensageria da AWS chamadas AWS SNS e AWS SQS.

⚠️ ATENÇÃO: O email definido no deploy para enviar os emails é: nodevalidation12@gmail.com

Estrutura do projeto

Estrutura

Esse projeto foi desenvolvido para usar as técnicas de mensageria, então autenticação nas rotas não foi o foco principal. Porém, foi implementado os testes unitários em todo o projeto.

Publish e Consumer das filas

Pastas

Pastas do Publish e Consumer

Trechos de códigos

Publish

Trecho de código do Publish

Consumer

Trecho de código do Consumer

Javamail service

Trecho de código do Javamail service

AWS SQS Queues

AWS SQS Queues

Testes

Trechos de códigos

Javamail

Teste do Javamail

AWS SQS Consumer

Teste do AWS SQS Consumer

Principais tecnologias e bibliotecas utilizadas

  • Java 21
  • Spring Boot 3.2
  • Docker
  • AWS SNS
  • AWS SQS
  • Javamail
  • PostgreSQL
  • JPA
  • JUnit 5
  • Swagger (documentação)

Características e funcionalidades do projeto:

Estrutural 🛠️

  • Clean Code
  • SOLID
  • Clean Architecture
  • PostgreSQL usado no Docker

Funcionalidades 🎯

  • O usuário pode enviar um email para qualquer outro email que especificar no body da requisição.
  • O email que será responsável por enviar é definido por meios das variáveis de ambiente e passados para o serviço do Javamail.

Documentação

Documentação feita com a ferramenta Swagger na rota /swagger-ui/index.html

Documentação

Executar o projeto localmente

Pré-requisitos: Java 21, Maven e Docker

# clonar o repositório
git clone https://github.com/ocsoares/AWS-Email-Sending-Microservice

# instalar as dependências do pom.xml

# configurar as variáveis de ambiente do arquivo application.properties

# iniciar o container do docker
docker-compose up

# buildar e executar o projeto

About

Um microsserviço de enviar email com filas, desenvolvido usando Spring Boot, Arquitetura Limpa. Testes Unitários e as ferramentas de mensageria da AWS chamadas AWS SNS e AWS SQS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published