An open API service indexing awesome lists of open source software.

https://github.com/kauahenriquegoncalves/user-email-rabbitmq

A microservice-based project that handles user creation and sends confirmation emails. Built with RabbitMQ for reliable message driven communication between services.
https://github.com/kauahenriquegoncalves/user-email-rabbitmq

consumer maven message-queue postgresql producer rabbitmq smtp spring-boot spring-validation

Last synced: 25 days ago
JSON representation

A microservice-based project that handles user creation and sends confirmation emails. Built with RabbitMQ for reliable message driven communication between services.

Awesome Lists containing this project

README

          

# user-email-RabbitMQ
A microservice-based project that handles user creation and sends confirmation emails. Built with RabbitMQ for reliable message driven communication between services.

## Features

- Create User
- Email Notification with integration on RabbitMQ to send messages to a microservice responsible.

## Tech Stack

- Java 17+
- Maven
- Spring Boot (JPA, Web, Validation, SMTP)
- RabbitMQ
- Postgres

## Flow Microservice

User MS create a user, sending to RabbitMQ and Email MS consumer the queue

```mermaid
flowchart LR
User_ms_Producer[User MS Producer]
routerA[RabbitMQ queue]
Email_ms_Consumer[Email MS Consumer]

User_ms_Producer --> routerA
routerA --> Email_ms_Consumer
```

## End-point

### 1. Create User (Public)

**POST** `/user`

Request:

```json
{
"name": "Test",
"email": "test@email.com"
}
```

You will then receive an email confirming your account creation.