Skip to content

teuzowebdeveloper9/ms_email

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ms_email-user Microservice

This project is marked with ms_ in its repository name to indicate that it's an implementation of a microservice architecture. The email-user microservice is responsible for creating users and send a MESSAGE to a queue in rabbit MQ

Microservice Architecture

The microservice architecture is a powerful approach that allows for the decoupling of different functionalities. In this project, we've separated the user creation and email notification services. This separation ensures that if one microservice (e.g., user creation) experiences issues, it won't affect the other services. This robustness is one of the main reasons why microservice architecture is widely used in modern software development.

Features

  • User creation via POST request
  • Automatic email notification upon user creation
  • Integration with RabbitMQ for message queuing

API Endpoints

  • POST http://localhost:8080/users/: Creates a new user and triggers an email notification

Message Queue

This microservice uses RabbitMQ for message queuing. The message queue can be monitored at https://toad.rmq.cloudamqp.com/#/queues

Project Structure

The project follows a comprehensive folder structure:

  • configs: Contains RabbitMQ configuration
  • dtos: Data Transfer Objects for controlling the flow in the controller, ensuring only necessary data is transferred
  • models: Responsible for creating the table in the PostgreSQL database
  • producer: Handles sending messages to RabbitMQ
  • repository: Manages data persistence in the database
  • service: Processes data and prepares messages before sending them to RabbitMQ

Technologies Used

  • Spring Boot
  • PostgreSQL
  • RabbitMQ
  • Docker (for containerization)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages