Skip to content

Latest commit

 

History

History
75 lines (50 loc) · 1.72 KB

File metadata and controls

75 lines (50 loc) · 1.72 KB
title Code Architecture Overview
description Understanding the architecture and design principles of IDP-Core

IDP Core is a Spring Boot app built following the principles of the Hexagonal Architecture.

Key Technologies

  • Spring Boot 4
  • Spring Security
  • Spring Data JPA & PostgreSQL
  • Docker & Testcontainers library
  • Flyway

Sections

Architecture Principles

We strictly separate the Domain (Business Logic) from the Infrastructure (Technical concerns).

Hexagonal Architecture

flowchart LR
    A[Infrastructure - Input Ports] --> B[Domain - Core]
    B --> C[Infrastructure - Output Ports]

    subgraph A[Infrastructure - Input Ports]
        A1[REST API]
        A2[Controllers]
        A3[DTOs]
    end

    subgraph B[Domain - Core]
        B1[Entities]
        B2[Services]
        B3[Exceptions]
    end

    subgraph C[Infrastructure - Output Ports]
        C1[Database]
        C2[Repositories]
        C3[External APIs]
    end
Loading

Core Rules

  1. Dependency Rule: Infrastructure depends on Domain. Domain depends on nothing.
  2. Testing: Domain is unit-tested. Infrastructure is integration-tested in addition.