This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

App Flow

A Brief App Overview.

Full Resolution

The Events Manager is responsible for exposing HTTP endpoints that the Frontend can communicate with. This allows the Frontend to interact with the Events Manager by making HTTP requests.

Events Manager publishes events to the Notifier using a message broker (In this case RabbitMQ).


Flow Overview

Frontend communicates with the Events Manager

The Frontend talk with the Events Manager by sending HTTP requests. These requests perform operations like creating new events, updating existing events, or retrieving events information.

Events Manager processes the requests

The Events Manager receives the HTTP requests from the Frontend and processes them accordingly. It performs the necessary action. Then Events Manager publishes events to the Notifier through RabbitMQ:

After processing the requests, the Events Manager publishes relevant events to the Notifier microservice using RabbitMQ. RabbitMQ acts as a message broker, facilitating the communication between the Events Manager and the Notifier. The Events Manager sends messages containing event data to a specific RabbitMQ exchange, which routes the messages to the appropriate queues.

Notifier consumes events

The Notifier consumes the events by receiving messages from the queue. The Notifier then processes these events.

1 - Events Manager

The Events Manager is a crucial component of the application and holds control over events and users. It consists of two main layers: the domain layer and the infrastructure layer.

Domain Layer

This layer handles the business logic. It manages events and users. Additionally, it emits events when specific actions occur, such as when an event is created, updated, or deleted. When a user registers for an event, an event is emitted as well. You can check use cases to make a better idea.

Infrastructure Layer

This layer deals with the implementation details of the Events Manager.

2 - Front

The Frontend is developed using Angular and tries to implement the same structure as is proposed.

3 - Notifier

The Notifier acts as a receiver for messages sent by the Events Manager. It registers handlers for specific types of messages and listens to specific queues within a message broker. When a message arrives, the Notifier executes the appropriate handler for that particular type of message. This allows the Notifier to perform actions based on the events received from the Events Manager, such as sending notifications to users.

Domain Layer

This layer handles the business logic.

You can check use cases to make a better idea.

Infrastructure Layer

This layer deals with the implementation details of the Events Manager.

The most interesting is the listener.