Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/avm-sistemas/nestjs-mail-broker
Build a broker-type system that consists of a microservice for sending emails to a queue service and another microservice that listens to a message pattern and sends it itself via SMTP so that it can be scaled and the message is not lost if the sending fails.
https://github.com/avm-sistemas/nestjs-mail-broker
hacktoberfest maildev nestjs rabbitmq rabbitmq-consumer self-hosted swagger
Last synced: 11 days ago
JSON representation
Build a broker-type system that consists of a microservice for sending emails to a queue service and another microservice that listens to a message pattern and sends it itself via SMTP so that it can be scaled and the message is not lost if the sending fails.
- Host: GitHub
- URL: https://github.com/avm-sistemas/nestjs-mail-broker
- Owner: avm-sistemas
- License: gpl-3.0
- Created: 2024-10-09T09:45:41.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-10-09T21:18:31.000Z (4 months ago)
- Last Synced: 2025-01-17T15:54:49.180Z (20 days ago)
- Topics: hacktoberfest, maildev, nestjs, rabbitmq, rabbitmq-consumer, self-hosted, swagger
- Language: TypeScript
- Homepage:
- Size: 1.39 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NestJs Mail Broker
## Concept
Build a broker-type system that consists of a microservice for sending emails to a queue service and another microservice that listens to a message pattern and sends it itself via SMTP so that it can be scaled and the message is not lost if the sending fails.
## Layers
- [RabbitMQ](https://www.rabbitmq.com/)
- [Maildev](https://maildev.github.io/maildev/)
- [Broker Emiter Rest API](broker-emiter/README.md)
- [Broker Consumer](broker-consumer/README.md)## Build & Publish
```bash
> git clone https://github.com/avmesquita/nestjs-mail-broker.git
> cd nestjs-mail-broker
> docker-compose build --no-cache --pull
> docker-compose -d up --force-recreate
```## Development Documentation
- [Broker Emiter Rest API](broker-emiter/documentation/index.html)
- [Broker Consumer](broker-consumer/documentation/index.html)
## Resources
![Broker Emitter](assets/broker-emiter.png)
![Broker Consumer](assets/broker-consumer-console-log.png)
![RabbitMQ Queues](assets/rabbitmq-queues.png)
![Maildev Inbox](assets/maildev-delivered.png)