Skip to content

Commit

Permalink
docs: add brief architecture outline
Browse files Browse the repository at this point in the history
  • Loading branch information
LordTermor committed May 24, 2024
1 parent 272c2cf commit f7f1a3a
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions docs/development/ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<div align="center">
<img src="../../frontend/public/logo-full.png" alt="drawing" width="200"/>
</div>

#

<div align="center">
Architecture outline
</div>

## Introduction

This is an overview of the b[x] architecture for daemon components. This should make it easier for contributors to understand the specifics of this project's layout and design.

## Core Components

C++ daemon is developed with Domain-Driven Design principles in mind and split into 3 layers:

- **Domain layer**:
- `core/domain` - business logic (entities, value objects, repositories)
- **Application layer**:
- `core/application` - application layer that is used to orchestrate the business logic (DTOs, Services)
- **Infrastructure layer**:
- `persistence` - persistence logic implementation (databases, configuration)
- `infrastructure` - infrastructure logic implementation (application layer implementations, networking, events, notifications)
- `presentation` - presentation logic (http-controllers, filters, messages)

The code also contains `utilities` directory. It's for various cross-cutting concerns or third-party libraries bindings.

0 comments on commit f7f1a3a

Please sign in to comment.