AlmaSpot

3. Architecture

Index

  1. Analysis
  2. Design
  3. Architecture
  4. Implementation
  5. DevOps
  6. License
  7. Deployment

3.1. Physical Architecture

The system is a Client-Server application running in a containerized environment. The system is composed of four main parts:

3.2. Logical Architecture

Within each specific Bounded Context, we applied Hexagonal Architecture principles to protect the Domain Model from technological coupling. Each module is divided into three concentric layers:

  1. Domain layer (inner layer): contains Entities, Value Objects, and business invariants. It is entirely free of external dependencies. This is where the interfaces (Ports) for external services are defined.
  2. Application layer (middle layer): contains Domain Services that implement the use cases. It coordinates the data flow using domain entities without knowing the details of the implementation.
  3. Infrastructure layer (outer layer): contains the concrete implementations of the interfaces defined in the domain. This includes controllers, Repositories, and clients for third-party services.

Below is an example architecture diagram for the Core context.

Core context architecture diagram